CP-Trie:基于累积PopCount的Trie,用于软件和ASIC中的IPv6路由表查找

Md Iftakharul Islam, J. Khan
{"title":"CP-Trie:基于累积PopCount的Trie,用于软件和ASIC中的IPv6路由表查找","authors":"Md Iftakharul Islam, J. Khan","doi":"10.1109/HPSR52026.2021.9481816","DOIUrl":null,"url":null,"abstract":"Routing table lookup is a key function of a router. It involves performing the longest prefix match (LPM) of an IP address. Poptrie, the state-of-the-art trie based routing table lookup, encodes nodes using population counting bitmap. Poptrie uses PopCount CPU instruction which can process only 64 bits at a time. This is why, Poptrie uses 6-bit stride (26 = 64). This paper presents an extension of Poptrie named CP-Trie (stands for Cumulative PopCount based Trie) where it stores cumulative PopCount along with population counting bitmap. This enables CP-Trie to process longer stride (e.g. 8–16 bits) at each step. This reduces the number of steps and the number of memory access needed for an IP lookup. The fewer number of steps results in faster lookup. It also results in less power consumption in ASIC. Fewer memory accesses indicate that it requires fewer SRAM blocks in ASIC which results in lower area. This is why, CP-Trie is a more practical solution for pipelined ASIC compared to Poptrie. Our experiments with routing tables from real core routers show that CP-Trie achieves upto 1.43× lookup throughput on a general purpose CPU, but consumes 1.36–1.47× memory compared to Poptrie. We also implemented Poptrie and CP-Trie in a 1 GHz pipelined ASIC. Our physical synthesis report shows that CP-Trie consumes 0.86× power and 0.79× area compared to Poptrie in ASIC.","PeriodicalId":158580,"journal":{"name":"2021 IEEE 22nd International Conference on High Performance Switching and Routing (HPSR)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-06-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"CP-Trie: Cumulative PopCount based Trie for IPv6 Routing Table Lookup in Software and ASIC\",\"authors\":\"Md Iftakharul Islam, J. Khan\",\"doi\":\"10.1109/HPSR52026.2021.9481816\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Routing table lookup is a key function of a router. It involves performing the longest prefix match (LPM) of an IP address. Poptrie, the state-of-the-art trie based routing table lookup, encodes nodes using population counting bitmap. Poptrie uses PopCount CPU instruction which can process only 64 bits at a time. This is why, Poptrie uses 6-bit stride (26 = 64). This paper presents an extension of Poptrie named CP-Trie (stands for Cumulative PopCount based Trie) where it stores cumulative PopCount along with population counting bitmap. This enables CP-Trie to process longer stride (e.g. 8–16 bits) at each step. This reduces the number of steps and the number of memory access needed for an IP lookup. The fewer number of steps results in faster lookup. It also results in less power consumption in ASIC. Fewer memory accesses indicate that it requires fewer SRAM blocks in ASIC which results in lower area. This is why, CP-Trie is a more practical solution for pipelined ASIC compared to Poptrie. Our experiments with routing tables from real core routers show that CP-Trie achieves upto 1.43× lookup throughput on a general purpose CPU, but consumes 1.36–1.47× memory compared to Poptrie. We also implemented Poptrie and CP-Trie in a 1 GHz pipelined ASIC. Our physical synthesis report shows that CP-Trie consumes 0.86× power and 0.79× area compared to Poptrie in ASIC.\",\"PeriodicalId\":158580,\"journal\":{\"name\":\"2021 IEEE 22nd International Conference on High Performance Switching and Routing (HPSR)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-06-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 IEEE 22nd International Conference on High Performance Switching and Routing (HPSR)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HPSR52026.2021.9481816\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE 22nd International Conference on High Performance Switching and Routing (HPSR)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HPSR52026.2021.9481816","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

路由表查找是路由器的一项关键功能。它包括对IP地址进行LPM (longest prefix match)匹配。Poptrie,最先进的基于trie的路由表查找,使用人口计数位图对节点进行编码。Poptrie使用PopCount CPU指令,一次只能处理64位。这就是为什么Poptrie使用6位步幅(26 = 64)。本文介绍了Poptrie的扩展,名为CP-Trie(代表基于累积PopCount的Trie),其中它存储累积PopCount以及人口计数位图。这使得CP-Trie可以在每一步处理更长的步长(例如8-16位)。这减少了IP查找所需的步骤数和内存访问次数。步骤越少,查找速度就越快。它还可以降低ASIC的功耗。更少的内存访问表明在ASIC中需要更少的SRAM块,从而导致更低的面积。这就是为什么与Poptrie相比,CP-Trie是流水线ASIC更实用的解决方案。我们对真实核心路由器的路由表进行的实验表明,CP-Trie在通用CPU上实现了高达1.43倍的查找吞吐量,但与Poptrie相比消耗了1.36 - 1.47倍的内存。我们还在1ghz的流水线ASIC上实现了Poptrie和CP-Trie。我们的物理合成报告显示,与ASIC中的Poptrie相比,CP-Trie功耗为0.86倍,面积为0.79倍。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
CP-Trie: Cumulative PopCount based Trie for IPv6 Routing Table Lookup in Software and ASIC
Routing table lookup is a key function of a router. It involves performing the longest prefix match (LPM) of an IP address. Poptrie, the state-of-the-art trie based routing table lookup, encodes nodes using population counting bitmap. Poptrie uses PopCount CPU instruction which can process only 64 bits at a time. This is why, Poptrie uses 6-bit stride (26 = 64). This paper presents an extension of Poptrie named CP-Trie (stands for Cumulative PopCount based Trie) where it stores cumulative PopCount along with population counting bitmap. This enables CP-Trie to process longer stride (e.g. 8–16 bits) at each step. This reduces the number of steps and the number of memory access needed for an IP lookup. The fewer number of steps results in faster lookup. It also results in less power consumption in ASIC. Fewer memory accesses indicate that it requires fewer SRAM blocks in ASIC which results in lower area. This is why, CP-Trie is a more practical solution for pipelined ASIC compared to Poptrie. Our experiments with routing tables from real core routers show that CP-Trie achieves upto 1.43× lookup throughput on a general purpose CPU, but consumes 1.36–1.47× memory compared to Poptrie. We also implemented Poptrie and CP-Trie in a 1 GHz pipelined ASIC. Our physical synthesis report shows that CP-Trie consumes 0.86× power and 0.79× area compared to Poptrie in ASIC.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信