How to avoid getting your hand caught in the I/O Blender

What is the I/O Blender and why does it matter?

Virtualisation means storage is no longer predictable

The I/O blender, the computing term for describing input/output, is the commonly used phrase for describing performance in virtualised environments. Over the years, virtualisation has continued to grow. In fact, today about 70-80% of workloads are virtualised and that number is only expected to increase in the coming years.

Prior to the widespread adoption of virtualisation in enterprise environments, storage was "predictable." System and storage admins could easily describe what the I/O patterns looked like at the server, fabric and storage levels.

However, that is no longer true in today's virtualised reality. Picture what the contents of a blender look like when you push the pulse button. The contents are mixed up and jumping around, hardly resembling what was there before. I/O is no longer predictable – rather, it looks like it has gone through an I/O Blender.

Today, businesses rely on virtual machines to run critical databases, enterprise applications, private clouds and host thousands of desktop computers and mobile devices. When any of these processes fail to perform well, the business also fails, reaffirming the importance of having visibility and control over virtual environments.

Problems caused by the I/O Blender effect

The I/O Blender effect can impact a number of infrastructure components and can have a negative impact on system performance such as:

• Insufficient controller cache: Storage controllers are configured with specific amounts of cache that help give breathing room and some level of workspace for incoming/outgoing data. The unpredictable nature of I/O Blender patterns and concurrent access to the same resources can overwhelm controller caches and result in degraded performance with added read/write latencies.

• Read/write scheduling in arrays: Storage controllers are responsible for coordinating read and write operations to the arrays. Depending on the disk configuration and array configuration, scheduling and performing these operations can have a significant impact on performance – especially if large amounts of requests from disparate systems are realised.

• VMDK file locking in block storage: In VMware-based environments that utilise block storage, a mechanism is in place to lock VMDK files prior to accessing them for I/O operations. In a highly active environment, such as those impacted by the I/O Blender effect, the hypervisor spends much time and effort locking and unlocking files. Plus, the SAN needs to perform multiple operations from cues by the hypervisor. All of the locking and unlocking can take a heavy toll on SAN and environmental performance.

• LUN Alignment: Operating system disk access relies upon placing data in blocks/clusters on disk. SAN storage relies upon placing data on blocks in the array of disks. A condition exists wherein the block sizes of the OS do not match (by some factor) with the block sizes on SAN storage. This LUN misalignment can have serious impact on performance.

Minimising the I/O Blender effect

By now it is clear that virtualisation is only going to continue to grow in enterprise environments. Compounded with trends like VDI and big data, the effect will only worsen if companies don't act now and plan ahead for the future. Steps companies can take include:

• Adjust organisation of VMs for like workloads: This may involve different SAN configurations to ensure like workloads are organised rather than providing a single array of disks. Like workloads are more predictable and can be planned for.

• Utilise storage offloading functions: Hypervisor vendors have been working hard with storage vendors to offload many storage functions from the hypervisor to the storage controllers. This allows the storage system to more efficiently handle the operation, reduces pressure on the hypervisor and helps reduce congestion on any storage connections (local, fibre or network).

• Understand the workload: Understanding the workload will help system admins and storage admins ensure proper grouping of like workload types. Being able to proactively plan where workloads are going to be placed will ensure optimal performance will be maintained and identification of capacity constraints before they occur.

• Expand and extend storage systems: Being able to expand a storage system in some fashion ensures the decisions you make now can be adapted, adjusted and enhanced to meet the needs of today and tomorrow.

• Utilise up-to-date infrastructure: The I/O Blender effect has a way of highlighting the bottlenecks in your virtualisation environment. By staying up to date with infrastructure technologies, the bottlenecks can be reduced or eliminated.

As virtualisation continues to become more and more widespread in enterprise environments, it is even more critical that companies understand the cause, impacts and ways to minimise the I/O blender effect.

While virtualisation brought efficiency and simplicity to the compute side, it has only made things worse for storage. Utilising "smart storage" that sees, learns and adapts, not only helps effectively manage the virtual environment, but also provides more efficiency and productivity to the businesses overall.

  • Kieran Harty is the Chief Technology Officer and co-founder of Tintri

Article continues below