Bidirectional Pipelining for Scalable IP Lookup and Packet Classification
Weirong Jiang, Hoang Le, Viktor K. Prasanna

TL;DR
This paper introduces a bidirectional pipelining architecture for scalable IP lookup and packet classification that achieves balanced memory distribution, high throughput, and supports route updates using dual-port SRAMs.
Contribution
It proposes a novel bidirectional linear pipeline with a subtree inversion heuristic for balanced memory allocation, enabling scalable, high-speed IP lookup and classification.
Findings
Achieves balanced memory distribution across pipeline stages.
Stores 154,419 routing entries using 2MB memory.
Reaches a throughput of 1.87 billion packets per second.
Abstract
Both IP lookup and packet classification in IP routers can be implemented by some form of tree traversal. SRAM-based Pipelining can improve the throughput dramatically. However, previous pipelining schemes result in unbalanced memory allocation over the pipeline stages. This has been identified as a major challenge for scalable pipelined solutions. This paper proposes a flexible bidirectional linear pipeline architecture based on widely-used dual-port SRAMs. A search tree is partitioned, and then mapped onto pipeline stages by a bidirectional fine-grained mapping scheme. We introduce the notion of inversion factor and several heuristics to invert subtrees for memory balancing. Due to its linear structure, the architecture maintains packet input order, and supports non-blocking route updates. Our experiments show that, the architecture can achieve a perfectly balanced memory distribution…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNetwork Packet Processing and Optimization · Synthetic Organic Chemistry Methods · Network Security and Intrusion Detection
