Programming language optimizations for modular router configurations
Authors:
Open Access
- 1 October 2002
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 36 (5) , 251-263
Abstract
Networking systems such as Ensemble, the -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.Keywords
This publication has 11 references indexed in Scilit:
- The click modular routerACM Transactions on Computer Systems, 2000
- Optimizing TCP forwarder performanceIEEE/ACM Transactions on Networking, 2000
- BPF+1999
- Eliminating receive livelock in an interrupt-driven kernelACM Transactions on Computer Systems, 1997
- Generating efficient protocol code from an abstract specification1996
- DPF1996
- Analysis of techniques to improve protocol processing latency1996
- The x-Kernel: an architecture for implementing network protocolsIEEE Transactions on Software Engineering, 1991
- TheUNIXSystem: A Stream Input-Output SystemAT&T Bell Laboratories Technical Journal, 1984
- An Algorithm for Subgraph IsomorphismJournal of the ACM, 1976