Title: Dynamic Pipelining: Making IPLookup Truly Scalable
1Dynamic Pipelining Making IP-Lookup Truly
Scalable
- Jahangir Hasan and T.N. Vijaykumar
- School of Electrical and Computer Engineering,
Purdue University - ACM SIGCOMM05, August 21-26, 2005, Philadelphia,
Pennsylvania, USA
2Five challenges of scalability
- Routing table size
- Lookup throughput
- Implementation cost
- Power dissipation
- Routing-table update cost
3Pipelined IP-Lookup
- Hardware-Level Pipelining (HLP)
- Data-Structure-Level Pipelining (DLP)
4Hardware-Level Pipelining (HLP)
- A Pipelined Memory Architecture for High
Throughput Network Processors 15 - Timthy Sherwood, George Varghese, and Brad
Calder, UCSD - 30th annual International Symposium on Computer
Architecture (ISCA03), IEEE
5(No Transcript)
6(No Transcript)
7(No Transcript)
8(No Transcript)
9Data-Structure-Level Pipelining (DLP)
- Fast Incremental Updates for Pipelined Forwarding
Engines 1 - Anindya Basu and Girija Narlikar, Bell
Laboratories - IEEE INFOCOM03 and IEEE/ACM Transactions on
Networking, Vol. 13, No.3, June 2005
10Controlled Prefix Expansion (1)
- Fast Address Lookups Using Controlled Prefix
Expansion 17 - V. Srinivasan and G. Varghese, Washington
University in St. Louis - ACM Transactions on Computer Systems, Vol. 17,
No. 1, February 1999, pages 1-40
11Controlled Prefix Expansion (2)
- Optimal Expanded Trie with Fixed Strides
- Optimal Expanded Trie Using Varying Strides
12Leaf-pushed Fixed Strieds
- Only tries with fixed strides are considered.
Although variable-stride tries could be more
memory efficient, they are difficult to maintain
during incremental updates. Since each node can
have a different stride, there is no
straightforward way to determine the strides for
trie nodes that are created when new prefixes are
added. - We focus on leaf-pushed tries. Although updates
to leaf-pushed tries can result in more pipeline
writes, leaf pushing allows for a higher pipeline
throughput and more efficient use of the pipeline
memory. All our optimizations, however, are also
applicable to nonleaf pushed tries.
13(No Transcript)
14(No Transcript)
15(No Transcript)
16Characteristics of the BGP routing table
17Characteristics of the BGP routing table
18Characteristics of the BGP routing table
19Controlled Prefix Expansion for Optimal Expanded
Trie with Fixed Strides
- Let Tj,r be the optimal memory requirement (in
terms of the number of the trie nodes) for
covering bit positions 0 through j using r trie
levels (assuming that the leftmost bit position
is 0). - Let nodes(i) be the number of nodes in the 1-bit
trie at level i.
20(No Transcript)
21(No Transcript)
22(No Transcript)
23A New Algorithm for Pipelined Architectures
24A New Algorithm for Pipelined Architectures
25(No Transcript)
26(No Transcript)
27Reducing Write Bubbles
- A. Separating Out Updates to short Routes
- B. Node Pullups
- C. Eliminating Excess Writes
- D. Caching Deleted Subtrees
28A. Separating Out Updates to short Routes
- Storing all short routes, of up to 8 bits length,
in a separate table with 28 256 entries.
29(No Transcript)
30B. Node Pullups
31(No Transcript)
32C. Eliminating Excess Writes add
33C. Eliminating Excess Writes withdraw
34D. Caching Deleted Subtrees