Now, the two features, as it turns out, are very exciting in the context of you being a VDI user, because really on the cost side one of the challenges you have in VDI is when you have desktops, you have lots of desktops. And if each desktop requires a 2 gigabyte, for example, amount of memory, which is a good amount of memory to run Windows 7, then your server memory capacity is going to be stretched at a relatively short timeframe. So, given that in the desktop environment, not everybody is using their desktops at the same level at the same time, are there optimizations that we can do to fix that, and I think there are. So, the notion here is that while you should always size your systems relative to what your peak capacity is, and this Dynamic Memory doesn't help with peak capacity, you can definitely improve your capacity over time, given that some people are using their desktops, some people are being very intensive on what they're doing on the desktops, some people are being very light on what they're doing on the desktops, and some people frankly have their VDI desktops open but are in meetings and are not using it at all. So, depending on what the workload is on a specific desktop, the memory requirement changes. So, this Dynamic Memory feature really takes advantage of that fact, and dynamically sizes the memory of the virtual machine based on the requirements of that virtual machine.So, you set the little radio box here to dynamic, with some parameters around it, and Hyper-V begins controlling the memory management of Windows. So, when I go to a meeting and I'm not running anything, then that virtual machine will give back its memory back to the pool, and another virtual machine can use that memory. When I'm back and I'm loading multiple instances of Excel and doing lots of complex calculations, then Hyper-V will go ahead and give me back memory from the pool. So, what this feature really does is improve the overall capacity by recognizing that various workloads are sometimes strongly used, sometimes not used at all, and in aggregate the system can do a better job of memory management through the Hyper-V than within each one of the virtual machines. So, Dynamic Memory is an exciting feature coming in Windows Server 2008 R2 service pack 1. A second key feature here is really RemoteFX. Now, RemoteFX is really focused on the fact that the VDI user experience is a lower user experience than the PC user experience. There are some physics challenges, of course, associated with this, wide area networks in particular, and actually our partner Citrix is probably the leader in the market in terms of providing a wide area network experience. However, what we have done is really focused on a technology we call RemoteFX that improves over LAN networks the user experience, and in particular some of the key areas historically with a VDI experience that have been a challenge have included things like 3D graphics. So, if you are thinking about using a CAD/CAM or if you're thinking about using any 3D software in your VDI environment, it's historically been a challenge. And the RemoteFX technology, which comes from the acquisition of Calista that we made in 2008, really addresses that. RemoteFX technology builds on the notion that you install server-side graphics hardware, and by putting a server-side graphics card in, the computing of the graphics experience occurs on the server, and you can have a full fidelity graphics rich desktop piped to any type of device: thin client, PC, the whole lot. So, what you can see here on this small screenshot is full Aero glass. You get things like peek and thumbnails and the whole lot. And, in addition to that, your OpenGL, your direct 3D applications just work. So, the fidelity of the desktop experience is significantly higher for LAN environments using RemoteFX. And RemoteFX, in fact, is a very open protocol, and we have recently announced that our partner, Citrix, will be building support for RemoteFX into their HDX technologies. So, it's a very open environment, and we encourage that. So, once again, I just want to go back and really reinforce that Windows 7 service pack 1, as opposed to Windows Server 2008 R2 service pack 1, does not have any new features in it, okay? So, we are not adding features to Windows 7 service pack 1. It's all about updates. There's really no need to wait for it. It's not a big deal here, given that in this day and age updates are available to you through WSUS or through Windows Update, should you choose to use it, for the issues that are most important. So, Windows 7 service pack 1 is really not a big deal in terms of features; there aren't any. Windows Server 2008 R2 service pack 1, if you're not doing VDI, is also not a big deal in terms of features. If you are doing VDI, there's the great new features of RemoteFX and Dynamic Memory that really support my statements earlier, that Microsoft is absolutely embracing VDI, and we certainly want to be the technology with Citrix in many cases to enable that. So, to that exact point, certainly when you're comparing VMware versus Microsoft in the VDI space, then I would recommend you look at the combination of XenDesktop on top of Hyper-V. Remote FX: With Microsoft RemoteFX, users will be able to work remotely in a Windows Aero desktop environment, watch full-motion video, enjoy Silverlight animations, and run 3D applications within a Hyper-V VM – all with the fidelity of a local-like performance.
Migration of virtual machines that have RemoteFX enabled to a node that does not have RemoteFX enabled will fail. To live-migrate virtual machines that have RemoteFX enabled, all nodes must be capable of supporting RemoteFX, all nodes must use identical graphics processing units, and all nodes must have RemoteFX enabled. For details of the CPU requirements for RemoteFX, see see “Hardware Considerations for RemoteFX” at http://go.microsoft.com/fwlink/?LinkId=191918
Windows Server 2003 / Windows Server 2003 R2Update the integration services. Windows Server 2008Install sp2 and then install this hotfix: http://support.microsoft.com/kb/2230887 inside the virtual machine. Finally you will need to update the integration services. Windows Server 2008 R2Instead of updating the integration services – you need to install the release candidate of service pack 1 inside the virtual machine otherwise you get the following dummy error message even if you update the integration services.
Assigned memory : Physical memory used by the VM. The minimum value can be 5% and max 2000%. Assigned memory ideally is memory demand+memory buffer Memory demand: Total committed memory in the VM [memory needed to run with reasonable performance] and if this memory is less than assigned memory, VM will use guest paging and you will see a memory warning status in Hyper-V GUI.Memory status: Gives an indication about the memory status of VM for e.g. OK, Low, Warning.
This “ideal target memory value” is constantly changing as the virtual machine is running. Open a new program, the virtual machine needs more memory. Close a program and it needs less. However, it would not be a good idea to actually try and keep the virtual machine exactly at the ideal target memory value for a couple of reasons:This is where the memory buffer comes into play. The memory buffer allows you to specify how much “extra” memory a virtual machine should be given when we are moving memory around between virtual machines. By default this value is set to 20% – but you can make easily make it lower or higher.
The first thing to know is that this setting does not have any real effect if there is enough memory available on the physical computer. With enough memory available in the physical computer – all virtual machines can get the amount of memory that they want. However, when there is not enough memory available in the physical computer, Hyper-V needs to decide who gets the memory and who does not. And this is where the memory priority comes in to play.Specifically there are three effects:Higher priority virtual machines get given more memory. When memory is being given to virtual machines it is given to high priority virtual machines first.Memory is taken from lower priority virtual machines first. Similarly to the first point – when more memory is needed, it is taken from low priority virtual machines before it is taken from high priority virtual machines.The amount of memory removed from already running virtual machines when trying to start a new virtual machine depends on the memory priority of the new virtual machine.There is some extra information to know about this third point.The first is that – yes – Hyper-V will take memory away from already running virtual machines in order to let a new virtual machine start. That is unless the new virtual machine has a very low memory priority. The second is that this “startup effect” of memory priority also applies to virtual machines that do not have dynamic memory enabled. This is to say that if you have a mixture of virtual machines with and without dynamic memory enabled – the memory priority setting on the virtual machines without dynamic memory enabled will affect how much memory is removed from the dynamic memory enabled virtual machines when you try to start the virtual machines without dynamic memory enabled.
Microsoft® RemoteFX™ enables the delivery of a full Windows user experience to a range of client devices including rich clients, thin clients, and ultrathin clients. RemoteFX delivers a rich user experience for Virtual Desktop Infrastructure (VDI) by providing a 3D virtual adapter, intelligent codecs, and the ability to redirect USB devices in virtual machines. RemoteFX is integrated with the RDP protocol, which enables shared encryption, authentication, management, and device support. RemoteFX also delivers a rich user experience for session-based desktops and RemoteApp programs to a broad range of client devices.Knowledge workers who work on the applications that are available on virtual desktops. These applications may include the following:Silverlight and Flash applications3D applications built on DirectXUSB devices that are used on a virtual machineMicrosoft Office applicationsMedia player applicationsApplications that are hosted on the InternetLine-of-business applications
SLAT-enabled processor The processor in the RemoteFX server must support Second-Level Address Translation (SLAT). In virtualization scenarios, hardware-based SLAT support improves performance. On Intel processors, this is called Extended Page Tables (EPT), and on AMD processors, it is called Nested Page Tables (NPT).GPU At least one graphics processing unit (GPU) is required on the RemoteFX server. The GPU driver must support DirectX 9.0c and DirectX 10.0. If more than one GPU is installed in the RemoteFX server, the GPUs must be identical. The GPU must have sufficient dedicated video memory that is separate from system memory.
Not available in Web Server and Itanium.Microsoft tested 12 VM per GPU.Live Migration – Both must have the same GPU
Session Code: Implementing Hyper V Virtualization Service Pack 1 Lai YoongSeng Virtualization Consultant Redynamics Asia SdnBhd
Session Objectives and Takeaways Gain a better understanding of your application workload and increase density in Virtualization with Dynamic Memory RemoteFX
How much memory does a web server require ? How much memory does a domain controller require ? Vendor said “Recommended 2GB”
Access application slow ! 2GB of memory not sufficient as suggested by vendor! System overloaded when peak time !
Windows Server 2008 R2 SP1 Dynamic Memory RemoteFX Microsoft RemoteFXleverages the power of virtualized graphics resources and advanced codecs to recreate the fidelity of hardware-assisted graphics acceleration, including support for 3D content and Windows Aero, on a remote user’s device. This allows for a local-like, remote Dynamic Memory allows the allocation of a range of memory (min and max) to individual VMs, enabling the system to dynamically adjustthe VM’s memory usage based on demand. This provides more consistency in system performance enabling better manageability for administrators
Example: Without Dynamic Memory Hyper-V (2 GB) Hyper-V (2 GB) Unused (8 GB) Unused (8 GB) Wasted Wasted VM 4- 2 GB VM 2- 4 GB VM 3- 4 GB VM 1- 2 GB Physical Server (16 GB RAM) Physical Server (16 GB RAM) ClusterNode1 ClusterNode2
Example: With Dynamic Memory Hyper-V (2 GB) Hyper-V (2 GB) Unused (2 GB) DM: 4 GB DM: 2 GB VM 2- 4 GB VM 4- 2 GB DM: 2 GB DM: 2 GB VM 3- 4 GB VM 1- 2 GB Physical Server (16 GB RAM) Physical Server (16 GB RAM) ClusterNode1 ClusterNode2
Example: When Live Migration Hyper-V (2 GB) Hyper-V (2 GB) Unused (8 GB) Unused (2 GB) DM: 2 GB VM 4- 2 GB DM: 2 GB VM 2- 4 GB VM 3- 4 GB VM 1- 2 GB Physical Server (16 GB RAM) Physical Server (16 GB RAM) ClusterNode1 ClusterNode2
Dynamic Memory Example 0 512 MB 1024MB Hot-add VM Memory Ballooned Memory VM Memory Hot-add Second VM Memory Parent Memory
Supported Guest Operating System Windows Server 2003 Web, Standard, Enterprise & Datacenter (32-bit and 64-bit) Windows Server 2003 R2 Web, Standard, Enterprise & Datacenter (32-bit and 64-bit) Windows Server 2008 Web, Standard, Enterprise & Datacenter (32-bit and 64-bit) Windows Server 2008 R2 Web, Standard, Enterprise & Datacenter (64-bit) Windows Vista Enterprise & Ultimate (32-bit and 64-bit) Windows 7 Enterprise & Ultimate (32-bit and 64-bit) 13
How to Upgrade? Backup first – High priority ! Ensure Virtual Machine are ready for the update Completely shutdown. No Saved State VM Merge Snapshot Update the Host to SP1 RC Update the VM Integration Services
Enable Dynamic Memory Make sure the Virtual Machine is not running. Startup : Min 512 MB Maximum: default 64 GB
Memory Buffer Ideal target memory value is constantly change. Default is set to 20%
Memory Weight Memory weight determine who will get the memory. By default, all VM are created equal in term of memory prioritization. Rules of thumb:- Higher Priority will get memory 1st Taken from Lower Priority VM
Reserve Parent Partition Hyper-V (0 GB) DM: 4 GB Configure Hyper V parent partition to avoid freezes when Dynamic Memory VM’s use all RAM. HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion Virtualization RED_DWORD value Name = MemoryReserve Setting = amount of MB to reserve for the parent partition, e.g. 2GB RAM Lastly, Reboot server. VM 4- 4 GB DM: 4 GB VM 3- 4 GB Physical Server (16 GB RAM) ClusterNode1
RemoteFX Hardware Requirement RD Vitualization Host Server meet the following requirement SLAT enabled processor GPU . Minimum 1 and Maximum 4 identical GPU Hyper V Server
Supported Operating System Server operating system:- Windows Server 2008 R2 with SP1 – Standard/ Enterprise/ Datacenter Hyper V 2008 R2 + SP1 RemoteFX Virtual Desktop Windows 7 Enterprise/Ultimate with SP1 Client computer Any client computer with Remote Desktop Connection 7.1
Supported GPU Tested and Verified GPU AMD ATI FirePro – v5800, v7800, v8800 Driver version: 8.72- and 8.723 NvidiaQuadro – F5800, FX4800, FX 3800 Driver version : 195.62 and 196.21
Resources Lai's Blog –Virtualization & System Center www.ms4u.info Deployment Guide for Windows Server 2008 R2 with SP1 http://go.microsoft.com/fwlink/?LinkId=199955 Microsoft RemoteFX http://go.microsoft.com/fwlink/?LinkId=200307 Hyper V Dynamic Memory Evaluation Guide http://go.microsoft.com/fwlink/?LinkId=196615 Hardware Consideration for RemoteFX http://go.microsoft.com/fwlink/?LinkId=196610
Required slide Did you like this session? Please complete the evaluation form and return it to the track managers on your way out… You may be a lucky winner of some cool prizes!