Analysis and simulation of a fair queueing algorithm
SIGCOMM '89 Symposium proceedings on Communications architectures & protocols
Introduction to algorithms
Interconnections: bridges and routers
Interconnections: bridges and routers
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
Small forwarding tables for fast routing lookups
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Scalable high speed IP routing lookups
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Fast and scalable layer four switching
Proceedings of the ACM SIGCOMM '98 conference on Applications, technologies, architectures, and protocols for computer communication
High-speed policy-based packet forwarding using efficient multi-dimensional range matching
Proceedings of the ACM SIGCOMM '98 conference on Applications, technologies, architectures, and protocols for computer communication
Fast address lookups using controlled prefix expansion
ACM Transactions on Computer Systems (TOCS)
An Estimate of the Store Size Necessary for Dynamic Storage Allocation
Journal of the ACM (JACM)
Bounds for Some Functions Concerning Dynamic Storage Allocation
Journal of the ACM (JACM)
A real-time garbage collector based on the lifetimes of objects
Communications of the ACM
List processing in real time on a serial computer
Communications of the ACM
Operating System Concepts
Tiny Tera: A Packet Switch Core
IEEE Micro
Dynamic Storage Allocation: A Survey and Critical Review
IWMM '95 Proceedings of the International Workshop on Memory Management
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
Fast address look-up for internet routers
BC '98 Proceedings of the IFIP TC6/WG6.2 Fourth International Conference on Broadband Communications: The future of telecommunications
Design of a Gigabit ATM Switch
INFOCOM '97 Proceedings of the INFOCOM '97. Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Driving the Information Revolution
Non-compacting memory allocation and real-time garbage collection
Non-compacting memory allocation and real-time garbage collection
Wide-area Internet traffic patterns and characteristics
IEEE Network: The Magazine of Global Internetworking
Lightweight network support for scalable end-to-end services
Proceedings of the 2002 conference on Applications, technologies, architectures, and protocols for computer communications
Caching queues in memory buffers
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
Tree bitmap: hardware/software IP lookups with incremental updates
ACM SIGCOMM Computer Communication Review
End-to-end congestion control for TCP-friendly flows with variable packet size
ACM SIGCOMM Computer Communication Review
Parallelism versus memory allocation in pipelined router forwarding engines
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Adaptive data structures for IP lookups
Journal of Experimental Algorithmics (JEA)
A Tree Based Router Search Engine Architecture with Single Port Memories
Proceedings of the 32nd annual international symposium on Computer Architecture
Fast incremental updates for pipelined forwarding engines
IEEE/ACM Transactions on Networking (TON)
Dynamic pipelining: making IP-lookup truly scalable
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Level compressed DAGs for lookup tables
Computer Networks: The International Journal of Computer and Telecommunications Networking
Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture
Proceedings of the 33rd annual international symposium on Computer Architecture
Efficient IP forwarding engine with incremental update
Journal of High Speed Networks
Level compressed DAGs for lookup tables
Computer Networks: The International Journal of Computer and Telecommunications Networking
Flashlook: 100-Gbps hash-tuned route lookup architecture
HPSR'09 Proceedings of the 15th international conference on High Performance Switching and Routing
HiFIND: A high-speed flow-level intrusion detection approach with DoS resiliency
Computer Networks: The International Journal of Computer and Telecommunications Networking
SMALTA: practical and near-optimal FIB aggregation
Proceedings of the Seventh COnference on emerging Networking EXperiments and Technologies
A pipelined routing lookup scheme with fast updates
Computer Communications
High-performance IP forwarding with efficient routing-table update
Computer Communications
FlashTrie: beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie
IEEE/ACM Transactions on Networking (TON)
Hi-index | 0.00 |
Routers must do a best matching prefix lookup for every packet; solutions for Gigabit speeds are well known. As Internet link speeds higher, we seek a scalable solution whose speed scales with memory speeds while allowing large prefix databases. In this paper we show that providing such a solution requires careful attention to memory allocation and pipelining. This is because fast lookups require on-chip or off-chip SRAM which is limited by either expense or manufacturing process. We show that doing so while providing guarantees on the number of prefixes supported requires new algorithms and the breaking down of traditional abstraction boundaries between hardware and software. We introduce new problem-specific memory allocators that have provable memory utilization guarantees that can reach 100%; this is contrast to all standard allocators that can only guarantee 20% utilization when the requests can come in the range [1 ... 32]. An optimal version of our algorithm requires a new (but feasible) SRAM memory design that allows shifted access in addition to normal word access. Our techniques generalize to other IP lookup schemes and to other state lookups besides prefix lookup.