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 2009Publication 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).Google ScholarGoogle Scholar
  2. Fabrice Bellard: "QEMU, a Fast and Portable Dynamic Translator", the USENIX 2005 Annual Technical Conference, FREENIX Track, pp. 41--46 (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Jeff Dike: "A user-mode port of the Linux kernel", 4th Annual Linux Showcase & Conference (2000). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Mark Gates, Ajay Tirumala, Jon Dugan, and Kevin Gibbs: "Iperf User Docs" (2003). http://sourceforge.net/projects/iperfGoogle ScholarGoogle Scholar
  8. Robert P. Goldberg: "Survey of Virtual Machine Research. IEEE Computer, pp. 34--45 (1974).Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Krishna Kant: "TCP Offload Performance for Front-End Servers", IEEE Global Telecommunications Conference (GLOBECOM 03), pp. 3242--324 (2003).Google ScholarGoogle ScholarCross RefCross Ref
  12. Samuel King, George Dunlop, and Peter: "Operating System Support for Virtual Machines", the USENIX Annual Technical Conference (2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Avi Kivity, Yaniv Kamay, and Dor Laor: "kvm: the Linux Virtual Machine Monitor", the Linux Symposium, pp. 225--230 (2007).Google ScholarGoogle Scholar
  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).Google ScholarGoogle Scholar
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Aravind Menon, Alan L. Cox, and Willy Zwaenepoel: "Optimizing Network Virtualization in Xen", the 2006 USENIX Annual Technical Conference, pp. 15--28 (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).Google ScholarGoogle Scholar
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).Google ScholarGoogle Scholar
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. "Paravirtualization API Version 2.0", VMware, http://www.vmware.com (2006).Google ScholarGoogle Scholar
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Xiaolan Zhang, Suzanne McIntosh, Pankaj Rohatgi, and John Linwood Griffin: "XenSocket: A High-Throughput Interdomain Transport for Virtual Machines", International Middleware Conference (2007). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

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

      Copyright © 2009 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: 8 March 2009

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate1,650of6,669submissions,25%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader