Wednesday, September 8, 2010

The "IO Blender" Challenge

The VM IO Blender is a very descriptive phrase I first saw used by Robin Harris in his popular blog StorageMojo. To me it is a classic description of why virtual environments create many issues for traditional storage. As put quite succinctly by a VC speaking at last years Storage Visions Conference "Virtualization breaks traditional storage".

The objective of storage design engineers has, for many years, been to optimize their system designs to meet the requirements of specific workloads. Storage OS, drivers, caching, controllers and disks were all manipulated to optimize performance for specific workloads. Observed behaviors such as localities of reference were exploited to create such innovations as read ahead cache.

However in the virtual world where one physical machine can host multiple VM (six in the illustration, above) what happens to the IO predictability common in a single data stream? It disappears!

Each individual VM may have a predictable IO pattern but in the virtual world each data stream blends together where usable IO predictability is lost.

So in a virtual world the value of all the hard earned pragmatic, knowledge and design magic gained by many years of developing storage solutions is minimized. Virtualization virtually neuters the IO smarts of many storage options placing the premium on fast storage.

No comments: