Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/605397.605424acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
Article

Programming language optimizations for modular router configurations

Published: 01 October 2002 Publication History

Abstract

Networking systems such as Ensemble, the x-kernel, Scout, and Click achieve flexibility by building routers and other packet processors from modular components. Unfortunately, component designs are often slower than purpose-built code, and routers in particular have stringent efficiency requirements. This paper addresses the efficiency problems of one component-based router, Click, through optimization tools inspired in part by compiler optimization passes. This pragmatic approach can result in significant performance improvements; for example, the combination of three optimizations reduces the amount of CPU time Click requires to process a packet in a simple IP router by 34%. We present several optimization tools, describe how those tools affected the design of Click itself, and present detailed evaluations of Click's performance with and without optimization.

References

[1]
Pentium Pro Family Developer's Manual, Volume 3, 1996. http://developer.intel.com/design/pro/manuals.
[2]
DIGITAL Semiconductor 21140A PCI Fast Ethernet LAN Controller Hardware Reference Manual, March 1998. http://developer.intel.com/design/network/manuals.
[3]
Andrew Begel, Steven McCanne, and Susan L. Graham. BPF+: Exploiting global data-flow optimization in a generalized packet filter architecture. In Proc. ACM SIGCOMM Conference (SIGCOMM '99), pages 123-134, August 1999.
[4]
Claude Castelluccia, Walid Dabbous, and Sean O'Malley. Generating efficient protocol code from an abstract specification. In Proc. ACM SIGCOMM Conference (SIGCOMM '96), pages 60-71, August 1996.
[5]
Click Project. The Click modular router (Web site). http://www.pdos.lcs.mit.edu/click/.
[6]
Julian Elischer and Archie Cobbs. Netgraph. ftp://ftp.whistle.com/pub/archie/netgraph/index.html.
[7]
Dawson Engler and M. Frans Kaashoek. DPF: Fast, flexible message demultiplexing using dynamic code generation. In Proc. ACM SIGCOMM Conference (SIGCOMM '96), pages 53-59, August 1996.
[8]
N. C. Hutchinson and L. L. Peterson. The x-kernel: an architecture for implementing network protocols. IEEE Trans. Software Engineering, 17(1):64-76, January 1991.
[9]
Xiaoming Liu, Christoph Kreitz, Robbert van Renesse, Jason Hickey, Mark Hayden, Kenneth Birman, and Robert Constable. Building reliable, high-performance communication systems from components. In Proc. 17th ACM Symposium on Operating Systems Principles (SOSP), pages 80-92, December 1999.
[10]
Jeffrey C. Mogul and K. K. Ramakrishnan. Eliminating receive livelock in an interrupt-driven kernel. ACM Trans. Computer Systems, 15(3):217-252, August 1997.
[11]
Robert Morris, Eddie Kohler, Benjie Chen, John Jannotti, and M. Frans Kaashoek. The Click modular router. ACM Trans. Computer Systems, 18(3):263-297, August 2000.
[12]
David Mosberger, Larry L. Peterson, Patrick G. Bridges, and Sean O'Malley. Analysis of techniques to improve protocol processing latency. In Proc. ACM SIGCOMM Conference (SIGCOMM '96), pages 73-84, August 1996.
[13]
Larry L. Peterson, Scott C. Karlin, and Kai Li. OS support for general-purpose routers. In Proc. 7th Workshop on Hot Topics in Operating Systems (HotOS-VII), pages 38-43. IEEE Computer Society Technical Committee on Operating Systems, March 1999.
[14]
Alastair Reid, Matthew Flatt, Leigh Stoller, Jay Lepreau, and Eric Eide. Knit: Component composition for systems software. In Proc. 4th ACM Symposium on Operating Systems Design and Implementation (OSDI 2000), pages 347-360, October 2000.
[15]
D. M. Ritchie. A stream input-output system. AT&T Bell Laboratories Technical Journal, 63(8):1897-1910, October 1984.
[16]
Oliver Spatscheck, Jorgen S. Hansen, John H. Hartman, and Larry L. Peterson. Optimizing TCP forwarder performance. IEEE/ACM Trans. Networking, April 2000.
[17]
J. R. Ullmann. An algorithm for subgraph isomorphism. J. Assoc. Comput. Mach., 23:31-42, 1976.
[18]
Elizabeth D. Zwicky, Simon Cooper, and D. Brent Chapman. Building Internet Firewalls, Second Edition. O'Reilly and Associates, Sebastopol, California, 2000.

Cited By

View all
  • (2022)The benefits of general-purpose on-NIC memoryProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3503222.3507711(1130-1147)Online publication date: 28-Feb-2022
  • (2021)PacketMill: toward per-Core 100-Gbps networkingProceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3445814.3446724(1-17)Online publication date: 19-Apr-2021
  • (2012)EasyPDPIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2011.21823:5(862-872)Online publication date: 1-May-2012
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASPLOS X: Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
October 2002
318 pages
ISBN:1581135742
DOI:10.1145/605397
  • cover image ACM SIGOPS Operating Systems Review
    ACM SIGOPS Operating Systems Review  Volume 36, Issue 5
    December 2002
    296 pages
    ISSN:0163-5980
    DOI:10.1145/635508
    Issue’s Table of Contents
  • cover image ACM SIGARCH Computer Architecture News
    ACM SIGARCH Computer Architecture News  Volume 30, Issue 5
    Special Issue: Proceedings of the 10th annual conference on Architectural Support for Programming Languages and Operating Systems
    December 2002
    296 pages
    ISSN:0163-5964
    DOI:10.1145/635506
    Issue’s Table of Contents
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 37, Issue 10
    October 2002
    296 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/605432
    Issue’s Table of Contents
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: 01 October 2002

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ASPLOS02

Acceptance Rates

ASPLOS X Paper Acceptance Rate 24 of 175 submissions, 14%;
Overall Acceptance Rate 535 of 2,713 submissions, 20%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2022)The benefits of general-purpose on-NIC memoryProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3503222.3507711(1130-1147)Online publication date: 28-Feb-2022
  • (2021)PacketMill: toward per-Core 100-Gbps networkingProceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3445814.3446724(1-17)Online publication date: 19-Apr-2021
  • (2012)EasyPDPIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2011.21823:5(862-872)Online publication date: 1-May-2012
  • (2011)Bit-vector algorithms for binary constraint satisfaction and subgraph isomorphismACM Journal of Experimental Algorithmics10.1145/1671970.192170215(1.1-1.64)Online publication date: 7-Feb-2011
  • (2009)Typing Component-Based Communication SystemsProceedings of the Joint 11th IFIP WG 6.1 International Conference FMOODS '09 and 29th IFIP WG 6.1 International Conference FORTE '09 on Formal Techniques for Distributed Systems10.1007/978-3-642-02138-1_11(167-181)Online publication date: 15-Jun-2009
  • (2007)Evaluating MapReduce for Multi-core and Multiprocessor SystemsProceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture10.1109/HPCA.2007.346181(13-24)Online publication date: 10-Feb-2007
  • (2007)A Code Generation Framework for Actor-Oriented Models with Partial EvaluationProceedings of the 3rd international conference on Embedded Software and Systems10.1007/978-3-540-72685-2_19(193-206)Online publication date: 14-May-2007
  • (2005)Shangri-LaProceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation10.1145/1065010.1065038(224-236)Online publication date: 12-Jun-2005
  • (2005)Shangri-LaACM SIGPLAN Notices10.1145/1064978.106503840:6(224-236)Online publication date: 12-Jun-2005
  • (2005)OPERAJournal of Systems and Software10.1016/j.jss.2005.01.00878:1(24-36)Online publication date: 1-Oct-2005
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media