Hyper-V Support for Scaling Up and Scaling Out Overview
Applies To: Windows Server 2012
The use of virtualization has gained widespread acceptance as a means for lowering costs through consolidation of multiple server roles, typically hosting utility and productivity applications. These workloads generally consume comparatively little in the way of CPU and memory resources, and generate only moderate amounts of I/O. To support these workloads, configuring a virtual machine to use 2 or 4 virtual processors and relatively modest amounts of memory is sufficient. Hyper-V in Windows Server 2008 R2 supports configuring virtual machines with a maximum of 4 virtual processors, and up to 64 GB of memory.
However, IT organizations are increasingly looking to leverage virtualization to deploy mission-critical, tier-1 business applications. These larger and more demanding workloads—including high-end, online transaction processing (OLTP) databases and online transaction analysis (OLTA) business intelligence solutions—are typically run on systems with 16 or more processors, and demand large amounts of memory. For example, for SQL workloads of this type, a general practice is to allocate 8 GB of memory per logical processor. For this class of workloads, fewer virtual machines would typically be run on each virtualization host, but each virtual machine would require more virtual processors and greater amounts of virtual machine memory than current less demanding workloads.
As workloads demand greater and greater system resources to run these business-critical applications, highly scalable servers continue to expand the limits of processor core counts, and offer increased system memory capacity. With current processors providing up to 10 cores and 20 threads per socket, 8 socket systems are available that support up to 160 logical processors and up to 2 TB or more of memory. As multicore processors continue to evolve with increasing core counts, these high-end servers push the boundaries of scale support for operating systems and virtualization hosts.
Hyper-V in Windows Server® 2012 supports running on large host systems through expanded support for host processors and memory, and it enables the virtualization of high-performance, scale-up workloads by supporting the configuration of large, high-performance virtual machines.
Hyper-V in Windows Server 2012 provides support for 320 logical processors and 4 TB of system memory, which enables customers to run Hyper-V on the largest scale-up server systems currently available. Hyper-V enables customers to virtualize their most-demanding, mission-critical, tier-1 workloads by supporting large, high-performance virtual machines with up to 64 virtual processors and 1 TB of memory in a virtual machine. By projecting a virtual NUMA topology into large virtual machines, the guest operating system and applications such as SQL Server can leverage their existing thread scheduler and memory allocation optimizations, which ensures maximum performance and scalability of demanding workloads in a virtual machine. Support for SR-IOV–capable systems and network devices allows SR-IOV–capable network adapters to be assigned directly to a virtual machine, which maximizes network throughput while minimizing network latency as well as the CPU overhead required for processing network traffic.
One or more installations of Windows Server 2012 with the Hyper-V role installed. Hyper-V requires a server that is capable of running Hyper-V. Specifically, it must have processor support for hardware virtualization.
The number of virtual processors that may be configured in a virtual machine depends on the number of processors on the physical computer. You must have at least as many logical processors in the virtualization host as the number of virtual processors required in the virtual machine. For example, to configure a virtual machine with the maximum of 64 virtual processors, you must be running Hyper-V on a virtualization host that has 64 or more logical processors.
SR-IOV networking requires:
A host system which supports SR-IOV (for example, Intel VT-d), including chipset support for interrupt and DMA remapping, and proper firmware support to enable and describe the platform’s SR-IOV capabilities to the operating system.
An SR-IOV–capable network adapter and driver in both the management operating system (which runs the Hyper-V role) and each virtual machine where a virtual function is assigned.
Hyper-V in Windows Server 2012 supports running on large server systems and enables the virtualization of high-performance, scale-up workloads by including the following changes and features:
Increased hardware support for the virtualization host – Hyper-V now supports running on a host system with up to 320 logical processors and 4 TB of memory, which ensures compatibility with the largest scale-up server systems.
Support for large virtual machines – Hyper-V now supports configuring a virtual machine with up to 64 virtual processors and up to 1 TB of memory, which is a significant increase from previous versions.
NUMA support in a virtual machine – Non-Uniform Memory Architecture, or (NUMA), is a computer architecture used in multiprocessor systems in which the time required for a processor to access memory depends on the memory’s location relative to the processor. With NUMA, a processor can access local memory (memory attached directly to the processor) faster than it can access remote memory (local to another processor in the system). Modern operating systems and high-performance applications such as Microsoft SQL Server have developed optimizations that recognize the system’s NUMA topology and consider NUMA when scheduling threads or allocating memory to increase performance.
Projecting a virtual NUMA topology into a virtual machine enables optimal performance and workload scalability in large virtual machine configurations by allowing the guest operating system and applications such as SQL to leverage their inherent NUMA performance optimizations. The default virtual NUMA topology projected into a Hyper-V virtual machine is optimized to match the host’s NUMA topology.
If the virtual machine is configured to use Dynamic Memory, only one virtual NUMA node (that is, a flat NUMA topology) will be projected into the guest, which effectively disables virtual NUMA support.
Support for SR-IOV networking devices – Single Root I/O Virtualization (SR-IOV) is a standard introduced by the PCI-SIG. SR-IOV works in conjunction with system chipset support for virtualization technologies. This provides remapping of interrupts and DMA and allows SR-IOV capable devices to be assigned directly to a virtual machine. Hyper-V in Windows Server 2012 enables support for SR-IOV–capable network devices and allows an SR-IOV virtual function of a physical network adapter to be assigned directly to a virtual machine. This increases network throughput and reduces network latency, while also reducing the host CPU overhead required for processing network traffic.