Building cloud solutions, whether with private or public
clouds, requires investment of time, energy, and money. To ensure best
return on your investment, you need to build your solution on a
platform that can scale and perform well to meet the changing demands
of your business. This means being able to take advantage of
cutting-edge hardware that can provide extreme performance
while handling the largest possible workloads. It means being able to
use resources effectively at every level, while ensuring that SLAs can
be met. It means reducing the chances of mistakes occurring when
maintenance tasks are performed. And it means being able to monitor
performance effectively to ensure computing, storage, and network
resources are used with maximum efficiency.
Windows Server 2012 delivers a virtualization platform that can achieve the highest levels of performance while delivering extreme scalability
that enables new scenarios for migrating massive workloads into the
cloud. This section examines some new features in Hyper-V and in the
underlying operating system that enable such increased scalability and
performance.
1. Expanded processor and memory support
Hyper-V in Windows Server 2008 R2 has been embraced by many
organizations as a way of making more efficient use of physical server
hardware through virtualization and consolidating server workloads. But
limitations in the number of logical processors supported on the host and for VMs, together with limitations of how much physical memory can be supported on the host
and assigned to VMs, has meant that Windows Server 2008 R2 lacked
sufficient scalability for certain types of mission-critical business
applications. For example, large database applications often require
large amounts of memory and many logical processors when used to
implement business solutions involving online transaction processing
(OLTP) or online transaction analysis (OLTA). Until now, the idea of
moving such applications into the cloud has been mostly a dream.
Windows Server 2012 changes all this in the following ways:
-
Through its increased processor and memory support on the virtualization host by enabling the use of up to 160 logical processors and 2 TB of physical memory per host system
-
Through its increased virtual processor and memory support for VMs
by enabling the use of up to 32 virtual processors and 1 TB of memory
per VM
In addition to its expanded processor and memory support on hosts
and for VMs, Hyper-V in Windows Server 2012 also expands support for Non-Uniform Memory Access (NUMA) from the host
into the VM. NUMA allows the use of memory by processors to be
optimized based on the location of the memory with respect to the
processor. High-performance applications like Microsoft SQL Server have
built-in optimizations that can take advantage of the NUMA topology of
a system to improve how processor threads are scheduled and memory is
allocated.
In previous versions of Hyper-V, VMs were not NUMA-aware,
which meant that when applications like SQL Server were run in VMs,
these applications were unable to take advantage of such optimizations.
Because NUMA was not used in previous versions, it was possible for a
VM’s RAM to span NUMA nodes and access non-local memory. There is a performance impact when using non-local memory due to the fact that another memory controller (CPU) has to be contacted.
But with VMs now being NUMA-aware in Windows Server 2012, the
performance of applications like SQL Server can be significantly
better. Note, however, that NUMA support in VMs works in Hyper-V in Windows Server 2012 only when Dynamic Memory has not been configured on the host.
Virtual NUMA presents a NUMA topology within a VM so that the guest
operating system and applications can make intelligent decisions about
thread and memory allocation that are reflected in the physical NUMA
topology of the host. For example, Figure 1
shows a NUMA-capable four-socket host machine with four physical NUMA
nodes labeled 1 through 4. Two VMs are running on this host, and two
virtual NUMA nodes are presented within each VM, and these virtual NUMA
nodes align with physical NUMA nodes on the host based on policy. The
result is that NUMA-aware applications like SQL Server installed on the
guest operating
system of one of these VMs would be able to allocate its thread and
memory resources as if it was running directly upon a physical server
that had two NUMA nodes.
Virtual NUMA and failover clustering
Virtual NUMA support also extends into high-availability solutions
built using failover clustering in Windows Server 2012. This enables
the failover cluster to place VMs more appropriately by evaluating the
NUMA configuration of a node before moving a VM to the node to ensure
the node is able to support the workload of the VM. This NUMA-awareness
for VMs in failover clustering environments helps reduce the number of
failover attempts which results in increased uptime for your VMs.
For an overview of expanded processor and memory support for both
hosts and VMs in Windows Server 2012, see the topic “Hyper-V Support
for Scaling Up and Scaling Out Technical Preview” in the TechNet
Library at http://technet.microsoft.com/en-us/library/hh831389.aspx.