Affiliation:
1. ICSI Center for Internet Research
2. MIT Lab for Computer Science
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.
Publisher
Association for Computing Machinery (ACM)
Reference18 articles.
1. Pentium Pro Family Developer's Manual Volume 3 1996. http://developer.intel.com/design/pro/manuals. 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. DIGITAL Semiconductor 21140A PCI Fast Ethernet LAN Controller Hardware Reference Manual March 1998. http://developer.intel.com/design/network/manuals.
3. BPF+
4. Generating efficient protocol code from an abstract specification
5. Click Project. The Click modular router (Web site). http://www.pdos.lcs.mit.edu/click/. Click Project. The Click modular router (Web site). http://www.pdos.lcs.mit.edu/click/.