The VMware storage API is called VAAI (vStorage APIs for Array Integration), and the intent is that ESX can offload many storage-related operations to a storage array, freeing up server CPU cycles for application-related work.

The microcode in HDS' VSP enterprise array now fully supports VAAI and its three primitives (basic operations) of full copy, block zeroing and scalable lock management. The VSP can be told by vSphere to clone virtual machines (VMs) using the full copy primitive, write zeroes into empty blocks in virtual disk files with block zeroing, and to lock virtual machine files with a SCSI reservation lock instead of VMware having to lock such files itself. Locking is necessary to prevent multiple, conflicting accesses to the same files.

HDS thinks block zeroing can speed up provisioning of new virtual machines by up to 85 per cent, while full copy can accelerate VM cloning by up to 18 per cent. The VM locking is claimed to improve VM performance through the removal of SCSI reservation conflicts by up to 35 per cent. HDS's Roberto Basilio, storage platforms product management VP, said that updating array microcode was a serious affair. He didn't know how much of a lead HDS had over other manufacturers; it could be days, weeks or months.

Basilio said some legacy arrays could be incapable of having their storage controller code updated to support VAAI. If those arrays were virtualised behind a VSP controller then that managed their storage resources and presented them to server hosts as if they were native VSP storage arrays and therefore VAAI-capable as well.

In other words, if a customer wants to fully adopt VAAI across its storage estate but some arrays are not VAAI-capable, then add one VSP controller and bring these older arrays into the VAAI fold. HDS says a 100 or more third-party arrays are supported as virtualisation targets behind the VSP.

The amount of extra server CPU cycles released to more productive application-related work through the VAAI support in the VSP depends upon the amount of storage grunt work the server was doing before the VAAI-VSP interface is implemented.

There is no rule of thumb that applies here. Intuition says it would be in the one to ten per cent area, perhaps more. Naturally the storage array controller needs to have sufficient resources to carry out the extra duties coming its way through VAAI.