The Two Big I/O Taxes in Virtualized Environments
September 09, 2015

Brian Morin
Condusiv Technologies

Share this

When organizations virtualize, they typically overrun the I/O capabilities of the underlying storage infrastructure and aren't able to scale the virtual infrastructure as far as they would like. Instead of asking "why" and getting to the root of the problem of performance bottlenecks, they typically run blindly into an expensive rip-and-replace of the SAN architecture to create more I/O overhead and try to "flash" their way out of performance issues. More recently, administrators have begun to discover you can't "flash" your way out of virtual machine (VM) performance issues without overspending on hardware if you ignore the two big I/O taxes in a virtual environment that inflates IOPS (Input/Output Operations per Second) requirements and steals bandwidth from server to storage.

The two big performance penalties in virtualized environments to be aware of are the "Windows I/O tax" and the "I/O blender" tax. No matter how many spindles or how much flash is added to the infrastructure, much of that performance is ultimately robbed due to I/O characteristics that are much smaller, more fractured, and more random than it needs to be and that steals up to 50% available throughput from server to storage.

Small, Fractured I/O Tax

As the most virtualized operating system, Windows suffers from free space allocation inefficiencies at the logical disk layer that inflates the IOPS requirements for any given workload as the relationship between I/O and data begins to break down over time. This occurs because when Windows NTFS writes data in a SAN storage environment, file allocations become unnecessarily fractured across different addresses at the logical disk layer, resulting in every piece of the file requiring its own I/O operation to process. Instead of carrying an optimal amount of data with every I/O request, a single file may take multiple I/O to process instead of single I/O had Windows first employed intelligence about choosing the best allocation instead of the next available allocation. Consequently, this results in the first I/O tax: I/O that is smaller and more fractured than necessary.

It's not just every write that is subsequently penalized, but every subsequent read as well. It is common for a 32K file to be efficiently processed with a single I/O on day one when a file system is fresh and new, but as time goes on as files are re-written, erased and extended, I/O density suffers and ultimately systems require four 8K I/O operations or eight 4K I/O operations to process the whole 32K file. More fractured environments will experience hundreds of I/O operations to process a single file which is akin to pouring molasses on systems.

"I/O Blender" Tax

The second tax is that of the "I/O blender." This tax occurs when mixing multiple VMs on one server, and then connecting those various servers to shared storage. The result is a highly random I/O stream that diminishes the entire virtualized environment.

To understand this, think about the consequence of disparate VMs sharing a single host, routing otherwise sequential I/O traffic to the hypervisor where those I/O streams become "blended." The resulting random I/O pattern then gets sent to storage, which further dampens storage performance.

Clearly, while it hurts systems to be taxed with small, fractured I/O from Windows due to free space allocation inefficiences, it's even more damaging to take all that small, fractured I/O and randomize those I/O streams when they become mixed at the hypervisor. When virtualized organizations hit an I/O ceiling that requires higher performance than the company's storage infrastructure can deliver, administrators commonly think they need to buy more IOPS, when in fact the Windows I/O tax and the "I/O blender" effect has robbed throughput, making systems more IOPS intensive than they need to be. By focusing on trying to solve the root of I/O inefficiencies first, organizations can get to the bottom of the real issue that's wasting their current and future hardware resources.

A Better Solution

As an alternative solution, these I/O inefficiencies can be easily remedied by using I/O reduction software that targets the root cause problem so administrators get the most performance possible from their hardware infrastructure after virtualizing. Today's software has been shown to result in up to 300 percent faster application performance on existing systems. By optimizing the I/O profile, software intelligence can increase I/O density and sequential writes and subsequent reads while also leveraging available DRAM to target the I/O the steals the most bandwidth from VM to storage – small, random I/O. This reduces latency and frees the infrastructure from performance-diminishing I/O.

This approach not only protects a company's investment in its existing hardware infrastructure, but it also solves performance bottlenecks without disruption and ensures organizations can maximize future storage system investment. In short, I/O optimization software can more effectively solve the application performance issues for virtualized environments — without requiring any new hardware.

Brian Morin is SVP Global Marketing at Condusiv Technologies
Share this

The Latest

March 31, 2020

Organizations face major infrastructure and security challenges in supporting multi-cloud and edge deployments, according to new global survey conducted by Propeller Insights for Volterra ...

March 30, 2020

Developers spend roughly 17.3 hours each week debugging, refactoring and modifying bad code — valuable time that could be spent writing more code, shipping better products and innovating. The bottom line? Nearly $300B (US) in lost developer productivity every year ...

March 26, 2020

While remote work policies have been gaining steam for the better part of the past decade across the enterprise space — driven in large part by more agile and scalable, cloud-delivered business solutions — recent events have pushed adoption into overdrive ...

March 25, 2020

Time-critical, unplanned work caused by IT disruptions continues to plague enterprises around the world, leading to lost revenue, significant employee morale problems and missed opportunities to innovate, according to the State of Unplanned Work Report 2020, conducted by Dimensional Research for PagerDuty ...

March 24, 2020

In today's iterative world, development teams care a lot more about how apps are running. There's a demand for fixing actionable items. Developers want to know exactly what's broken, what to fix right now, and what can wait. They want to know, "Do we build or fix?" This trade-off between building new features versus fixing bugs is one of the key factors behind the adoption of Application Stability management tools ...

March 23, 2020

With the rise of mobile apps and iterative development releases, Application Stability has answered the widespread need to monitor applications in a new way, shifting the focus from servers and networks to the customer experience. The emergence of Application Stability has caused some consternation for diehard APM fans. However, these two solutions embody very distinct monitoring focuses, which leads me to believe there's room for both tools, as well as different teams for both ...

March 19, 2020

The 2019 State of E-Commerce Infrastructure Report, from Webscale, analyzes findings from a comprehensive survey of more than 450 ecommerce professionals regarding how their online stores performed during the 2019 holiday season. Some key insights from the report include ...

March 18, 2020

Robinhood is a unicorn startup that has been disrupting the way by which many millennials have been investing and managing their money for the past few years. For Robinhood, the burden of proof was to show that they can provide an infrastructure that is as scalable, reliable and secure as that of major banks who have been developing their trading infrastructure for the last quarter-century. That promise fell flat last week, when the market volatility brought about a set of edge cases that brought Robinhood's trading app to its knees ...

March 17, 2020

Application backend monitoring is the key to acquiring visibility across the enterprise's application stack, from the application layer and underlying infrastructure to third-party API services, web servers and databases, be they on-premises, in a public or private cloud, or in a hybrid model. By tracking and reporting performance in real time, IT teams can ensure applications perform at peak efficiency — and guarantee a seamless customer experience. How can IT operations teams improve application backend monitoring? By embracing artificial intelligence for operations — AIOps ...

March 16, 2020

In 2020, DevOps teams will face heightened expectations for higher speed and frequency of code delivery, which means their IT environments will become even more modular, ephemeral and dynamic — and significantly more complicated to monitor. As a result, AIOps will further cement its position as the most effective technology that DevOps teams can use to see and control what's going on with their applications and their underlying infrastructure, so that they can prevent outages. Here I outline five key trends to watch related to how AIOps will impact DevOps in 2020 and beyond ...