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
  • Get Citation Alerts
  • 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)0
    Reflects downloads up to 27 Jul 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