The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
DPF: fast, flexible message demultiplexing using dynamic code generation
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Generating efficient protocol code from an abstract specification
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Analysis of techniques to improve protocol processing latency
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Eliminating receive livelock in an interrupt-driven kernel
ACM Transactions on Computer Systems (TOCS)
BPF+: exploiting global data-flow optimization in a generalized packet filter architecture
Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
Building reliable, high-performance communication systems from components
Proceedings of the seventeenth ACM symposium on Operating systems principles
An Algorithm for Subgraph Isomorphism
Journal of the ACM (JACM)
Optimizing TCP forwarder performance
IEEE/ACM Transactions on Networking (TON)
Building Internet firewalls (2nd ed.)
Building Internet firewalls (2nd ed.)
ACM Transactions on Computer Systems (TOCS)
OS Support for General-Purpose Routers
HOTOS '99 Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems
Knit: component composition for systems software
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
OPERA: An open-source extensible router architecture for adding new network services and protocols
Journal of Systems and Software
A Code Generation Framework for Actor-Oriented Models with Partial Evaluation
ICESS '07 Proceedings of the 3rd international conference on Embedded Software and Systems
Typing Component-Based Communication Systems
FMOODS '09/FORTE '09 Proceedings 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 Systems
Bit-vector algorithms for binary constraint satisfaction and subgraph isomorphism
Journal of Experimental Algorithmics (JEA)
Wanted: systems abstractions for SDN
HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
Rigorous specification and low-latency implementation of technical market indicators
Proceedings of the first workshop on Parallel programming for analytics applications
Hi-index | 0.00 |
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.