Bhavesh Mehta and Vikram Joshi: Getting a Million IOPS Through Code You Don't Own
ABSTRACT
Virtualization has brought in disruptive change to the way we use
compute servers allowing for greater consolidation ratios, reduction
of capital expenses and energy costs, and ease of IT management. But
along with the benefits have come some serious challenges, the biggest
one being the I/O bottleneck for virtual machines. Most hypervisors
require the use of shared storage. While the I/O demands of any single
VM may not be great, the aggregate I/O requirements of many VMs
running on a single server quickly add up. Primary storage vendors
have been the beneficiaries and monetized this surprise blessing that
landed on their laps. Flash memory has changed the way we can look at
both the I/O as well as the virtual memory subsystem of operating
systems, allowing us to use Flash as a part of the new memory to
storage hierarchy. The ability to use Flash transparently in compute
servers to offload hundreds of thousands of IOPS from primary storage
is now theoretically possible but still a daunting task given the
idiosyncratic nature of the Flash medium and the need to seamlessly
and transparently modify commercial/proprietary operating systems to
deal with high I/O loads. This talk gets into the inner workings of
unifying the memory I/O subsystems of OS-es to open up the flood gates
BIO // Vikram Joshi
Vikram is a VP & Chief Technologist at Fusion-io. His technical
background spans multiple disciplines such as operating systems,
parallel and distributed systems, databases, storage, media and
computer graphics. Prior to co-founding IO Turbine (acquired by
Fusion-io), he founded PixBlitz Studios which developed
high-definition virtual advertising technology for broadcast sports
and entertainment. At Oracle, his work included doubling database
performance on 12-64 way SMPs and laying the foundation for the
Exadata appliance group. Vikram pioneered high-speed texture-mapped
graphics for video, worked on video on demand, and video game server
(CosmoSoft) at Silicon Graphics. At Sun Microsystems, he worked on
the Solaris virtual memory subsystem to increase scalable OS performance
up to 10X, and on the Spring Microkernel (Sunlabs). He holds a MS (Hons.)
in Physics and a BE (Hons.) in Engineering from the Birla Institute of
Technology and Science, Pilani, India.
BIO // Bhavesh Mehta
Bhavesh Mehta is a software engineer at Fusion-io, working in kernel
group solving interesting problems spanning storage and
virtualization. He received his Master's from the University of
Wisconsin in 2005 and worked in the Multifacet research group as a
graduate student. Prior to joining Fusion-io he was a software
engineer in the Hypervisor Group at VMware, where he contributed to
wide range of features like monitor, vmkernel, EFI, fault-tolerence
