This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Virtualizing Network I/O on End-Host Operating System: Operating System Support for Network Control and Resource Protection
October 2004 (vol. 53 no. 10)
pp. 1303-1316
Daniel Moss?, IEEE Computer Society
In the recent past, with the advent of more powerful networks, computations have become more distributed in nature and control of network resources has become essential for Operating Systems (OS). Nevertheless, proposed primitives for network control at end-host OS are designed without an OS design perspective and have been in disagreement with existing OS constructs, causing a variety of problems. In this paper, we propose a new OS service for network control, namely, hierarchical virtualization of network interface. The virtual network interface is hierarchically structured and attached to various OS constructs, such as threads, processes, and sockets, for the control of their network I/O. We show that our proposed mechanism provides the following properties: 1) flexible control granularity, 2) resource protection, 3) reasonable abstraction and Application Programming Interface (API), and 4) various types of packet scheduling and control in a single framework, such as work-conserving and non-work-conserving, in accordance with existing OS mechanisms. For a proof of concept, we present an implementation on a PC-Unix, using the file system abstraction, and carry out systematic profiling. The system exhibited the expected control behavior, that is, good responsiveness to the control commands while keeping the performance penalty small.

[1] G. Banga, P. Druschel, and J.C. Mogul, Resource Containers: A New Facility for Resource Management in Server Systems Proc. Third USENIX Symp. Operating Systems Design and Implementation (OSDI), Oct. 1999.
[2] K. Cho, A Framework for Alternate Queueing: Towards Traffic Management by PC-UNIX Based Routers Proc. USENIX Ann. Technical Conf., pp. 247-258, June 1998.
[3] Ensim Corp.,http:/www.ensim.com/, 1998.
[4] P. Druschel and G. Banga, Lazy Receiver Processing (LRP): A Network Subsystem Architecture for Server Systems Proc. Second USENIX Symp. Operating Systems Design and Implementation (OSDI), Feb. 1996.
[5] T. Eicken, A. Basu, V. Buch, and W. Vogels, U-Net: A User-Level Network Interface for Parallel and Distributed Computing Proc. SIGOPS '95, 1995.
[6] T. Eicken and W. Vogels, Evolution of the Virtual Interface Architecture Computer, vol. 31, no. 11, pp. 61-68, Nov. 1998.
[7] R. Faulkner and R. Gomes, The Process File System and Process Model in UNIX System V Proc. Winter 1991 USENIX Conf., pp. 243-252, 1991.
[8] M.E. Fiuczynski and B.N. Bershad, An Extensible Protocol Architecture for Application-Specific Networking Proc. 1996 Winter USENIX Conf., pp. 55-64, 1996.
[9] S. Floyd and V. Jacobson, “Link-Sharing and Resource Management Models for Packet Networks,” IEEE Trans. Networking, vol. 3, no. 4, pp. 365-386, Aug. 1995.
[10] The Free BSD Project,http:/www.freebsd.org/, 1995.
[11] B. Hubert, Linux Advanced Routing and Traffic Control http:/www.lartc.org/, 2000.
[12] J.C. Mogul, Eliminating Receive Livelock in an Interrupt-Driven Kernel Proc. USENIX 1996 Annual Tech. Conf., Oct. 1996.
[13] D. Mosberger and L.L. Peterson, Making Paths Explicit in the Scout Operating System Proc. Second USENIX Symp. Operating Systems Design and Implementation (OSDI), Feb. 1996.
[14] T. Okumura, M. Moir, and D. Mosse, Netnice: Nice Is Not Only for CPUs Proc. Ninth Int'l Conf. Computer Comm.n and Network (ICCCN2000), Oct. 2000.
[15] T. Okumura, D. Mosse, M. Minami, and O. Nakamura, Operating System Support for Network Control Proc. 10th Int'l Workshop Quality of Service (IWQoS2002), May 2002.
[16] T. Okumura, D. Mosse, M. Minami, and O. Nakamura, Quality of Service Manager for Load-Balancing Clusters: An End-Host Retrofitting Event-Handler Approach by Netniced Proc. Third IEEE/ACM Int'l Symp. Cluster Computing and the Grid (CCGrid 2003), May 2003.
[17] D. Presotto and P. Winterbottom, The Organization of Networks in Plan 9 Proc. Winter 1993 USENIX Tech. Conf., pp. 271-280, 1993.
[18] E.R. Braden, RFC 2205: Resource ReSerVation Protocol (RSVP)-Version 1. IETF, Sept. 1997.
[19] L. Rizzo, Dummynet: A Simple Approach to the Evaluation of Network Protocols Computer Comm. Rev., vol. 27, no. 1, pp. 31-41, Jan. 1997.
[20] H. Schulzrinne and R. Lanphier, RFC2326: Real Time Streaming Protocol (RTSP). The Internet Soc., 1998.
[21] O. Spatscheck and L.L. Peterson, Defending against Denial of Service Attacks in Scout Proc. Third USENIX Symp. Operating Systems Design and Implementation (OSDI), Oct. 1999.
[22] J. Sugerman, G. Venkitachalam, and B.H. Lim, Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor Proc. 2001 USENIX Ann. Technical Conf., June 2001.
[23] D. Verma, H. Zhang, and D. Ferrari, Processes as Files Proc. USENIX Assoc. Conf., pp. 203-207, 1984.
[24] VMware,http:/www.vmware.com/, 1998.

Index Terms:
Operating systems, process management, network communication.
Citation:
Takashi Okumura, Daniel Moss?, "Virtualizing Network I/O on End-Host Operating System: Operating System Support for Network Control and Resource Protection," IEEE Transactions on Computers, vol. 53, no. 10, pp. 1303-1316, Oct. 2004, doi:10.1109/TC.2004.86
Usage of this product signifies your acceptance of the Terms of Use.