In the software-defined data center (SDDC), all elements of the infrastructure such as networking, compute, servers and storage, are virtualized and delivered as a service. Virtualization at the server and storage level are critical components on the journey to a SDDC since they enable greater productivity through software automation and agility while shielding users from the underlying complexity of the hardware.
Today, applications are driving the enterprise – and these demanding applications, especially within virtualized environments, require high performance from storage to keep up with the rate of data acquisition and unpredictable demands of enterprise workloads. The problem is that in a world that requires near instant response times and increasingly faster access to business-critical data, the needs of tier 1 enterprise applications such as SQL, Oracle and SAP databases have been largely unmet. For most data centers the number one cause of these delays is the data storage infrastructure.
Why? The major bottleneck has been I/O performance. Despite the fact that most commodity servers already cost-effectively provide a wealth of powerful multiprocessor capabilities, most sit parked and in idle mode, unexploited. This is because current systems still rely on device-level optimizations tied to specific disk and flash technologies that don’t have the software intelligence that can fully harness these more powerful server system technologies with multicore architectures.
While the virtual server revolution became the “killer app” that exploited CPU utilization and to some degree the multicore capabilities, the downside is that virtualization and the move to greater server consolidation created a workload blender effect in which more and more of the application I/O workloads were concentrated and had to be scheduled on the same system. All of those VMs and their applications become easily bottlenecked going through a serialized “I/O straw.” As processors and memory have dramatically increased in speed, this I/O straw continues to bottleneck performance — especially when it comes to the critical business applications driving databases and on-line transaction workloads.
Many have tried to address the performance problem at the device level by adding solid-state storage (flash) to meet the increasing demands of enterprise applications or by hard-wiring these fast devices to virtual machines (VMs) in hyper-converged systems. However, improving the performance of the storage media—which replacing spinning disks with flash attempts to do—only addresses one aspect of the I/O stack. Hard-wiring flash to VMs also seems to be a contradiction to the concept of virtualization in which technology is elevated to a software-defined level above the hard-wired and physical aware level, and it also adds complexity and vendor specific lock-ins between the hypervisor and device levels.
Multi-core processors are up to the challenge. The primary element that is missing is software that can take advantage of the multicore/parallel processing infrastructure. Parallel I/O technology enables the I/O processing to be done separately from computation and in parallel to improve I/O performance by building on virtualization’s ability to decouple software advances from hardware innovations. This method uses software to drive parallel I/O across all of those CPU cores.
Parallel I/O technology can schedule I/O from virtualization and application workloads effectively across readily available multicore server platforms. It can overcome the I/O bottleneck by harnessing the power of multicores to dramatically increase productivity, consolidate more workloads and reduce inefficient server sprawl. This will allow much greater cost savings and productivity by taking consolidation to the next level and allowing systems to do far more with less.
Parallel I/O is essentially like a multi-lane superhighway with “EZ pass” on all the lanes. It avoids the bottleneck of waiting on a single toll booth and the wait time. It opens up the other cores (all the “lanes” in this analogy) for I/O distribution so that data can continue to flow back and forth between the application and the storage media at top speed.
The effect is that more data flows through the same hardware infrastructure in the same amount of time as legacy storage systems. The traditional three-tier infrastructure of servers, network, and compute benefits by having storage systems that directly respond and service existing I/O requests faster and thus have the capability of supporting significantly more applications and workloads on the same platforms. The efficiency of a low-latent parallel architecture is potentially more critical in hyper-converged architectures, which are a “shared-everything” infrastructure. If the storage software is more efficient in its use of computing resources, that means that it returns more available processing power to the other processes on which it runs.
By taking full advantage of the processing power offered by multicore servers, parallel I/O technology acts as a key enabler for a true software-defined data center. This is due to the fact that it avoids any special hardwiring that impedes achieving the benefits of virtualization while it unlocks the underlying hardware power to achieve a dramatic acceleration in I/O and storage performance – solving the I/O bottleneck problem and making the realization of software-defined data centers possible.