Definition of I/O Management

I/O management monitors I/O from the application's perspective, allowing the data center to do three things. First, it allows it to better utilize existing infrastructure and avoid the need to purchase new infrastructure. Second, it allows it to proactively manage performance by making adjustments prior to a performance issue.

Third, it allows it to encourage true problem management where the root cause of an issue is established and the problem is permanently resolved. Essentially, I/O management creates a system that can handle the massive volumes of data. It does this by examining the various I/O layers in order to monitor performance, troubleshoot issues and analyze I/O data-which then both prevents and diffuses issues that may arise.

Reasons to implement I/O management

I/O management is required because I/O is complicated and becoming more so with every incremental piece of infrastructure virtualization. This infrastructure has several tiers, with several layers of virtualization, all of which manage I/O. As a result, there is an increasing need for I/O management within today's complex data center.

For example, application I/O includes files systems, SCSI stacks, operating systems, schedulers, hypervisor, volume management, multipathing software, device drivers, PCI subsystems, virtual and real networks and more. But at the end of the day, the application simply says read this file, write this block or copy this memory. The application then expects everything in between to just happen. But that is not the case. Without a proper system in place to manage these requests, the applications will not perform correctly.

This is where I/O management comes in. Imagine I/O as a two-sided process where one side is responsible for the flow of information between a storage device and an application server, and the other side is responsible for the flow of information between the application server and the client trying to access information. On the client side, application performance management (APM) handles transactions between the client and the application server, ensuring that I/O flows without interruption between the client and the server. I/O management does what APM does, except it handles transactions between a storage device and an application server. It works on the I/O infrastructure side to ensure the proper flow of I/O.

John Waszak is Vice President of Software Product Management at Emulex. John joined Emulex in August of 2000. Previously, John was the vice president of engineering at Emulex. Prior to Emulex, John was the vice president and business unit lead for the Factory Systems Division of PRI Automation (now Brooks Automation), overseeing a breadth of R&D, operations and business functions. John also ran his own startup technology company for over six years, selling advanced monitoring systems to the thin film industry, which led to a successful acquisition of the company's technology. John holds a Bachelor's degree in Electrical Engineering from the Worcester Polytechnic Institute. He can be reached at John.Waszak@emulex.com.