skip to main content
10.1145/1529282.1529350acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Fast networking with socket-outsourcing in hosted virtual machine environments

Published: 08 March 2009 Publication History

Abstract

This paper proposes a novel method of achieving fast networking in hosted virtual machine (VM) environments. This method, called socket-outsourcing, replaces the socket layer in a guest operating system (OS) with the socket layer of the host OS. Socket-outsourcing increases network performance by eliminating duplicate message copying in both the host OS and the guest OS. Furthermore, socket-outsourcing significantly enhances inter-VM communication within the same host OS since it enables network packets to bypass the protocol stack in guest OSes. Socket-outsourcing was implemented in two representative operating systems (Linux and NetBSD) and on two virtual machine monitors (Linux KVM and PansyVM). These virtual machine monitors provided support for socket-outsourcing through shard memory, event queues, and VM-specific Remote Procedure Call between a guest OS and a host OS. The experimental results revealed that a guest OS outsourcing the socket layer achieved the same network throughput as a native OS using up to four Gigabit Ethernet links. Moreover, the benchmark results obtained from an N-tier Web application that generated a significant amount of inter-VM communication indicated that socket-outsourcing improved performance by up to 45 percent compared with conventional hosted VM environments.

References

[1]
Dan Aloni: "Cooperative Linux", the Ottawa Linux Symposium (OLS-2004), pp. 23--31 (2004).
[2]
Fabrice Bellard: "QEMU, a Fast and Portable Dynamic Translator", the USENIX 2005 Annual Technical Conference, FREENIX Track, pp. 41--46 (2005).
[3]
Emmanuel Cecchet, Julie Marguerite, and Willy Zwaenepoel: "Performance and scalability of EJB applications", Object Oriented Programming Systems Languages and Applications (OOPSLA), pp. 246--261 (2002).
[4]
Jeff Dike: "A user-mode port of the Linux kernel", 4th Annual Linux Showcase & Conference (2000).
[5]
Hideki Eiraku and Yasushi Shinjo: "Running BSD Kernels as User Processes by Partial Emulation and Rewriting of Machine Instructions", the USENIX BSDCon 2003 Conference (BSDCon'03), pp. 91--102 (Sep. 2003).
[6]
Doug Freimuth, Elbert Hu, Jason LaVoie, Ronald Mraz, Erich Nahum, Prashant Pradhan, and John Tracey: "Server Network Scalability and TCP Offload", the USENIX Annual Technical Conference, pp. 209-222 (2005).
[7]
Mark Gates, Ajay Tirumala, Jon Dugan, and Kevin Gibbs: "Iperf User Docs" (2003). http://sourceforge.net/projects/iperf
[8]
Robert P. Goldberg: "Survey of Virtual Machine Research. IEEE Computer, pp. 34--45 (1974).
[9]
Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield: "Xen and the Art of Virtualization", 19th ACM Symposium on Operating Systems Principles, pp. 164--177 (2003).
[10]
Kangho Kim, Cheiyol Kim, Sung-In Jung, Hyun-Sup Shin, and Jin-Soo Kim: "Inter-domain socket communications supporting high performance and full binary compatibility on Xen", International Conference on Virtual Execution Environments (VEE-08), pp. 11--20 (2008).
[11]
Krishna Kant: "TCP Offload Performance for Front-End Servers", IEEE Global Telecommunications Conference (GLOBECOM 03), pp. 3242--324 (2003).
[12]
Samuel King, George Dunlop, and Peter: "Operating System Support for Virtual Machines", the USENIX Annual Technical Conference (2003).
[13]
Avi Kivity, Yaniv Kamay, and Dor Laor: "kvm: the Linux Virtual Machine Monitor", the Linux Symposium, pp. 225--230 (2007).
[14]
Younggyun Koh, Calton Pu, Sapan Bhatia, and Charles Consel: "Efficient Packet Processing in User-Level OSes: A Study of UML", the 31st IEEE Conference on Local Computer Networks (2006).
[15]
Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman: "The Design and Implementation of the 4.4 BSD Operating System", Addison Wesley (1996).
[16]
Aravind Menon, Alan L. Cox, and Willy Zwaenepoel: "Optimizing Network Virtualization in Xen", the 2006 USENIX Annual Technical Conference, pp. 15--28 (2006).
[17]
John Scott Robin and Cynthia E. Irvine: "Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor", the USENIX Security Symposium (2000).
[18]
Murali Rangarajan, Aniruddha Bohra, Kalpana Banerjee, Enrique V. Carrera, Ricardo Bianchini, Liviu Iftode, and Willy Zwaenepoel: "TCP Servers: Offloading TCP/IP Processing in Internet Servers. Design, Implementation, and Performance", Computer Science Department, Rutgers University, Technical Report DCR-TR-48 (2002).
[19]
Greg Regnier, Srihari Makineni, Ramesh Illikkal, Ravi Iyer, Dave Minturn, Ram Huggahalli, Don Newell, Linda Cline, and Annie Foong: "TCP Onloading for Data Center Servers", IEEE Computer, pp. 48--58 (2004).
[20]
Mendel Rosenblum and Tal Garfinkel: "Virtual Machine Monitors: Current Technology and Future Trends", IEEE Computer, Vol. 38, No. 5 pp. 39--47 (May 2005).
[21]
Rusty Russell: "Virtio: towards a de-facto standard for virtual I/O devices", ACM SIGOPS Operating Systems Review, Vol. 42, No. 95--103 (2008).
[22]
Sunghoon Son, Jaeyol Kim, Eunji Lim, and Sungin Jung: "SOP: A Socket Interface for TOEs", Internet and Multimedia Systems and Applications, pp. 294--299 (2004).
[23]
Jeremy Sugerman, Ganesh Venkitachalam, and Beng-Hong Lim: "Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor", the 2001 USENIX Annual Technical Conference (2001).
[24]
"Paravirtualization API Version 2.0", VMware, http://www.vmware.com (2006).
[25]
Carl A. Waldspurger: "Memory Resource Management in VMware ESX Server", 5th Symposium on Operating Systems Design and Implementation (OSDI-2002), pp. 181--194 (2002).
[26]
Jian Wang, Kwame-Lante Wright, and Kartik Gopalan: "XenLoop: A Transparent High Performance Inter-VM Network Loopback", International Symposium on High Performance Distributed Computing, pp. 109--118 (2008).
[27]
Xiaolan Zhang, Suzanne McIntosh, Pankaj Rohatgi, and John Linwood Griffin: "XenSocket: A High-Throughput Interdomain Transport for Virtual Machines", International Middleware Conference (2007).

Cited By

View all
  • (2025)Compounded Real-Time Operating Systems for Rich Real-Time ApplicationsIEEE Access10.1109/ACCESS.2025.353856113(26079-26104)Online publication date: 2025
  • (2024)Slim and Fast: Low-Overhead Container Overlay Network With Fast Connection SetupIEEE Transactions on Cloud Computing10.1109/TCC.2023.328223812:1(1-12)Online publication date: Jan-2024
  • (2020)A robust and flexible operating system compatibility architectureProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381327(129-142)Online publication date: 17-Mar-2020
  • Show More Cited By

Index Terms

  1. Fast networking with socket-outsourcing in hosted virtual machine environments

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SAC '09: Proceedings of the 2009 ACM symposium on Applied Computing
    March 2009
    2347 pages
    ISBN:9781605581668
    DOI:10.1145/1529282
    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: 08 March 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. guest operating systems
    2. host operating systems
    3. hosted virtual machine monitors
    4. outsourcing
    5. paravirtualization
    6. socket API
    7. virtualization

    Qualifiers

    • Research-article

    Conference

    SAC09
    Sponsor:
    SAC09: The 2009 ACM Symposium on Applied Computing
    March 8, 2009 - March 12, 2008
    Hawaii, Honolulu

    Acceptance Rates

    Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

    Upcoming Conference

    SAC '25
    The 40th ACM/SIGAPP Symposium on Applied Computing
    March 31 - April 4, 2025
    Catania , Italy

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)14
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 17 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Compounded Real-Time Operating Systems for Rich Real-Time ApplicationsIEEE Access10.1109/ACCESS.2025.353856113(26079-26104)Online publication date: 2025
    • (2024)Slim and Fast: Low-Overhead Container Overlay Network With Fast Connection SetupIEEE Transactions on Cloud Computing10.1109/TCC.2023.328223812:1(1-12)Online publication date: Jan-2024
    • (2020)A robust and flexible operating system compatibility architectureProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381327(129-142)Online publication date: 17-Mar-2020
    • (2020)Obtaining hard real-time performance and rich Linux features in a compounded real-time operating system by a partitioning hypervisorProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381323(59-72)Online publication date: 17-Mar-2020
    • (2019)SlimProceedings of the 16th USENIX Conference on Networked Systems Design and Implementation10.5555/3323234.3323263(331-344)Online publication date: 26-Feb-2019
    • (2019)An Efficient and Transparent Approach for Adaptive Intra-and Inter-Node Virtual Machine Communication in Virtualized Clouds2019 IEEE 25th International Conference on Parallel and Distributed Systems (ICPADS)10.1109/ICPADS47876.2019.00014(35-44)Online publication date: Dec-2019
    • (2018)Grafting sockets for fast container networkingProceedings of the 2018 Symposium on Architectures for Networking and Communications Systems10.1145/3230718.3230723(15-27)Online publication date: 23-Jul-2018
    • (2018)Circuit Switched VM Networks for Zero-Copy IOProceedings of the 2018 Afternoon Workshop on Kernel Bypassing Networks10.1145/3229538.3229539(1-7)Online publication date: 7-Aug-2018
    • (2018)Achieving Consistent Real-Time Latency at Scale in a Commodity Virtual Machine Environment Through Socket Outsourcing-Based Network StacksIEEE Access10.1109/ACCESS.2018.28772966(69961-69977)Online publication date: 2018
    • (2018)Implementation and Comparative Evaluation of an Outsourcing Approach to Real-Time Network Services in Commodity Hosted EnvironmentsCloud Computing – CLOUD 201810.1007/978-3-319-94295-7_13(189-205)Online publication date: 19-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

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media