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

An operating system architecture for network processors

Published: 26 October 2005 Publication 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.]]
[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.]]
[3]
Compaq Computer Corp., Intel Corporation, Microsoft Corporation. Virtual Interface Architecture Specification Version 1.0, 1997. www.viarch.org.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[14]
R. Hass et al. Creating advanced functions on network processors: Experience and perspectives. IEEE Network, 17(4):46--54, July 2003.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[20]
I. Mindcraft. WebStone: The benchmark for web servers, 2000. www.mindcraft.com/webstone/.]]
[21]
J. C. Mogul. TCP Offload is a dumb idea whose time has come. In Proc. of USENIX HotOS Workshop, Hawaii, May 2003.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[27]
J. M. Smith and C. B. S. Traw. Giving applications access to Gb/s networking. IEEE Network, 7(4):44--52, July 1993.]]
[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.]]
[29]
D. Stenberg et al. cURL: a client that groks the URL s, Mar. 2001. curl.haxx.se.]]
[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.]]
[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.]]
[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.]]
[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.]]

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 October 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. network processors
  2. operating systems

Qualifiers

  • Article

Conference

ANCS05

Acceptance Rates

Overall Acceptance Rate 88 of 314 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 989
    Total Downloads
  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media