Improving virtual machine I/O performance in cloud environments via I/O functionality offloading
Sahan Gamage · 2013
Bamunavita Gamage, Sahan Ph.D., Purdue University, December 2013. Improving Virtual Machine I/O Performance in Cloud Environments via I/O Functionality O↵loading. Major Professors: Dongyan Xu and Ramana Rao Kompella. In recent years there has been a rapid growth in the adoption of cloud computing. A key technology that drives cloud computing is virtualization. In addition to enabling multi-tenancy in cloud environments, virtualizing hosts in the cloud environments has made management of hardware resources increasingly flexible. An important consequence of virtualizing hosts in the cloud is the negative impact it has on the I/O performance of the applications running in the virtual machines. In this dissertation, we address the important problem of alleviating the negative impact of virtualization on I/O of the virtual machines. First, we show that virtual machine scheduling negatively impacts the TCP throughput in virtual machines and o✏oading TCP congestion control functionality to the virtual machine monitor layer can significantly improve the TCP throughput on the transmit path. Second, we discuss a lightweight system, which o✏oads selected TCP functionality to the virtual machine monitor layer to improve TCP throughput for full-duplex TCP connections in virtual machines. This system called vPRO integrates the aforementioned congestion control o✏oading system and an existing system, which o✏oads the TCP acknowledgment functionality to the virtual machine monitor layer. Finally, we show that, when a cloud application running in a virtual machine moves data from one device to another without any transformations, o✏oading the entire I/O processing to the virtual machine monitor layer can avoid most of the virtualization associated overheads and hence improve the I/O performance of the application.