IP lookup via Longest Prefix Match (LPM) is critical for packet forwarding. Unfortunately, conventional lookup algorithms are inefficient for IPv6 Forwarding Information Bases (FIBs), which are characterized by a set of long prefixes with diverse lengths. We observe that LPM inherently represents a two-dimensional (2D) search problem over both prefix values and prefix lengths, but existing algorithms mostly treat LPM as two separate levels of one-dimensional (1D) searches, causing poor lookup performance and high memory overhead. This paper presents PlanB, a novel scheme for high-speed IPv6 lookup. We transform the 2D LPM into an equivalent 1D search problem over elementary intervals, thereby unifying the search across prefix value and lengths. We then adapt a flat-array-based B-tree structure to the needs of LPM to propose the linearized $B^+$-tree, based on which we introduce an efficient search algorithm tailored to the properties of the transformed space. To maximize performance, we integrate PlanB with vectorization, batching, branch-free logic, and loop unrolling to fully exploit CPU parallelism. Extensive evaluation shows that PlanB achieves single-core performance of 390 Million Lookups Per Sec (MLPS) with real-world IPv6 FIBs on AMD processor, and scales to full-12-core performance of 3.4 Billion Lookups Per Sec (BLPS). This is 1.6$\times$$\sim$14$\times$ higher than state-of-the-art software-based schemes (PopTrie, CP-Trie, Neurotrie and HBS).


翻译:摘要:通过最长前缀匹配(LPM)进行的IP查找对数据包转发至关重要。然而,传统查找算法对于IPv6转发信息库(FIB)效率低下,这类FIB以一组长度多样的长前缀为特征。我们观察到,LPM本质上代表了一个涉及前缀值和前缀长度的二维(2D)搜索问题,但现有算法大多将LPM视为两个分离的一维(1D)搜索层次,导致查找性能低下且内存开销高昂。本文提出PlanB,一种新颖的高速IPv6查找方案。我们将二维LPM转化为等价的一维搜索问题(基于基本区间),从而统一了前缀值和长度的搜索。随后,我们针对LPM需求对基于扁平数组的B树结构进行适配,提出了线性化$B^+$-树,并基于此引入了一种适配变换后空间特性的高效搜索算法。为最大化性能,我们将PlanB与向量化、批处理、无分支逻辑及循环展开相结合,以充分利用CPU并行性。大量评估表明,在AMD处理器上使用真实世界IPv6 FIB时,PlanB实现了单核性能达3.9亿次查找/秒(MLPS),并扩展至全12核性能达34亿次查找/秒(BLPS)。这一性能比现有最先进的软件方案(PopTrie、CP-Trie、Neurotrie和HBS)高出1.6倍至14倍。

0
下载
关闭预览

相关内容

互联网
专知会员服务
27+阅读 · 2021年8月6日
和积网络综述论文,Sum-product networks: A survey,24页pdf
专知会员服务
24+阅读 · 2020年4月3日
重磅发布:基于 PyTorch 的深度文本匹配工具 MatchZoo-py
中国科学院网络数据重点实验室
16+阅读 · 2019年8月26日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
11+阅读 · 2018年4月13日
Github 项目推荐 | 用 Pytorch 实现的 Capsule Network
AI研习社
22+阅读 · 2018年3月7日
国家自然科学基金
1+阅读 · 2016年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
Arxiv
0+阅读 · 5月4日
VIP会员
最新内容
博士论文 | 面向大模型推理的内存高效算法
专知会员服务
0+阅读 · 今天15:20
美空军新型反无人机部队初探
专知会员服务
4+阅读 · 今天5:45
《防空交战流程的概率建模研究》
专知会员服务
6+阅读 · 今天5:04
ICML 2026 教程 | 数值优化理论还重要吗?
专知会员服务
5+阅读 · 7月26日
ICM 2026 | 陶哲轩:人工智能时代的数学
专知会员服务
9+阅读 · 7月26日
《反无人机交战场景下的战斗归零研究》
专知会员服务
7+阅读 · 7月26日
博士论文 | 用代码结构感知方法推进代码大模型
相关VIP内容
专知会员服务
27+阅读 · 2021年8月6日
和积网络综述论文,Sum-product networks: A survey,24页pdf
专知会员服务
24+阅读 · 2020年4月3日
相关基金
国家自然科学基金
1+阅读 · 2016年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员