When the first version of Hyper-V launched last year we worked really hard to make it a great performing product.  From what I’ve heard from all of you we did just that – delivered a great performing product.  Now in less than a year we have made great strides.  For example when we first shipped we only supported 16 Logical Processors and now we support 64!  We have also improved the Hypervisor, Networking, Storage, and even added Live Migration.

This blog post is designed to help you understand what has changed in terms of performance and scale of the product. 

A note on the releases

As you look at this blog entry please take special note to SP1, SP2 and R2. 

Here are the product names and the version of Hyper-V -

Windows Server 2008 RTM – This included only the Beta version of Hyper-V

Windows Server 2008 RTM + KB 950050 – This was the first RTM release of Hyper-V and shipped in June 2008.  We’ll call this WS08 + RTM Hyper-V in the tables below.

Windows Server 2008 SP2 – This is the bug fix release of Hyper-V plus improvements for performance and scale and was released in April 2009

Windows Server 2008 R2 – This is the latest release of Hyper-V and was announced in July 2009.

Comparison of Virtual Server and Windows Server 2008 SP1 Hyper-V

So lets start at the beginning of Microsoft’s virtualization products and that is Virtual Server.  Virtual Server was the first virtualization solution and worked with Windows Server 2003 [R2].  Virtual Server as a VMM solution and was replaced in Windows Server 2008 by Hyper-V a Hypervisor based solution.  You can see in terms of scale in Hyper-V we added Multi-VP support, 64 bit, and large memories.

Virtualization Feature

Virtual Server 2005 R2

WS08 + RTM Hyper-V

32-bit Virtual Machines

Yes

Yes

64-bit Virtual Machines

No

Yes

Multi Processor Virtual Machines

No

Yes, 4 core VMs

Virtual Machine Memory Support

3.6GB per VM

64GB per VM

Managed by System Center Virtual Machine Manager

Yes

Yes

Support for Microsoft Clustering Services

Yes

Yes

Host side backup support (VSS)

Yes

Yes

Scriptable / Extensible

Yes, COM

Yes, WMI

User Interface

Web Interface

MMC 3.0 Interface

 

Hypervisor improvements from Windows Server 2008 SP1 Hyper-V to Windows Server 2008 R2 Hyper-V

Once we moved in to the world of Hyper-V with Windows Server 2008 SP1 we had a mini-release with SP2 and now have R2.  In the tables below you will see how the performance and scale has evolved.

This table details the changes at the kernel and hypervisor level – Notice the changes in number of Logical Processors (LP), Virtual Processors (VP), and Virtual Machines (VM) counts along with hardware feature adoption.

Virtualization Feature

WS08 + RTM Hyper-V

WS08 SP2 Hyper-V

Windows Server 2008 R2 Hyper-V

Logical Processor Support

16

24

64

Total number of powered on VM’s

128

192

384

Total Virtual Processors Supported

128

192

512

Guest Virtual Processor Support

4 (WS08 only)

4 (WS08 only)

4 (Win7/WS08)

Address Space Management

Software Only

Software Only

Hardware where available

(EPT on Intel and Rapid Virtualization Indexing on AMD)

Core Parking / Deeper Sleep States (C3)

No – Limited C states

No – Limited C states

Yes

Networking improvements from Windows Server 2008 SP1 Hyper-V  to Windows Server 2008 R2 Hyper-V

This table details changes in networking.  Notice the improved support for IPv6 and new hardware features like Virtual Machines Queues (VMQ) which helps with receive scaling and Chimney (TCP/IP offload into hardware) which helps with latency.

Virtualization Feature

WS08 + RTM Hyper-V

WS08 SP2 Hyper-V

Windows Server 2008 R2 Hyper-V

IPv6 offloads

No

No

Yes

LSOv2

Limited

(LSOv1 from VM)

Limited

(LSOv1 from VM)

Supported

Guest to guest throughput

Good

Good

Better

VMQ

No

No

Yes – Off by default

Chimney

No

No

Yes – Off by default

Jumbo Frames

No

No

Yes

Virtual Switch MAC learning

Good

Good

Better

(every packet)

Virtual NIC interrupts

VP0

VP0

VP0 receive / distributed for send

 

Storage improvements from Windows Server 2008 SP1 Hyper-V to Windows Server 2008 R2 Hyper-V

The following table shows changes in storage.  Some of the changes are performance related like hot add of storage.  This helps performance by reducing the time it takes to add new storage.  The big things to note are increases in IO Sizes passed from VM’s and huge improvements in Dynamic VHDs.

Virtualization Feature

WS08 + RTM Hyper-V

WS08 SP2 Hyper-V

Windows Server 2008 R2 Hyper-V

Dynamic VHD Performance

Writes 3x slower than fixed.  This is due to limited meta data caching.

Writes 3x slower than fixed. This is due to limited meta data caching.

Dynamic and Fixed Disk performance at almost parity

Diff Disk Scaling Performance

1x

1x

4x – 5x

IO Sizes (Virtual SCSI)

64KB

64KB

8MBytes

(improves throughput)

IO Size (Virtual IDE – no changes just for comparison)

64KB

64KB

64KB

VHD Block Size

512KB

512KB

2MB

Fixed VHD Creation Speed

1x

1x

3x – 4x

Hot add of storage

No

No

Yes

SCSI Command Pass-through

No

No

Yes

 

Storage improvements from Windows Server 2008 SP1 Hyper-V to Windows Server 2008 R2 Hyper-V

This last table shows some of the top level virtualization feature improvements effecting the whole system.

Virtualization Feature

WS08 + RTM Hyper-V

WS08 SP2 Hyper-V

Windows Server 2008 R2 Hyper-V

Moving Virtual Machines

Quick Migration

Quick Migration

Live Migration

VDI

No

No

16 Node x 64 VM

NUMA

Ok placement – stack on Node 0

Ok placement – stack on Node 0

More even distribution

 

As you can see we made numerous improves in all the core areas while at the same time adding new functionality.  Hope you enjoy the new release!

  Enjoy,

  Anthony F. Voellm (aka Tony)