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

Cited By

View all
  • (2023)Maximizing VMs' IO Performance on Overcommitted CPUs with FairnessProceedings of the 2023 ACM Symposium on Cloud Computing10.1145/3620678.3624649(93-108)Online publication date: 30-Oct-2023
  • (2022)Portkey: hypervisor-assisted container migration in nested cloud environmentsProceedings of the 18th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3516807.3516817(3-17)Online publication date: 25-Feb-2022
  • (2021)Enhancing Performance and Energy Efficiency for Hybrid Workloads in Virtualized Cloud EnvironmentIEEE Transactions on Cloud Computing10.1109/TCC.2018.28370409:1(168-181)Online publication date: 1-Jan-2021
  • Show More Cited By

Index Terms

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

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 03 November 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Cloud Computing
    2. I/O
    3. Virtualization

    Qualifiers

    • Tutorial
    • Research
    • Refereed limited

    Conference

    SOCC '14
    Sponsor:
    SOCC '14: ACM Symposium on Cloud Computing
    November 3 - 5, 2014
    WA, Seattle, USA

    Acceptance Rates

    Overall Acceptance Rate 169 of 722 submissions, 23%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 07 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Maximizing VMs' IO Performance on Overcommitted CPUs with FairnessProceedings of the 2023 ACM Symposium on Cloud Computing10.1145/3620678.3624649(93-108)Online publication date: 30-Oct-2023
    • (2022)Portkey: hypervisor-assisted container migration in nested cloud environmentsProceedings of the 18th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3516807.3516817(3-17)Online publication date: 25-Feb-2022
    • (2021)Enhancing Performance and Energy Efficiency for Hybrid Workloads in Virtualized Cloud EnvironmentIEEE Transactions on Cloud Computing10.1109/TCC.2018.28370409:1(168-181)Online publication date: 1-Jan-2021
    • (2020)vSMT-IOProceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference10.5555/3489146.3489176(449-463)Online publication date: 15-Jul-2020
    • (2020)I/O Strength-Aware Credit Scheduler for Virtualized EnvironmentsElectronics10.3390/electronics91221079:12(2107)Online publication date: 10-Dec-2020
    • (2019)Improving Spatial Locality in Virtual Machine for Flash StorageIEEE Access10.1109/ACCESS.2018.28864737(1668-1676)Online publication date: 2019
    • (2018)Effectively mitigating I/O inactivity in vCPU schedulingProceedings of the 2018 USENIX Conference on Usenix Annual Technical Conference10.5555/3277355.3277382(267-279)Online publication date: 11-Jul-2018
    • (2018)TerrierTail: Mitigating Tail Latency of Cloud Virtual MachinesIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2018.282707529:10(2346-2359)Online publication date: 1-Oct-2018
    • (2018)On Multiple Virtual NICs in Cloud Computing: Performance Bottleneck and EnhancementIEEE Systems Journal10.1109/JSYST.2017.274760312:3(2417-2427)Online publication date: Sep-2018
    • (2018)ppXen: A hypervisor CPU scheduler for mitigating performance variability in virtualized cloudsFuture Generation Computer Systems10.1016/j.future.2018.01.01583(75-84)Online publication date: Jun-2018
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media