vSphere's Enhanced I/O Augments IO Virtualization

As organizations look to reduce branch office costs by replacing their physical appliances with virtual ones, they also have to confront the growing problem of resource sharing. Loading multiple virtual machines onto a single ESX server can be a good way to guarantee that none of the VMs perform at their best as they contend for I/O resources. With the introduction of vSphere 4.1, VMware addresses this issue by making significant improvements to how the hypervisor controls I/O storage and networ

August 10, 2010

3 Min Read
NetworkComputing logo in a gray background | NetworkComputing

As organizations look to reduce branch office costs by replacing their physical appliances with virtual ones, they also have to confront the growing problem of resource sharing. Loading multiple virtual machines onto a single ESX server can be a good way to guarantee that none of the VMs perform at their best as they contend for I/O resources. With the introduction of vSphere 4.1, VMware addresses this issue by making significant improvements to how the hypervisor controls I/O storage and network access.

In vSphere 4.1, administrators set controls to manage storage and network I/O resources according to business policy. This isolates the flows from one another so that one flow should not dominate during congestion. It also allows vSphere to guarantee service levels when flows compete with one another. "This gives the IT admin the ability to set network QoS parameters of VMs from within the vSphere management interface," says Peter Kirkpatrick, CTO of Aprius, an I/O virtualization provider. "The resource manager would then take these QoS priorities into account when setting up and allocating vSwitches and may even make recommendations for the physical switches."

Each network flow can be described by limits and shares. Limits specify the maximum amount of bandwidth that can be consumed by a flow exiting the host. They are assigned for the entire team of flows associated with an application. Shares specify the relative importance of the flow on a given virtual NIC, or put more simply, they specify the minimum amount of bandwidth allocated to an individual flow.  

Take an instance where an iSCSI and VM are competing for access to a 1 Gb/s link. The iSCSI is set with 100 shares and the VM traffic with 25 shares. The available bandwidth on the link is about 890 Mb/s. The iSCSI would receive about 710 Mb/s (100/125 * 890 Mb/s) and the VM would receive 180 Mb/s (20/125 * 890 Mb/s). None of these QoS settings are limited to a specific hypervisor. I/O sharing and limit policies are enforced across all virtual machines accessing a datastore, regardless of their host machine.

Similarly,  vSphere administrators can ensure that the most important virtual machines get adequate I/O resources even in times of congestion. This way, for example, an organization can ensure that a virtualized online store receives preferred treatment even when a virtualized data mining application might be very active. More specifically, with 4.1, administrators can set shares for CPU and memory resources for each VM."There are dynamic situations where at certain times one virtual machine gets priority over another," says Apurva Dave, vice president of product marketing at Riverbed, who just introduced their virtual WAN optimizer. "It's a tool that can be used in dynamic environments to ensure that business priority translates into technology priority." Riverbed's virtual appliance is not designed for vSphere 4.1 today, and as such does not take advantage of those controls.

In some respects, the I/O controls implemented in vSphere provide a complementary architecture to I/O virtualization. I/O controls address the I/O bottleneck by enabling hypervisor to work more effectively. I/O virtualization also improves system performance by-passing the hypervisor to manage VM direct access to the I/O process.

"This is QoS at an application level," says Jon Toor, vice president of marketing at Xsigo, a I/O virtualization provider. "They're providing QoS within the machine. We provide QoS to I/O resources outside of the machine." With Xsigo, at least, individuals will need to set QoS twice--once on the VSphere main console page and the second time on the Xsigo I/O Director tab on the same page.

Read more about:

2010
SUBSCRIBE TO OUR NEWSLETTER
Stay informed! Sign up to get expert advice and insight delivered direct to your inbox

You May Also Like


More Insights