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.
- Dan Aloni: "Cooperative Linux", the Ottawa Linux Symposium (OLS-2004), pp. 23--31 (2004).Google Scholar
- Fabrice Bellard: "QEMU, a Fast and Portable Dynamic Translator", the USENIX 2005 Annual Technical Conference, FREENIX Track, pp. 41--46 (2005). Google ScholarDigital Library
- 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 ScholarDigital Library
- Jeff Dike: "A user-mode port of the Linux kernel", 4th Annual Linux Showcase & Conference (2000). Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Mark Gates, Ajay Tirumala, Jon Dugan, and Kevin Gibbs: "Iperf User Docs" (2003). http://sourceforge.net/projects/iperfGoogle Scholar
- Robert P. Goldberg: "Survey of Virtual Machine Research. IEEE Computer, pp. 34--45 (1974).Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Krishna Kant: "TCP Offload Performance for Front-End Servers", IEEE Global Telecommunications Conference (GLOBECOM 03), pp. 3242--324 (2003).Google ScholarCross Ref
- Samuel King, George Dunlop, and Peter: "Operating System Support for Virtual Machines", the USENIX Annual Technical Conference (2003). Google ScholarDigital Library
- Avi Kivity, Yaniv Kamay, and Dor Laor: "kvm: the Linux Virtual Machine Monitor", the Linux Symposium, pp. 225--230 (2007).Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Aravind Menon, Alan L. Cox, and Willy Zwaenepoel: "Optimizing Network Virtualization in Xen", the 2006 USENIX Annual Technical Conference, pp. 15--28 (2006). Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- "Paravirtualization API Version 2.0", VMware, http://www.vmware.com (2006).Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Xiaolan Zhang, Suzanne McIntosh, Pankaj Rohatgi, and John Linwood Griffin: "XenSocket: A High-Throughput Interdomain Transport for Virtual Machines", International Middleware Conference (2007). Google ScholarDigital Library
Index Terms
- Fast networking with socket-outsourcing in hosted virtual machine environments
Recommendations
Optimizing virtual machines using hybrid virtualization
Minimizing virtualization overhead and improving the reliability of virtual machines are challenging when establishing virtual machine cluster. Paravirtualization and hardware-assisted virtualization are two mainstream solutions for modern system ...
I/o paravirtualization at the device file boundary
ASPLOS '14Paravirtualization is an important I/O virtualization technology since it uniquely provides all of the following benefits: the ability to share the device between multiple VMs, support for legacy devices without virtualization hardware, and high ...
Comments