Hyper-V and Dynamic Memory in Depth
Dr. Eduardo Castro Martínez
Microsoft MVP
ecastro@grupoasesor.net

http://comunidadwin...
Agenda

• Windows 2008 R2 SP1 Overview
• Users, Memory & Virtualization
• Dynamic Memory
   – Architecture & Concepts
   –...
Windows 2008 R2 SP1 Overview

• New capabilities that will enhance both virtualized server
  and virtualized desktop deplo...
Users, Memory & Virtualization
No one can size VMs

•   How much memory does an IIS server actually need?
•   SQL Server
•   Print server?
•   File serve...
No one wants to size VMs

“New virtual machines get 1GB of RAM [no matter what the
VM is running]. I only give people more...
Virtualization and memory

• Use physical memory as efficiently and dynamically
  as possible with minimal performance imp...
Virtualization & Memory

• Memory
   – Key factor to the number of running VMs
   – Possibly most expensive asset in syste...
Virtual Machine Performance & Density




 • Hyper-V Dynamic Memory is a memory management
   enhancement for Hyper-V desi...
Hyper-V R2 SP1
Dynamic Memory
Dynamic Memory Goals

• Higher VM consolidation ratios with minimal
  performance impact
   – Dependent on:
      • How mu...
Adding/Removing Memory

• Adding Memory
   – Enlightened fashion
      • Synthetic Memory Driver (VSP/VSC Pair)
   – No ha...
System Requirements

• Parent Requirements:
   – Windows Server 2008 R2 SP1
   – Microsoft Hyper-V Server 2008 R2 SP1
• Wi...
Dynamic Memory Architecture &
Concepts
Provided by:


Dynamic Memory Architecture                                                          OS
                   ...
Example
0                         512 MB                              1024MB



                                          ...
Startup & Max


• Startup: amount of memory to boot
  VM
  – BIOS does not know about DM
  – Guest OS may not know about D...
Availability & Priority

• Availability is a concept
   – How much memory does the VM have?
   – How much memory does the ...
Memory Buffer

• How much “free” memory should we try and keep in the
  VM?
   – Allows for responsiveness to bursty workl...
Dynamic Memory




   • DEMO
System Impact
Changes to Root Reserve

• Hyper-V has always had the concept of a reserve of
  memory that is kept for the parent partiti...
Changes to NUMA management…

• Wait – what is NUMA?
• Why do I care?
• How does this work today?
What is “NUMA”?

• A traditional computer:
What is “NUMA”?

• A NUMA computer:
Why do I care?

• VM memory should come from the “local NUMA node”
Why do I care?

• VM memory should come from the “local NUMA node”
How does this work today?


• Hyper-V tries to get all memory for a virtual machine
  from a single NUMA node
• When it ca...
Changes to NUMA management

• Dynamic memory can result in more virtual machines
  spanning NUMA nodes
   – A virtual mach...
Disabling NUMA Spanning

• Makes the system behave like multiple small computers
Memory Techniques / Competition
Understanding philosophical differences

• Microsoft
  – Understands what guest information to use
      • Building on top...
Dynamic Memory, not Overcommit

• Overloaded Term
   – Page Sharing
   – Second Level Paging
   – Balloon Type Mechanisms
...
External Page Sharing

• How it works:
   1. Hash all memory and store it in a table…
   2. Identify the common hashes and...
Second Level Paging

• Many problems:
   – Swapping Guest Kernel Resources
   – Double Paging
   – Disks are slow
• But it...
Other Techniques

• Guest directed page sharing
• Memory compression
• And on…

• We will continue to invest here and work...
What next?
Test the beta – and talk to us!

• Try Dynamic Memory out – for both server and desktop
  environments
   – Let us know ho...
More Resources

  Virtualization @ Microsoft:
  http://www.microsoft.com/virtualization
  Hyper-V on TechNet:
  http://tec...
Source Info




   www.microsoft.com/teched      www.microsoft.com/learning




  http://microsoft.com/technet   http://mi...
Hyper-V and Dynamic Memory in Depth
Dr. Eduardo Castro Martínez
Microsoft MVP
ecastro@grupoasesor.net

http://comunidadwin...
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Upcoming SlideShare
Loading in …5
×

Dynamic Memory Management HyperV R2 SP1

2,738 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,738
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
50
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dynamic Memory Management HyperV R2 SP1

  1. 1. Hyper-V and Dynamic Memory in Depth Dr. Eduardo Castro Martínez Microsoft MVP ecastro@grupoasesor.net http://comunidadwindows.org http://ecastrom.blogspot.com
  2. 2. Agenda • Windows 2008 R2 SP1 Overview • Users, Memory & Virtualization • Dynamic Memory – Architecture & Concepts – System Impact • Memory Techniques / Competition
  3. 3. Windows 2008 R2 SP1 Overview • New capabilities that will enhance both virtualized server and virtualized desktop deployments – 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. – Hyper-V Dynamic Memory: With Hyper-V Dynamic Memory, Hyper-V will enable greater virtual machine density suitable for servers and VDI deployments.
  4. 4. Users, Memory & Virtualization
  5. 5. No one can size VMs • How much memory does an IIS server actually need? • SQL 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?
  6. 6. No one wants to size VMs “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”
  7. 7. Virtualization and memory • Use physical memory as efficiently and dynamically as possible with minimal performance impact. – Customers investing in virtualization hosts are purchasing systems with larger memory configurations (32 GB, 64 GB, 128 GB and more) and want to fully utilize this system asset. – At the same time, they’re purchasing this memory to provide superior performance and to avoid paging. • Provide consistent performance and scalability. – One frequent comment from virtualization users is that they don’t want a feature with a performance cliff or inconsistent, variable performance.
  8. 8. Virtualization & Memory • Memory – Key factor to the number of running VMs – Possibly most expensive asset in system • Customer Requirements – Maximum density, without sacrificing performance – Maintain consistent performance – Don’t provide a feature that’s unsuitable for production use
  9. 9. Virtual Machine Performance & Density • Hyper-V Dynamic Memory is a memory management enhancement for Hyper-V designed for production use that enables customers to achieve higher consolidation/VM density ratios
  10. 10. Hyper-V R2 SP1 Dynamic Memory
  11. 11. 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 • Pass the “that looks right” test
  12. 12. Adding/Removing Memory • Adding Memory – Enlightened fashion • Synthetic Memory Driver (VSP/VSC Pair) – No hardware emulation – Light weight • Removing Memory – Wanted to remove memory – Ballooning is more efficient • Messes up task manager in the guest OS
  13. 13. System Requirements • Parent Requirements: – Windows Server 2008 R2 SP1 – Microsoft Hyper-V Server 2008 R2 SP1 • 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
  14. 14. Dynamic Memory Architecture & Concepts
  15. 15. Provided by: Dynamic Memory Architecture OS Microsoft Hyper-V Dynamic Memory Components Guest Applications VMWP Memory Balancer DM VDEV/VSP User VMMS Interface Mode Memory GMO Balancer Memory Manager Windows Windows Kernel Mode Kernel Kernel DM VSC VID VMBus VMBus Hypervisor
  16. 16. Example 0 512 MB 1024MB Hot-add VM Memory Ballooned Memory VM Memory Parent Memory Second VM Memory Hot-add
  17. 17. 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
  18. 18. Availability & Priority • Availability is a concept – How much memory does the VM have? – How much memory does the VM want? – The difference is the availability • Priority: which VM gets the memory first – 1-10,000: default is 5,000 – The higher the priority, the higher the availability
  19. 19. Memory 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”
  20. 20. Dynamic Memory • DEMO
  21. 21. System Impact
  22. 22. Changes to Root Reserve • Hyper-V has always had the concept of a reserve of memory that is kept for the parent partition • 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
  23. 23. Changes to NUMA management… • Wait – what is NUMA? • Why do I care? • How does this work today?
  24. 24. What is “NUMA”? • A traditional computer:
  25. 25. What is “NUMA”? • A NUMA computer:
  26. 26. Why do I care? • VM memory should come from the “local NUMA node”
  27. 27. Why do I care? • VM memory should come from the “local NUMA node”
  28. 28. 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
  29. 29. 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
  30. 30. Disabling NUMA Spanning • Makes the system behave like multiple small computers
  31. 31. Memory Techniques / Competition
  32. 32. Understanding philosophical differences • Microsoft – Understands what guest information to use • Building on top of guest OS knowledge – Trying to get the “best bang for buck” in virtual memory management • VMware – Does not trust guest information • Building a “black box” solution – Started with memory swapping, and digging out of the hole
  33. 33. Dynamic Memory, not Overcommit • Overloaded Term – Page Sharing – Second Level Paging – Balloon Type Mechanisms • 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) • DM treats memory like we treat CPU resources – Dynamically schedulable resource
  34. 34. External Page Sharing • How it works: 1. Hash all memory and store it in a table… 2. Identify the common hashes and then… 3. Perform a bit by bit comparison • What VMware doesn’t tell you… – Page Sharing not dynamic – Can take hours to share pages – The largest benefit are zero pages – Doesn’t work with large pages
  35. 35. Second Level Paging • Many problems: – Swapping Guest Kernel Resources – Double Paging – Disks are slow • But it always works…
  36. 36. Other Techniques • Guest directed page sharing • Memory compression • And on… • We will continue to invest here and work on identifying the best techniques for customer work loads
  37. 37. What next?
  38. 38. Test the beta – and talk to us! • Try Dynamic Memory out – for both server and desktop environments – Let us know how DM is working for you – Let us know if you think we have something wrong
  39. 39. More Resources Virtualization @ Microsoft: http://www.microsoft.com/virtualization Hyper-V on TechNet: http://technet.microsoft.com/library/cc753637(WS.10).aspx Virtualization Team Blog: http://blogs.technet.com/b/virtualization/ http://blogs.msdn.com/b/virtual_pc_guy
  40. 40. Source Info www.microsoft.com/teched www.microsoft.com/learning http://microsoft.com/technet http://microsoft.com/msdn
  41. 41. Hyper-V and Dynamic Memory in Depth Dr. Eduardo Castro Martínez Microsoft MVP ecastro@grupoasesor.net http://comunidadwindows.org http://ecastrom.blogspot.com
  42. 42. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×