skip to main content
10.1145/1095890.1095900acmconferencesArticle/Chapter ViewAbstractPublication PagesancsConference Proceedingsconference-collections
Article

An operating system architecture for network processors

Published:26 October 2005Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Compaq Computer Corp., Intel Corporation, Microsoft Corporation. Virtual Interface Architecture Specification Version 1.0, 1997. www.viarch.org.]]Google ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Hass et al. Creating advanced functions on network processors: Experience and perspectives. IEEE Network, 17(4):46--54, July 2003.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle Scholar
  20. I. Mindcraft. WebStone: The benchmark for web servers, 2000. www.mindcraft.com/webstone/.]]Google ScholarGoogle Scholar
  21. J. C. Mogul. TCP Offload is a dumb idea whose time has come. In Proc. of USENIX HotOS Workshop, Hawaii, May 2003.]]Google ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. J. M. Smith and C. B. S. Traw. Giving applications access to Gb/s networking. IEEE Network, 7(4):44--52, July 1993.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. D. Stenberg et al. cURL: a client that groks the URL s, Mar. 2001. curl.haxx.se.]]Google ScholarGoogle Scholar
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An operating system architecture for network processors

      Recommendations

      Reviews

      Ivan Flores

      This well-written paper will help both novice and sophisticated users of operating systems (OSs) gain an understanding of networking principles. It describes the implementation of an architecture for a system that uses a symmetric multiprocessor (SMP) as a virtual network processor. The network interface card (NIC) is at the heart of this approach. It has several functions, including offloading all or part of the network stack, filtering network traffic, monitoring traffic, and supporting remote management. Among the reasons why the NIC is employed are that it permits multitasking, isolates activity, sets up a list of functions, and hides the details of activity. To explain the high-level OS architecture, the authors provide a typical example, called LiNK (for lightweight NIC kernel). It has the following features: a simple kernel structure, concurrent support for multiple applications, memory protection, a flexible language facility, and support for dynamic loading. The authors developed an implementation that runs on top of the SMP hardware to compare results under different environments, and to contrast polling versus interrupts, packet frame size, action sequencing, and other parameters. The investigators used the LiNK prototype to implement a new user-space application programming interface (API) for a single copy network protocol stack, using Vivek Pai's Flash, running in a small test bed. Two other applications were run. The authors also describe similar work by other investigators. The NIC hardware has become universal, but the software to run it is still relatively primitive, and needs further effort to improve its efficiency. LiNK is a new tool that should be implemented on other devices. The virtual network processor model could be used effectively in production systems. Online Computing Reviews Service

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      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
        ANCS '05: Proceedings of the 2005 ACM symposium on Architecture for networking and communications systems
        October 2005
        230 pages
        ISBN:1595930825
        DOI:10.1145/1095890

        Copyright © 2005 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: 26 October 2005

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate88of314submissions,28%
      • Article Metrics

        • Downloads (Last 12 months)4
        • Downloads (Last 6 weeks)1

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader