ABSTRACT
Virtualization introduces a significant amount of overhead for I/O intensive applications running inside virtual machines (VMs). Such overhead is caused by two main sources: (1) device virtualization and (2) VM scheduling. Device virtualization causes significant CPU overhead as I/O data need to be moved across several protection boundaries. VM scheduling introduces delays to the overall I/O processing path due to the wait time of VMs' virtual CPUs in the run queue. We observe that such overhead particularly affects many applications involving piped I/O data movements, such as web servers, streaming servers, big data analytics, and storage, because the data has to be transferred first into the application from the source I/O device and then back to the sink I/O device, incurring the virtualization overhead twice. In this paper, we propose vPipe, a programmable framework to mitigate this problem for a wide range of applications running in virtualized clouds. vPipe enables direct "piping" of application I/O data from source to sink devices, either files or TCP sockets, at virtual machine monitor (VMM) level. By doing so, vPipe can avoid both device virtualization overhead and VM scheduling delays, resulting in improved I/O throughput and application performance as well as significant CPU savings.
- GNUMP3d {GNU MP3/Media Streamer}. http://www.gnu.org/software/gnump3d/.Google Scholar
- Lighttpd web server. http://www.lighttpd.net/.Google Scholar
- lookbusy -- a synthetic load generator. http://www.devin.com/lookbusy/.Google Scholar
- MPlayer - The movie player. http://www.mplayerhq.hu/.Google Scholar
- Pound: Reverse-Proxy and Load-Balancer, 2013. http://www.apsis.ch/pound.Google Scholar
- Agesen, O., Mattson, J., Rugina, R., and Sheldon, J. Software techniques for avoiding hardware virtualization exits. In USENIX ATC (2012). Google ScholarDigital Library
- Ahmad, I., Gulati, A., and Mashtizadeh, A. vIC: Interrupt coalescing for virtual machine storage device IO. In USENIX ATC (2011). Google ScholarDigital Library
- Billaud, J.-P., and Gulati, A. hClock: Hierarchical QoS for packet scheduling in a hypervisor. In EuroSys (2013). Google ScholarDigital Library
- Gamage, S., Kangarlou, A., Kompella, R. R., and Xu, D. Opportunistic flooding to improve TCP transmit performance in virtualized clouds. In ACM SOCC (2011). Google ScholarDigital Library
- Gamage, S., Kompella, R. R., and Xu, D. vPipe: one pipe to connect them all. In USENIX HotCloud (2013).Google Scholar
- Garfinkel, T., and Rosenblum, M. A virtual machine introspection based architecture for intrusion detection. In NDSS (2003).Google Scholar
- Gordon, A., Amit, N., Har'El, N., Ben-Yehuda, M., Landau, A., Schuster, A., and Tsafrir, D. ELI: bare-metal performance for I/O virtualization. In ACM ASPLOS (2012). Google ScholarDigital Library
- Gordon, A., Ben-Yehuda, M., Filimonov, D., and Dahan, M. VAMOS: virtualization aware middleware. In WIOV (2011). Google ScholarDigital Library
- Govindan, S., Nath, A. R., Das, A., Urgaonkar, B., and Sivasubramaniam, A. Xen and Co.: communication-aware CPU scheduling for consolidated Xen-based hosting platforms. In ACM VEE (2007). Google ScholarDigital Library
- Gulati, A., Merchant, A., and Varman, P. mClock: Handling throughput variability for hypervisor IO scheduling. In USENIX OSDI'10 (2010). Google ScholarDigital Library
- Har'El, N., Gordon, A., Landau, A., Ben-Yehuda, M., Traeger, A., and Ladelsky, R. Efficient and scalable paravirtual I/O system. In USENIX ATC (2013). Google ScholarDigital Library
- Jujjuri, V., Hensbergen, E. V., and Liguori, A. VirtFSa virtualization aware file system pass-through. In OLS (2010).Google Scholar
- Kang, H., Chen, Y., Wong, J. L., Sion, R., and Wu, J. Enhancement of Xen's scheduler for MapReduce workloads. In ACM HPDC'11 (2011). Google ScholarDigital Library
- Kangarlou, A., Gamage, S., Kompella, R. R., and Xu, D. vSnoop: Improving TCP throughput in virtualized environments via acknowledgement offload. In ACM/IEEE SC (2010). Google ScholarDigital Library
- Menon, A., Cox, A. L., and Zwaenepoel, W. Optimizing network virtualization in Xen. In USENIX ATC (2006). Google ScholarDigital Library
- Menon, A., Santos, J. R., Turner, Y., Janakiraman, G. J., and Zwaenepoel, W. Diagnosing performance overheads in the Xen virtual machine environment. In ACM VEE (2005). Google ScholarDigital Library
- Menon, A., Schubert, S., and Zwaenepoel, W. Twin-Drivers: semi-automatic derivation of fast and safe hypervisor network drivers from guest OS drivers. In ACM ASPLOS (2009). Google ScholarDigital Library
- Menon, A., and Zwaenepoel, W. Optimizing TCP receive performance. In USENIX ATC (2008). Google ScholarDigital Library
- Shalev, L., Satran, J., Borovik, E., and Ben-Yehuda, M. IsoStack: Highly efficient network processing on dedicated cores. In USENIX ATC (2010). Google ScholarDigital Library
- Waldspurger, C., and Rosenblum, M. I/O virtulization. In Communications of the ACM (2012). Google ScholarDigital Library
- Xu, C., Gamage, S., Lu, H., Kompella, R. R., and Xu, D. vTurbo: Accelerating virtual machine I/O processing using designated turbo-sliced core. In USENIX ATC (2013). Google ScholarDigital Library
- Xu, C., Gamage, S., Rao, P. N., Kangarlou, A., Kompella, R. R., and Xu, D. vSlicer: latency-aware virtual machine scheduling via differentiated-frequency cpu slicing. In HPDC (2012). Google ScholarDigital Library
Index Terms
- vPipe: Piped I/O Offloading for Efficient Data Movement in Virtualized Clouds
Recommendations
FIOS: a flexible virtualized I/O subsystem to alleviate interference among virtual machines
ICUIMC '12: Proceedings of the 6th International Conference on Ubiquitous Information Management and CommunicationServing as the infrastructure of cloud computing, virtualization technologies have attracted considerable interest in recent years for their excellent resource utility, scalability, and high availability. Virtual Machine Monitor (VMM), which is a key ...
IO Core Manager for Virtual Environments
SYSTOR '16: Proceedings of the 9th ACM International on Systems and Storage ConferencePara-virtualization is the leading approach in IO device virtualization. It allows the hypervisor to interpose on and inspect a virtual machine's I/O traffic at run-time. Examples of such interfaces are KVM's virtio [6] and VMWare's VMXNET [7]. Current ...
Transparently bridging semantic gap in CPU management for virtualized environments
Consolidated environments are progressively accommodating diverse and unpredictable workloads in conjunction with virtual desktop infrastructure and cloud computing. Unpredictable workloads, however, aggravate the semantic gap between the virtual ...
Comments