The Resource Pool Advantage
It’s easier to manage a group of things than individual objects. Consider filesystem directories as a way to organize and secure files, or Active Directory groups as an efficient means of assigning rights to users.
VMware vSphere Resource Pools — introduced in VI3, circa 2006 — give administrators a way to aggregate resources from multiple hosts in a cluster and then subdivide them to meet a range of business needs. After creating pools of CPU and memory with reserves and limits, virtual machines are simply dragged as necessary to guarantee performance or prevent less-critical workloads from causing interference.
Resource Pools are a proven means to reliably share infrastructure. So much so that vCloud Director uses them as the foundation for virtual datacenters, separating multiple tenants in a cloud environment.
Hyper-V Hardware Silos
One can learn a lot about Hyper-V by reading Virtual PC Guy’s Blog — Ben Armstrong cuts through the marketing fog and provides clear technical information on a range of Microsoft virtualization topics. Thanks to his recent recent series on CPU resource management, it’s quite clear that Hyper-V has a long way to go before it can match the flexibility and ease of VMware vSphere.
For now, Hyper-V administrators that need to manage resources in a shared environment have few options. Without any means of grouping CPU and memory resources, the only alternative is to manage individual virtual machines — one by one! That could mean a significant manual effort any time a VM is added or removed. Such a process contradicts the desired efficiencies of cloud computing and is infeasible. To achieve guaranteed resources in a multi-tenant cloud would therefore imply silos of physical Hyper-V clusters.
Top Hyper-V Resource Management Weaknesses
After looking at the differences between resource management in VMware vSphere and Hyper-V, it is clear that the Microsoft offering has a number of disadvantages:
- CPU reserves, limits, and shares are specified on a VM-by-VM basis — no grouping or pooling
- System Center Virtual Machine Manager 2008 cannot even configure reserves and limits, forcing administrator to turn to an alternate management interface (so long, single pane of glass!)
- When resource reservations are calculated, it appears that:
- Host (parent partition) CPU resource requirements are either not considered or hidden from view — administrators can reserve 100% of host resources for virtual machines
- Logical, hyperthreaded CPUs are treated as full physical cores — on a host with 8 cores and hyperthreading enabled, a VM with 4 virtual CPUs will only reserve 25% (not 50%) of the total system resources:
VMware vSphere provides Resource Pools to group and control virtual machines according to resource requirements and are configured through the same user interface used for all vSphere management tasks. The hypervisor host is given an explicit reservation to ensure reliable scheduling and I/O operations, and hyperthreaded cores are not double-counted by treating them as full physical cores.
VMware offers the only platform that enables reliable shared infrastructure through resource pooling and is the best foundation for your private cloud infrastructure.