skip to main content
10.1145/2670979.2671006acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
tutorial

vPipe: Piped I/O Offloading for Efficient Data Movement in Virtualized Clouds

Published:03 November 2014Publication History

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.

References

  1. GNUMP3d {GNU MP3/Media Streamer}. http://www.gnu.org/software/gnump3d/.Google ScholarGoogle Scholar
  2. Lighttpd web server. http://www.lighttpd.net/.Google ScholarGoogle Scholar
  3. lookbusy -- a synthetic load generator. http://www.devin.com/lookbusy/.Google ScholarGoogle Scholar
  4. MPlayer - The movie player. http://www.mplayerhq.hu/.Google ScholarGoogle Scholar
  5. Pound: Reverse-Proxy and Load-Balancer, 2013. http://www.apsis.ch/pound.Google ScholarGoogle Scholar
  6. Agesen, O., Mattson, J., Rugina, R., and Sheldon, J. Software techniques for avoiding hardware virtualization exits. In USENIX ATC (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Ahmad, I., Gulati, A., and Mashtizadeh, A. vIC: Interrupt coalescing for virtual machine storage device IO. In USENIX ATC (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Billaud, J.-P., and Gulati, A. hClock: Hierarchical QoS for packet scheduling in a hypervisor. In EuroSys (2013). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. Gamage, S., Kompella, R. R., and Xu, D. vPipe: one pipe to connect them all. In USENIX HotCloud (2013).Google ScholarGoogle Scholar
  11. Garfinkel, T., and Rosenblum, M. A virtual machine introspection based architecture for intrusion detection. In NDSS (2003).Google ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. Gordon, A., Ben-Yehuda, M., Filimonov, D., and Dahan, M. VAMOS: virtualization aware middleware. In WIOV (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gulati, A., Merchant, A., and Varman, P. mClock: Handling throughput variability for hypervisor IO scheduling. In USENIX OSDI'10 (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jujjuri, V., Hensbergen, E. V., and Liguori, A. VirtFSa virtualization aware file system pass-through. In OLS (2010).Google ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. Menon, A., Cox, A. L., and Zwaenepoel, W. Optimizing network virtualization in Xen. In USENIX ATC (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. Menon, A., and Zwaenepoel, W. Optimizing TCP receive performance. In USENIX ATC (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Shalev, L., Satran, J., Borovik, E., and Ben-Yehuda, M. IsoStack: Highly efficient network processing on dedicated cores. In USENIX ATC (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Waldspurger, C., and Rosenblum, M. I/O virtulization. In Communications of the ACM (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. vPipe: Piped I/O Offloading for Efficient Data Movement in Virtualized Clouds

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SOCC '14: Proceedings of the ACM Symposium on Cloud Computing
      November 2014
      383 pages
      ISBN:9781450332521
      DOI:10.1145/2670979

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 3 November 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • tutorial
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate169of722submissions,23%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader