CN107729053A - 一种实现高速缓存表的方法 - Google Patents
一种实现高速缓存表的方法 Download PDFInfo
- Publication number
- CN107729053A CN107729053A CN201710965568.0A CN201710965568A CN107729053A CN 107729053 A CN107729053 A CN 107729053A CN 201710965568 A CN201710965568 A CN 201710965568A CN 107729053 A CN107729053 A CN 107729053A
- Authority
- CN
- China
- Prior art keywords
- simd
- simd register
- list item
- result
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012986 modification Methods 0.000 claims abstract description 6
- 230000004048 modification Effects 0.000 claims abstract description 6
- 238000000605 extraction Methods 0.000 claims abstract 2
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims 1
- 238000004321 preservation Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 7
- 229910052754 neon Inorganic materials 0.000 description 3
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 3
- 230000008520 organization Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种实现高速缓存表的方法,提供一种低成本实现高速缓存表的方法。选取支持SIMD指令的通用处理器,包括以下步骤:步骤一:缓存表的存储,使用一个或多个SIMD寄存器用于关键字的匹配,位长根据处理器自带能力选择;使用SIMD寄存器保存结果或者使用内存数组保存结果;步骤二:缓存的查找,使用SIMD的指令来进行一对多的匹配,查出的索引提取结果返回;步骤三:缓存的添加,选取第一个无效的表项号,键值SIMD寄存器对应表项如果为无效值则认为该表项无效,修改键值SIMD寄存器对应表项保存缓存键值,并且修改结果数据中对应表项保存缓存结果。本发明的高速缓存表查找速度较快,命中时会比查直接表命中甚至还会更快,因为不访存。
Description
技术领域
本发明涉及多核通用处理器查表转发技术领域,具体涉及一种实现高速缓存表的方法。
背景技术
一台网络通讯设备,其处理器在处理报文时,会经历多次查表过程,每次查表会从前一查表过程取得,或从报文中取得,或其他途径取得查表关键字,也可以从多种渠道组合得到查表关键字,查表关键字和被查表的每个表项的关键字部分进行匹配,匹配有相等匹配,掩码后相等匹配,以及最长匹配等,最简单的就是相等匹配,相等匹配是如果表项的关键字和查表关键字相等,则认为匹配成功,匹配成功后,该表项中保存的结果被提取出来用于处理报文。这种表其实就是SDN中的流表(FLOW TABLE)。表的添加,删除,查找的速度以及表的容量都是设备性能比较重要的指标。为了提高查表速度等,通常会牺牲内存,使用直接索引表,是申请一大块内存,等于最大关键字的值乘以表项大小,以关键字作为索引去访问每个表项。关键字直接就是索引,一次找到结果,查找速度快,缺点耗内存大。
比直接索引表速度慢一点的耗内存相对较少的是哈希索引表。从关键字计算出一个索引,这个索引不能唯一确定到查表结果,需要遍历冲突链表,逐个匹配查找,查表速度慢,耗内存小。
直接索引表和哈希索引表是两种最重要的表组织方法,还有trie表,二叉树等等其他的表组织方法,特点就是比较复杂,速度慢。
对于任何表的查找速度需要提高,可以为这个原始表配套建立一个高速缓存表,查表算法改进为先根据关键字查高速缓存表,查找如果命中,过程结束。如果查找不到结果,根据关键字查原始表获得结果,如果原始表查找结果是查找命中,结果和关键字根据某种原则过滤后放入高速缓存。
表项需要变动时,导致缓存失效,需要清除缓存相关表项或清除整个表项。
上述是构建高速缓存表的通用方法。
高速缓存表的操作包括查找,添加,指定删除或全删除。
高速缓存表常需要在通用cpu外增加额外硬件例如TCAM来实现,成本较高,但效果比较好。
发明内容
本发明提出的一种实现高速缓存表的方法,提供一种低成本实现高速缓存表的方法。
为实现上述目的,本发明采用了以下技术方案:
一种实现高速缓存表的方法,硬件需要选取支持SIMD指令的通用处理器,包括以下步骤:
1)使用一个或多个SIMD寄存器用于关键字的匹配,使用一个或多个SIMD寄存器或内存保存缓存条目的结果;
使用SIMD指令操作SIMD寄存器,以及配合使用内存来实现缓存查找,缓存添加,缓存指定删除,缓存全删除。
支持关键字大小包括,1字节,2字节,4字节,8字节等,即通用CPU携带的SIMD寄存器支持的单元大小,如果是128位SIMD寄存器这样对应每个寄存器支持的单元数量为16,8,4,2。
2)高速缓存的查找,将查表关键字放入SIMD寄存器B,通过SIMD指令,将关键字复制到SIMD寄存器B的各个单元。通过SIMD寄存器B去和保存在SIMD寄存器A中的表关键字信息匹配结果放到SIMD寄存器B,SIMD寄存器B某个单元的值如果是1表示匹配,是0表示不匹配,获取SIMD寄存器B最高位连续为0的个数(这是可使用方式之一,也可其他方式),经过换算,得到匹配单元的单元号n。再用n去内存或另一个SIMD寄存器D中提取结果。
3)高速缓存添加,使用上述高速缓存查找方法查找SIMD寄存器A中无效单元n,将待添加关键字替换该单元中无效值,结果写入n相应于内存或另一个SIMD寄存器D相应单元。
4)高速缓存指定删除,对于需要删除的单元n,修改SIMD寄存器A中对应单元值为无效值。
5)高速缓存全删除,SIMD寄存器A所有单元设置为无效值。
由上可知,本发明的一种实现高速缓存表的方法,有益效果如下:
本发明的高速缓存表查找速度较快,命中时会比查直接表命中甚至还会更快,因为不访存;各个核的缓存相独立,在流分发时,缓存容量相当于各个核的缓存容量叠加;不命中时代价低,查找的时间就是代价,查找速度快,不命中代价低;添加时速度快,键值SIMD寄存器某个表项如果为无效值那么,添加到该表项,查找无效值表项使用SIMD一对多的匹配非常快,存缓存键值也就非常快,因为不访存,如果SIMD寄存器保存结果,速度非常快,保存到内存会稍慢一点;最好的情况下查表均能命中高速缓存表,性能大幅度提升。
附图说明
图1是本发明的高速缓存的查找示意图;
图2是一个ipv4路由表的高速缓存表;
图3是一个ipv4路由表支持地址+掩码的高速缓存表的实现高速缓存表;
图4是一个ipv4路由表支持地址+vpnid的高速缓存表的实现高速缓存表。
具体实施方式
下面结合附图对本发明做进一步说明:
如图2所示:是一个ipv4路由表的高速缓存表实现,ipv4路由表(后通称为原始表)的关键字是目的IP地址,原始表的查表结果是一个索引值,该表查找方式为目的地址的相等匹配。该表中有10.1.1.1,11.1.1.1,192.8.1.1等多个条目,高速缓存表占用两个NEONSIMD寄存器,一个寄存器A,用于保存关键字,另一个寄存器D保存查表结果,该缓存表已经添加了一条有效的条目11.1.1.1,查表结果是123,其他3个条目为无效。查找时如图1所示,先复制查找关键字目的地址11.1.1.1到SIMD register B各个单元,如图1所示register B中得到复制后结果,接下来匹配操作,用SIMD指令进行匹配B=(B==A),如图1所示register B中得到匹配后结果,register B中有效项是第一个条目,然后从D提取结果123到寄存器B中。
如图3所示:是一个ipv4路由表支持地址+掩码的高速缓存表的实现,由于匹配使用了掩码,高速缓存可以支持更多的流,但因为路由表是最长匹配,只有叶子路由才能放入该缓存。原始表的关键字是目的IP地址和掩码,原始表的查表结果是一个索引值,该表查找方式为目的地址和掩码算术与操作后的的相等匹配。该表中有10.1.1.0/24,11.0.0.0/8,192.8.1.1/32等多个条目,高速缓存表占用三个NEON SIMD寄存器,其中寄存器A,用于保存目的地址关键字,寄存器C保存掩码关键字寄存器,寄存器D保存查表结果,该缓存表已经添加了三条有效的条目,有1个条目为无效。查找也是经过复制,匹配,取结果的过程,所不同的是,SIMD指令进行匹配算法换为B=((B&C)==A),如果是11.1.1.2的目的地址来查找这张表,匹配后结果会是B{0,1,0,0},然后从寄存器D中提取到单元2的数值:123。如果是192.8.1.1的目的地址来查找这张表,匹配后结果会是B{0,0,1,0},然后从寄存器D中提取到单元3的数值:1026。
如图4所示:是一个ipv4路由表支持地址+vpnid的高速缓存表的实现。原始表的关键字是目的IP地址和vpnid,原始表的查表结果是一个索引值,该表查找方式为目的地址和vpn id同表项中条目同时相等的匹配。该表中有10.1.1.1(1),10.1.1.1(2)11.1.1.1(1),192.8.1.1(1)4个条目,高速缓存表占用2个NEON SIMD寄存器,其中寄存器A,用于保存目的地址关键字,寄存器D同时保存查表结果和vpnid关键字,(各占16bits),该缓存表已经添加了4条有效的条目。查找时,复制,匹配,取结果的过程都有,查表的输入数据这里使用了A C两个寄存器进行,复制过程如图4右下表所示。匹配过程中,SIMD指令进行匹配算法为B=((B==A)&&((D&0xff)==C),如果是10.1.1.2(1)的目的地址来查找这张表,匹配后结果会是B{1,0,0,0},然后从寄存器D中提取到单元2的数值:128、1(各占16bit),右移16bit得到结果128。如果是10.1.1.2(2)的目的地址来查找这张表,匹配后结果会是B{0,1,0,0},然后从寄存器D中提取到单元2的数值:1028、1(各占16bit),右移16bit得到结果1028。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围内。
Claims (8)
1.一种实现高速缓存表的方法,其特征在于:选取支持SIMD指令的通用处理器,包括以下步骤:
步骤一:缓存表的存储,使用一个或多个SIMD寄存器用于关键字的匹配,位长根据处理器自带能力选择;使用SIMD寄存器保存结果或者使用内存数组保存结果;
步骤二:缓存的查找,使用SIMD的指令来进行一对多的匹配,查出的索引提取结果返回;
步骤三:缓存的添加,选取第一个无效的表项号,键值SIMD寄存器对应表项如果为无效值则认为该表项无效,修改键值SIMD寄存器对应表项保存缓存键值,并且修改结果数据中对应表项保存缓存结果。
2.如权利要求1所述的一种实现高速缓存表的方法,其特征在于:还包括步骤五:缓存的删除指定项,修改键值SIMD寄存器对应表项为无效值,结果数据可不清除。
3.如权利要求1或2所述的一种实现高速缓存表的方法,其特征在于:还包括步骤六:缓存的清空,修改键值SIMD寄存器为全无效。
4.如权利要求1-3任意一项所述的一种实现高速缓存表的方法,其特征在于:所述步骤一支持关键字大小包括,1字节,2字节,4字节,8字节等,即通用CPU携带的SIMD寄存器支持的单元大小,如果是128位SIMD寄存器这样对应每个寄存器支持的单元数量为16,8,4,2。
5.如权利要求4所述的一种实现高速缓存表的方法,其特征在于:所述步骤二具体为将查表关键字放入SIMD寄存器B,通过SIMD指令,将关键字复制到SIMD寄存器B的各个单元,通过SIMD寄存器B去和保存在SIMD寄存器A中的表关键字信息匹配结果放到SIMD寄存器B,SIMD寄存器B某个单元的值如果是1表示匹配,是0表示不匹配,获取SIMD寄存器B最高位连续为0的个数,经过换算,得到匹配单元的单元号n,再用n去内存或另一个SIMD寄存器D中提取结果。
6.如权利要求5所述的一种实现高速缓存表的方法,其特征在于:所述步骤三中具体还包括步骤二中查找SIMD寄存器A中无效单元n,将待添加关键字替换该单元中无效值,结果写入n相应于内存或另一个SIMD寄存器D相应单元。
7.如权利要求5或6所述的一种实现高速缓存表的方法,其特征在于:所述步骤五具体为对于需要删除的单元n,修改SIMD寄存器A中对应单元值为无效值。
8.如权利要求7所述的一种实现高速缓存表的方法,其特征在于:所述步骤六具体为SIMD寄存器A所有单元设置为无效值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710965568.0A CN107729053B (zh) | 2017-10-17 | 2017-10-17 | 一种实现高速缓存表的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710965568.0A CN107729053B (zh) | 2017-10-17 | 2017-10-17 | 一种实现高速缓存表的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107729053A true CN107729053A (zh) | 2018-02-23 |
CN107729053B CN107729053B (zh) | 2020-11-27 |
Family
ID=61211852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710965568.0A Active CN107729053B (zh) | 2017-10-17 | 2017-10-17 | 一种实现高速缓存表的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729053B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918225A (zh) * | 2019-02-18 | 2019-06-21 | 天津麒麟信息技术有限公司 | 基于飞腾平台的raid6数据恢复优化方法 |
CN110321161A (zh) * | 2019-06-26 | 2019-10-11 | 中国人民解放军国防科技大学 | 使用simd指令的向量函数快速查表法、系统及介质 |
CN114124887A (zh) * | 2021-11-29 | 2022-03-01 | 牙木科技股份有限公司 | Dns服务器的视图查询方法、dns服务器及可读存储介质 |
CN114449046A (zh) * | 2022-02-14 | 2022-05-06 | 江苏新质信息科技有限公司 | 一种网络数据处理方法及系统 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863169A (zh) * | 2006-03-03 | 2006-11-15 | 清华大学 | 基于网络处理器的路由查找结果缓存方法 |
CN1912870A (zh) * | 2006-09-05 | 2007-02-14 | 四川南山之桥微电子有限公司 | 一种哈希表查表方法 |
CN101350771A (zh) * | 2008-07-07 | 2009-01-21 | 中国人民解放军国防科学技术大学 | 三态内容可寻址存储器条目免排序存储方法及其系统 |
CN101692653A (zh) * | 2009-09-25 | 2010-04-07 | 中兴通讯股份有限公司 | 路由表的管理方法和装置 |
CN101692651A (zh) * | 2009-09-27 | 2010-04-07 | 中兴通讯股份有限公司 | 一种哈希查找表的方法和装置 |
CN102291296A (zh) * | 2011-08-04 | 2011-12-21 | 中兴通讯股份有限公司 | 一种路由表的更新方法及系统 |
CN103248579A (zh) * | 2013-04-19 | 2013-08-14 | 中山大学 | 基于FPGA的UDP/IPv6硬件协议栈及实现方法 |
CN104331497A (zh) * | 2014-11-19 | 2015-02-04 | 中国科学院自动化研究所 | 一种利用向量指令并行处理文件索引的方法及装置 |
CN104424158A (zh) * | 2013-08-19 | 2015-03-18 | 上海芯豪微电子有限公司 | 基于通用单元的高性能处理器系统和方法 |
CN104424129A (zh) * | 2013-08-19 | 2015-03-18 | 上海芯豪微电子有限公司 | 基于指令读缓冲的缓存系统和方法 |
CN104731718A (zh) * | 2013-12-24 | 2015-06-24 | 上海芯豪微电子有限公司 | 一种缓存系统和方法 |
CN104809179A (zh) * | 2015-04-16 | 2015-07-29 | 华为技术有限公司 | 访问哈希表的装置和方法 |
US9218319B2 (en) * | 2006-08-07 | 2015-12-22 | International Characters, Inc. | Method and apparatus for regular expression processing with parallel bit streams |
CN105700859A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种基于网络处理器实现硬件表遍历的方法及装置 |
CN107003840A (zh) * | 2014-12-23 | 2017-08-01 | 英特尔公司 | 用于执行检查以优化指令流的装置和方法 |
-
2017
- 2017-10-17 CN CN201710965568.0A patent/CN107729053B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863169A (zh) * | 2006-03-03 | 2006-11-15 | 清华大学 | 基于网络处理器的路由查找结果缓存方法 |
US9218319B2 (en) * | 2006-08-07 | 2015-12-22 | International Characters, Inc. | Method and apparatus for regular expression processing with parallel bit streams |
CN1912870A (zh) * | 2006-09-05 | 2007-02-14 | 四川南山之桥微电子有限公司 | 一种哈希表查表方法 |
CN101350771A (zh) * | 2008-07-07 | 2009-01-21 | 中国人民解放军国防科学技术大学 | 三态内容可寻址存储器条目免排序存储方法及其系统 |
CN101692653A (zh) * | 2009-09-25 | 2010-04-07 | 中兴通讯股份有限公司 | 路由表的管理方法和装置 |
CN101692651A (zh) * | 2009-09-27 | 2010-04-07 | 中兴通讯股份有限公司 | 一种哈希查找表的方法和装置 |
CN102291296A (zh) * | 2011-08-04 | 2011-12-21 | 中兴通讯股份有限公司 | 一种路由表的更新方法及系统 |
CN103248579A (zh) * | 2013-04-19 | 2013-08-14 | 中山大学 | 基于FPGA的UDP/IPv6硬件协议栈及实现方法 |
CN104424158A (zh) * | 2013-08-19 | 2015-03-18 | 上海芯豪微电子有限公司 | 基于通用单元的高性能处理器系统和方法 |
CN104424129A (zh) * | 2013-08-19 | 2015-03-18 | 上海芯豪微电子有限公司 | 基于指令读缓冲的缓存系统和方法 |
CN104731718A (zh) * | 2013-12-24 | 2015-06-24 | 上海芯豪微电子有限公司 | 一种缓存系统和方法 |
CN104331497A (zh) * | 2014-11-19 | 2015-02-04 | 中国科学院自动化研究所 | 一种利用向量指令并行处理文件索引的方法及装置 |
CN105700859A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种基于网络处理器实现硬件表遍历的方法及装置 |
CN107003840A (zh) * | 2014-12-23 | 2017-08-01 | 英特尔公司 | 用于执行检查以优化指令流的装置和方法 |
CN104809179A (zh) * | 2015-04-16 | 2015-07-29 | 华为技术有限公司 | 访问哈希表的装置和方法 |
Non-Patent Citations (1)
Title |
---|
傅麒麟: "《现代计算机体系结构教程》", 31 August 2002 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918225A (zh) * | 2019-02-18 | 2019-06-21 | 天津麒麟信息技术有限公司 | 基于飞腾平台的raid6数据恢复优化方法 |
CN109918225B (zh) * | 2019-02-18 | 2023-05-09 | 麒麟软件有限公司 | 基于飞腾平台的raid6数据恢复优化方法 |
CN110321161A (zh) * | 2019-06-26 | 2019-10-11 | 中国人民解放军国防科技大学 | 使用simd指令的向量函数快速查表法、系统及介质 |
CN110321161B (zh) * | 2019-06-26 | 2021-03-02 | 中国人民解放军国防科技大学 | 使用simd指令的向量函数快速查表法、系统及介质 |
CN114124887A (zh) * | 2021-11-29 | 2022-03-01 | 牙木科技股份有限公司 | Dns服务器的视图查询方法、dns服务器及可读存储介质 |
CN114124887B (zh) * | 2021-11-29 | 2023-09-05 | 牙木科技股份有限公司 | Dns服务器的视图查询方法、dns服务器及可读存储介质 |
CN114449046A (zh) * | 2022-02-14 | 2022-05-06 | 江苏新质信息科技有限公司 | 一种网络数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107729053B (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9269411B2 (en) | Organizing data in a hybrid memory for search operations | |
CN107729053A (zh) | 一种实现高速缓存表的方法 | |
JP5529976B2 (ja) | 高速ipルックアップのためのシストリック・アレイ・アーキテクチャ | |
CN103873371B (zh) | 一种名字路由快速匹配查找方法与装置 | |
US20060155915A1 (en) | Database query processor | |
US9672234B2 (en) | Database and database processing methods | |
CN103428093A (zh) | 一种基于名字路由前缀存储、匹配及更新方法与装置 | |
Pao et al. | Efficient hardware architecture for fast IP address lookup | |
JP2004229163A (ja) | 固定長データ検索装置、及び固定長データ検索方法、及びコンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体 | |
Xiao et al. | Using parallel bloom filters for multiattribute representation on network services | |
Akhbarizadeh et al. | Efficient prefix cache for network processors | |
CN101500012B (zh) | 一种报文分类方法和系统 | |
Han et al. | A novel routing algorithm for IoT cloud based on hash offset tree | |
Erdem et al. | Multi-pipelined and memory-efficient packet classification engines on FPGAs | |
Akhbarizadeh et al. | Prefix segregation scheme for a TCAM-based IP forwarding engine | |
Zhang et al. | Using XorOffsetTrie for high-performance IPv6 lookup in the backbone network | |
Erdem | Pipelined hierarchical architecture for high performance packet classification | |
Yang et al. | High performance IP lookup on FPGA with combined length-infix pipelined search | |
Liu et al. | Longest prefix matching with pruning | |
Soni et al. | FPGA implementation of content addressable memory based information detection system | |
Bahrambeigy et al. | Bloom-Bird: A scalable open source router based on Bloom filter | |
Le et al. | A memory-efficient and modular approach for string matching on fpgas | |
Erdem et al. | Value-coded trie structure for high-performance IPv6 lookup | |
Erdem et al. | Large-scale SRAM-based IP lookup architectures using compact trie search structures | |
Pao et al. | Bit-shuffled trie: IP lookup with multi-level index tables |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |