ABSTRACT
Network devices have become significantly more complex in recent years, with the most sophisticated current devices incorporating one or more general-purpose CPUs as part of their hardware. The need for such processing capability is motivated by the desire to move greater amounts of functionality, of ever-increasing complexity, from the host CPU to the network device itself. A significant challenge in doing so is managing the complexity of the software running on the network device.We believe that the complexity of this software has reached the point where it is now on a par with many general-purpose systems, and thus requires the same management infrastructure--an operating system for network processors.In this paper we describe an architecture for such an OS, presenting the features most relevant to network processors and describing similarities to and differences from a general-purpose OS. We present a prototype implementation using an SMP system as a virtual network processor, and show how our prototype was used to evaluate a novel user-space interface to a network device.
- M. Björkman and P. Gunningberg. Locking effects in multiprocessor implementation of protocols. In Proc. of ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pages 74--83, Sept. 1993.]] Google ScholarDigital Library
- H. Bos, W. de Bruijn, M. Cristea, T. Nguyen, and G. Portokalidis. FFPF: Fairly Fast Packet Filters. In Proc. of the 6th Symp. on Operating Systems Design and Implementation, pages 347--362, San Francisco, CA, Dec. 2004.]] Google ScholarDigital Library
- Compaq Computer Corp., Intel Corporation, Microsoft Corporation. Virtual Interface Architecture Specification Version 1.0, 1997. www.viarch.org.]]Google Scholar
- B. S. Davie. The architecture and implementation of a high-speed host interface. IEEE Journal on Selected Areas in Communications (Special Issue on High Speed Computer/Network Interfaces), 11(2):228--239, February 1993.]]Google Scholar
- B. S. Davie, J. M. Smith, and C. B. S. Traw. Host interfaces for atm networks. In A. N. Tantawy, editor, High Performance Communications, pages 195--224. Kluwer Academic Publishers, 1993.]]Google Scholar
- P. Druschel, L. L. Peterson, and B. S. Davie. Experiences with a high-speed network adaptor: A software perspective. In 1994 ACM SIGCOMM Conference, pages 2--13, Aug.-Sep 1994.]] Google ScholarDigital Library
- A. Edwards and S. Muir. Experiences implementing a high-performance TCP in user-space. In Proc. of ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pages 196--205, Sept. 1995.]] Google ScholarDigital Library
- A. Edwards, G. Watson, J. Lumley, C. Calamvokis, and C. Dalton. User-space protocols deliver high performance to applications on a low-cost gb/s lan. In 1994 ACM SIGCOMM Conference, pages 2--13, Aug.-Sep 1994.]] Google ScholarDigital Library
- D. Ely, S. Savage, and D. Wetherall. Alpine: A User-Level Infrastructure for Network Protocol Development. In USENIX Symposium on Internet Technology, pages 171--184, San Francisco, CA, Mar. 2001.]] Google ScholarDigital Library
- D. R. Engler and M. F. Kaashoek. DPF: Fast, flexible message demultiplexing using dynamic code generation. In Proc. of ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pages 53--59, Aug. 1996.]] Google ScholarDigital Library
- D. Freimuth, E. Hu, J. LaVoie, R. Mraz, E. Nahum, P. Pradhan, and J. Tracy. Server Network Scalability and TCP Offload. In Proc. of the 2005 USENIX Annual Technical Conference, pages 209--222, Anaheim, CA, Apr. 2005.]] Google ScholarDigital Library
- D. J. Greaves, D. McAuley, and L. J. French. Protocol and interface for atm lans. In 5th IEEE Workshop on Metropolitan Area Networks, May 1992.]]Google Scholar
- F. T. Hady et al. Platform level support for high throughput edge applications: The twin cities prototype. IEEE Network, 17(4):22--27, July 2003.]]Google ScholarDigital Library
- R. Hass et al. Creating advanced functions on network processors: Experience and perspectives. IEEE Network, 17(4):46--54, July 2003.]]Google ScholarDigital Library
- H. Kanakia and D. R. Cheriton. The vmp network adapter board (nab): High performance network communication for multiprocessors. In ACM SIGCOMM '88, pages 175--187, August 1988.]] Google ScholarDigital Library
- I. Leslie et al. The design and implementation of an operating system to support distributed multimedia applications. IEEE/ACM Journal on Selected Areas in Communications, 14(7):1280--1297, Sept. 1996.]]Google ScholarDigital Library
- D. McAuley and R. Neugebauer. A case for Virtual Channel Processors. In Proc. of the 1st Workshop on Network-I/O Convergence: Experience. Lessons, Implications, Karlsruhe, Germany, Aug. 2003.]] Google ScholarDigital Library
- S. McCanne and V. Jacobson. The BSD packet filter: A new architecture for user-level packet capture. In Proc. of the Winter USENIX Conference, pages 259--269, Jan. 1993.]] Google ScholarDigital Library
- G. Memik and W. H. Mangione-Smith. NEPAL: A Framework for Efficiently Structuring Applications for Network Processors. In Proc. of 2nd Workshop of Network Processors, Anaheim, CA, February 2003.]]Google Scholar
- I. Mindcraft. WebStone: The benchmark for web servers, 2000. www.mindcraft.com/webstone/.]]Google Scholar
- J. C. Mogul. TCP Offload is a dumb idea whose time has come. In Proc. of USENIX HotOS Workshop, Hawaii, May 2003.]]Google Scholar
- J. C. Mogul and K. K. Ramakrishnan. Eliminating receive livelock in an interrupt-driven kernel. ACM Transactions on Computer Systems, 15(3):217--252, Aug. 1997.]] Google ScholarDigital Library
- E. M. Nahum et al. Performance issues in parallelized network protocols. In Proc. of the 1st Symp. on Operating Systems Design and Implementation, pages 125--137, Nov. 1994.]] Google ScholarDigital Library
- D. P. Olshefski, J. Nieh, and E. Nahum. ksniffer: Determining the Remote Client Perceived Response Time from Live Packet Streams. In Proc. of the 6th Symp. on Operating Systems Design and Implementation, pages 333--346, San Francisco, CA, Dec. 2004.]] Google ScholarDigital Library
- V. S. Pai, P. Druschel, and W. Zwaenepoel. Flash: An efficient and portable web server. In Proc. of the Annual USENIX Technical Conference, June 1999.]] Google ScholarDigital Library
- K. K. Ramakrishnan. Performance considerations in designing network interfaces. IEEE Journal on Selected Areas in Communications (Special Issue on High Speed Computer/Network Interfaces), 11(2):203--219, February 1993.]]Google Scholar
- J. M. Smith and C. B. S. Traw. Giving applications access to Gb/s networking. IEEE Network, 7(4):44--52, July 1993.]]Google ScholarDigital Library
- T. Spalink, S. Karlin, L. Peterson, and Y. Gottlieb. Building a Robust Software-Based Router Using Network Processors. In Proc. of the 18th ACM Symp. on Operating Systems Principles, pages 216--229, Banff, Alberta, Canada, Oct. 2001.]] Google ScholarDigital Library
- D. Stenberg et al. cURL: a client that groks the URL s, Mar. 2001. curl.haxx.se.]]Google Scholar
- M. M. Swift, B. N. Bershad, and H. M. Levy. Improving the reliability of commodity operating systems. ACM Transactions on Computer Systems, 22(4), Nov. 2004.]] Google ScholarDigital Library
- C. A. Thekkath et al. Implementing network protocols at user level. In Proc. of ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pages 64--73, Sept. 1993.]] Google ScholarDigital Library
- T. von Eicken et al. U-Net: A user-level network interface for parallel and distributed computing. In Proc. of the 15th ACM Symp. on Operating Systems Principles, pages 40--53, Dec. 1995.]] Google ScholarDigital Library
- L. Zhang. Virtual Clock: A new traffic control algorithm for packet switching networks. In Proc. of ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pages 19--29, Sept. 1990.]] Google ScholarDigital Library
Index Terms
- An operating system architecture for network processors
Recommendations
Thoth, a portable real-time operating system
Thoth is a real-time operating system which is designed to be portable over a large set of machines. It is currently running on two minicomputers with quite different architectures. Both the system and application programs which use it are written in a ...
The OSCON Operating System Consultant
OSCON (Operating System CONsultant) is an operating system consultant which gives English answers to English queries about computer operating systems. The program currently answers queries for over 40 commands from the UNIX and MS-DOS operating systems. ...
Performance analysis of network operating systems in local area networks
CEA'08: Proceedings of the 2nd WSEAS International Conference on Computer Engineering and ApplicationsIn this paper, in a laboratory environment the performance of four different operating systems (Windows NT4, Windows 2000, Windows 2003, and Linux Fedora) are compared. The performance parameters measured are bandwidth and network delay. Linux Fedora ...
Comments