arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1107.5372cs.NIcs.DS
收藏

可扩展IP分级和分组分类的双向流水线

Bidirectional Pipelining for Scalable IP Lookup and Packet Classification

Weirong Jiang, Hoang Le, Viktor K. Prasanna

摘要:

IP路由器中的IP查找和分组分类都可以通过某种形式的树遍历来实现。基于SRAM的流水线技术可以显著提高系统的吞吐量。然而,以前的流水线方案导致在流水线阶段上的不平衡的存储器分配。这已被确定为可扩展的流水线解决方案的主要挑战。提出了一种基于双端口SRAM的灵活的双向线性流水线结构。首先对搜索树进行划分,然后通过双向细粒度映射方案将搜索树映射到流水线级。我们引入了倒置因子的概念和几种倒置子树的算法来实现内存平衡。由于其线性结构,该架构保持数据包输入顺序,并支持无阻塞路由更新。我们的实验表明,该架构可以实现一个完美的平衡的内存分布在流水线阶段,基于树的IP查找和基于树的多维数据包分类。对于IP查找,它可以使用2MB的存储器存储具有154419个条目的完整骨干路由表,并维持每秒18.7亿个数据包(GPPS)的高吞吐量,即对于最小大小(40字节)的数据包为0.6 Tbps。通过采用缓存技术利用网络流量的局部性,吞吐量可以进一步提高到2.4 Tbps。

英文摘要:

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 over the pipeline stages, for both trie-based IP lookup and tree-based multi-dimensional packet classification. For IP lookup, it can store a full backbone routing table with 154419 entries using 2MB of memory, and sustain a high throughput of 1.87 billion packets per second (GPPS), i.e. 0.6 Tbps for the minimum size (40 bytes) packets. The throughput can be improved further to be 2.4 Tbps, by employing caching to exploit the Internet traffic locality.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑