380 likes | 569 Views
PRC301. Beyond the cloud: Hyper-V and Dynamic Memory “under the hood”. Bryon Surace Senior Program Manager Windows Server, Hyper-V Microsoft. Agenda. History Hyper-V R2 SP1 Memory & Virtualization Memory Optimization Techniques Hyper-V Dynamic Memory Architecture & Concepts Demo
E N D
PRC301 Beyond the cloud:Hyper-V and Dynamic Memory “under the hood” Bryon Surace Senior Program Manager Windows Server, Hyper-V Microsoft
Agenda • History Hyper-V R2 SP1 • Memory & Virtualization • Memory Optimization Techniques • Hyper-V Dynamic Memory • Architecture & Concepts • Demo • System Impact • Q&A
Windows Server & RemoteFX Windows Server & RemoteFX Traditional PC Traditional PC RemoteFX Clients Traditional Productivity Apps Requires a local IT Pro. Powerful Microsoft Silverlight Manageable from anywhere. Consumes ~170W. Flexible Microsoft RemoteFX DirectX Apps Power footprint is shared (~50W/user). Cannot meet certain regulatory reqs. Diverse Windows Media Helps meet regulatory reqs. Vulnerable to hardware failures. Versatile Aero Glass Recoverable from hardware failures. Portable Limited to PC form factors. Adobe Flash Enables full range of client form factors.
Deployment Considerations • Simple integration with inbox tools • Server Manager • Hyper-V Manager – shows up as a 3D video adapter • WMI, Power shell support • Performance and Scale • Will have performance whitepaper, planning and deployment guides before SP1 RTM • Migration • RemoteFX for VDI is targeted at new deployments • New HW requirements require new server deployments • Can have a mix of RemoteFX enabled and non-RemoteFX VMs on the same server • Supports Live Migration across servers – requires identical GPUs
Virtualization & Memory • How much memory does a server actually need? • IIS Server? • Print server? • File server? • Branch Cache? • Direct Access? • How much will performance be affected if you halved the amount of memory in a VM?
No one wants to size VMs Memory “New virtual machines get 1GB of RAM [no matter what the VM is running]. I only give people more memory if they complain about performance” “All VMs get 4GB of RAM [I have no idea what is happening with that memory] and no one complains” “I take the minimum system requirements and add (insert one: 50%, 100%, 150%)” “A vendor tells me their app needs 4GB of RAM. I do not have the time to test this to find out if it is true or not”
Virtualization & Memory • Memory • Key Factor to the number of running VMs • The most utilized asset in the system, but also a more expensive asset • Statistics on resource utilization of workloads • CPU 10% • Memory 40% • Network I/O <5% • Disk I/O <5% • Customer Requirements • Maximum density, without sacrificing performance • Maintain consistent performance • Don’t provide a feature that’s unsuitable for production use
Dynamic Memory Goals • Higher VM consolidation ratios with minimal performance impact • Dependent on: • How much variation in memory utilization the workloads have • How good a job you did of sizing the systems in the first place • Work well for both server and desktop workloads • Add minimal overhead to the system
Understanding philosophical differences • Host and Guest Collaborate • Understands what guest information to use • Trying to get the “best bang for buck” in virtual memory management • Host works in Isolation • Does not trust guest information • Building a “black box” solution
Dynamic Memory, not Overcommit • Overloaded Term • Over-subscription vs. Over-committment • No one wants to overcommit their resource • You don’t overcommit other resources (really – you do not) • VMware does not want you to overcommit memory (really) • Dynamic Memory treat memory like we treat CPU resources • Dynamically schedulable resource
Ballooning • How it works: • Increasing the size of the balloon forces the guest to react to memory pressure by releasing unused pages • Decreasing the size makes more memory available to the guest VM VM VM Swap In Swap Out Memory Memory Memory Balloon Balloon Balloon Disk Ballloon Disk Disk Deflate Deflate Inflate Host Computer Host Computer Host Computer
Second Level Paging • How it works: • Paging at the virtualization layer by swapping VMs memory out to disk • Many problems: • Swapping Guest Kernel Resources • Double Paging • Disks are slow • But it always works…
External Page Sharing • How it works: • Eliminate redundant copies of memory pages common to more than one virtual machine • Hash all memory and store it in a table… • Identify the common hashes and then… • Perform a bit by bit comparison • Problems • Page Sharing not dynamic • Can take hours to share pages • The largest benefit are zero pages • Doesn’t work with large pages
System Requirements • Parent Requirements: • Windows Server 2008 R2 SP1 • Microsoft Hyper-V Server 2008 R2 SP1 • Guest Requirements: • Windows Server 2003, 2008 & 2008 R2 • 32-bit & 64-bit versions • Windows Vista and Windows 7 • Enterprise and Ultimate Editions only • 32-bit & 64-bit versions
Adding/Removing Memory • Adding Memory • Enlightened fashion • Synthetic Memory Driver (VSP/VSC Pair) • No hardware emulation • Light weight • Removing Memory • Ballooning is more efficient • Messes up task manager in the guest OS
Adding/Removing Memory • Active Memory addition • Memory is added immediately when VM needs it • Passive Memory reclamation • Memory is not removed when there is no immediate need • Unutilized memory is collected every 5 minutes
Startup & Max • Startup: amount of memory to boot VM • BIOS does not know about DM • Guest OS may not know about DM • Default: 512MB • Max: don’t let the VM above this amount • Default: 64GB
Memory Buffer & Priority • Buffer: How much “free” memory should we try and keep in the VM? • Allows for responsiveness to bursty workloads • Can be used for file cache “I like to configure my virtual machines so that they have ~20% free memory” • Priority: which VM gets the memory first • 1-10,000: default is 5,000 • The higher the priority, the higher the availability
Changes to Root Reserve • Hyper-V has always had the concept of a reserve of memory that is kept for the parent partition • Host Reserve - Auto-calculated based on: • If the machine SLAT capability • Total size of host RAM • NUMA architecture Memory utilized by VMs Host Reserve VM Overhead VM Reserve
Changes to Root Reserve • DM allows VMs to push up against the reserve consistently • New behavior to better protect the parent partition from rampaging virtual machines • New registry key in place • Allows you to reserve static memory for the parent partition • May result in less memory being available for VMs
Changes to NUMA management… • Wait – what is NUMA? • Why do I care? • How does this work today?
What is “NUMA”? • A traditional computer: VM VM VM VM VM VM VM VM Computer Memory BUS CPU CPU CPU CPU
What is “NUMA”? • A NUMA computer: VM VM VM VM VM VM VM VM Computer Back Channel Memory Memory BUS BUS CPU CPU CPU CPU Node 1 Node 2
Why do I care? • VM memory should come from the “local NUMA node” VM VM VM VM VM VM VM VM Computer Good! Back Channel Memory Memory BUS BUS CPU CPU CPU CPU Node 1 Node 2
Why do I care? • Ideally VM memory should come from the “local NUMA node” VM VM VM VM VM VM VM VM Computer Bad Back Channel Memory Memory BUS BUS CPU CPU CPU CPU Node 1 Node 2
How does this work today? • Hyper-V tries to get all memory for a virtual machine from a single NUMA node • When it cannot – the virtual machine “spans” NUMA nodes • Users can set preferred NUMA nodes for virtual machines in order to get the best distribution
Changes to NUMA management • Dynamic memory can result in more virtual machines spanning NUMA nodes • A virtual machine might start all on one node – but added memory might come from another node • New option to disable NUMA node spanning
Disabling NUMA Spanning • Makes the system behave like multiple small computers VM VM VM VM VM VM VM VM Computer Back Channel Memory Memory BUS BUS CPU CPU CPU CPU Node 1 Node 2
What next? • Try Dynamic Memory out – for both server and desktop environments! • Windows Server 2008 R2 SP1 (Trial) • Hyper-V Server 2008 R2 SP1 (Free)
Feedback Dear attendees! Your feedback is appreciated! In notepad that can be found in attendee’s infopack, you will find a feedback form Please, rate the session and pass the feedback formto the moderator on exit To take part in a lottery, please do not forget to mark the feedback form with the number of your badge Thank you!
Questions? • PRC301 • Bryon Surace • Sr. Program Manager, Windows Server Hyper-V • bryons@microsoft.com • You can ask your questions at Microsoft zone in Hall 17 within an hour after end of this session