CN110474844B - 高性能智能路由器学习型索引数据结构的训练方法和芯片 - Google Patents
高性能智能路由器学习型索引数据结构的训练方法和芯片 Download PDFInfo
- Publication number
- CN110474844B CN110474844B CN201910571831.7A CN201910571831A CN110474844B CN 110474844 B CN110474844 B CN 110474844B CN 201910571831 A CN201910571831 A CN 201910571831A CN 110474844 B CN110474844 B CN 110474844B
- Authority
- CN
- China
- Prior art keywords
- training
- neural network
- index data
- distribution function
- cumulative distribution
- 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.)
- Expired - Fee Related
Links
- 238000012549 training Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000013528 artificial neural network Methods 0.000 claims abstract description 44
- 239000013598 vector Substances 0.000 claims abstract description 32
- 230000001186 cumulative effect Effects 0.000 claims abstract description 30
- 238000005315 distribution function Methods 0.000 claims abstract description 30
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种高性能智能路由器学习型索引数据结构,包含输入单元、模型单元和输出单元。输入单元将每一条索引数据拆分为若干子向量,然后对所有子向量中相同位置的元素执行按位异或运算,得到对应的输入向量。模型单元用于训练、预测累积分布函数值,并设计为由小型简单的神经网络组成的塔式两级结构。输出单元则将已预测的累积分布函数值乘映射表中槽的总个数,得到映射表中的映射位置,随后根据该位置所在部分对应的基地址和该位置中记录的实际存储器地址偏移量,求得最终索引地址。该索引数据结构能够在保证数据检索速度的基础上提升存储效率,其训练方法能够针对路由表数据特点实现快速稳定的神经网络训练。
Description
技术领域
本发明属于高性能路由器索引数据结构设计领域,特别针对路由器中索引数据的快速检索和高效存储问题。
背景技术
随着互联网用户数量的不断扩大,虚拟现实、全息通信等新的互联网应用在传统行业的不断呈现,雾计算、人工智能等创新技术和计算模式的不断发展,当今互联网单位时间内需要处理的数据量急剧增加。这一现状为高性能路由器的设计带来了巨大的挑战,国内外许多研究机构都在积极探索路由器新型索引数据结构的设计问题。
路由器新型索引数据结构的设计需要坚持以下两个原则。首先,所设计的索引数据结构应支持基本的路由数据快速检索,所有的***、查找、更新等操作均应以线速执行。第二,所设计的索引数据结构应实现路由数据压缩存储,以应对路由表数据量日益增长的现状。
目前,哈希表、布隆过滤器、查找树、跳表及其衍生数据结构被广泛用作路由器中的索引。其中,哈希表操作速度快,但需要消耗更多的存储空间以减少冲突;布隆滤波器无法定位元素的地址;查找树和跳表的查找速度均较慢。总之,目前主要研究成果都在存储消耗和查找速度之间进行权衡,不能满足高性能路由器数据检索的所有要求。因此,迫切需要提出新的解决方案,设计全新的路由器索引数据结构,以适应当今互联网发展的现状。
发明内容
针对上述现有技术,本发明设计了一种高性能智能路由器学习型索引数据结构及其训练方法。该索引数据结构能够在保证数据检索速度的基础上提升存储效率,其训练方法能够针对路由表数据特点实现快速稳定的神经网络训练。
为了解决上述技术问题,本发明提出的一种高性能智能路由器学习型索引数据结构,包括输入单元、模型单元和输出单元;所述输入单元用于将路由表索引数据转变为输入向量,将每一条索引数据拆分为若干子向量,然后对所有子向量中相同位置的元素执行按位异或运算,最终得到该索引数据对应的输入向量;所述模型单元用于训练、预测累积分布函数值,该模型单元为塔式两级结构,包括第一级的一个神经网络和第二级的若干神经网络;所述输出单元将所述模型单元已预测的累积分布函数值乘以映射表中槽的总个数,得到映射表中的映射位置,随后根据该映射位置所在部分对应的基地址和该映射位置中记录的实际存储器地址偏移量,求得最终索引地址。
同时,本发明还提出了关于上述高性能智能路由器学习型索引数据结构的训练方法,具体步骤如下:
步骤一、第一次训练集标定:由实际路由表索引数据构成的训练集数据经所述输入单元转变为输入向量,然后将这些输入向量排序、分类,并标定为编号从小到大的若干区域;
步骤二、第一级神经网络训练:利用步骤一中标定完成的训练集数据和标签,对所述模型单元中的第一级神经网络进行训练,第一级神经网络训练结果的每个区域值对应一个所述模型单元中的第二级神经网络;
步骤三、第二次训练集标定:将步骤一经所述输入单元转变为的输入向量全部标定为其累积分布函数值;
步骤四、第二级神经网络训练:利用步骤三中标定完成的训练集数据和标签,分别训练所述模型单元中的第二级每个神经网络,分别经过学习得到累积分布函数的一个部分;
步骤五、训练过程结束:训练完成后,所述模型单元中的所有第二级神经网络的预测范围覆盖整个累积分布函数,即训练后的塔式神经网络是一个累积分布函数的预测函数。
与现有技术相比,本发明的有益效果是:
将本发明的高性能智能路由器学习型索引数据结构及其训练方法在一台配置为Intel Xeon E5-1650v2 3.50GHz、DDR3 24GB SDRAM的小型工作站上进行软件部署测试。考虑到实际路由表索引数据量,实验中利用一亿个路由表索引数据进行训练,训练完成后输入一百万个新路由表索引数据进行测试。实验结果表明,在误判概率为1%的条件下,该索引数据结构的存储消耗仅为19.13MB,是传统哈希表存储消耗的20%,且可直接部署于一个高速片内存储器上。至于查找速度,其远高于MD5和SHA1等传统哈希函数,在实际应用中是切实可行的。由此表明,本发明中设计的高性能智能路由器学习型索引数据结构,能够在保证数据检索速度的基础上提升存储效率,具有优良的综合性能。
附图说明
图1为本发明高性能智能路由器学习型索引数据结构的结构设计图;
图2为本发明高性能智能路由器学习型索引数据结构的基本原理图;
图3为本发明高性能智能路由器学习型索引数据结构的训练方法的流程框图。
具体实施方式
下面结合附图及具体实施例对本发明做进一步的说明,但下述实施例绝非对本发明有任何限制。
本发明提出高性能智能路由器学习型索引数据结构,包含输入单元、模型单元和输出单元。所述输入单元用于将路由表索引数据转变为输入向量,对于每一条索引数据,将其拆分为若干子向量,然后对所有子向量中相同位置的元素执行按位异或运算,最终得到该索引数据对应的输入向量。所述模型单元用于训练、预测累积分布函数值,并设计为塔式两级结构,包括第一级一个神经网络和第二级若干神经网络,考虑到路由器查找速度和存储消耗等需求,利用小型简单的神经网络作为塔式结构的基本单元。所述输出单元则将已预测的累积分布函数值乘以映射表中槽的总个数,得到映射表中的映射位置,随后根据该位置所在部分对应的基地址和该位置中记录的实际存储器地址偏移量,求得最终索引地址。
本发明同时提出上述高性能智能路由器学习型索引数据结构的训练方法,首先,将训练集分类标定为编号从小到大的若干区域,对第一级的神经网络进行训练。第一级神经网络训练结果的每个区域值对应一个第二级的神经网络。随后,将训练集中的每一项数据标定为其累积分布函数值,分别训练第二级的每个神经网络,分别经过学习得到累积分布函数的一个部分。最终,当训练完成后,所有第二级神经网络的预测范围覆盖整个累积分布函数,即训练后的塔式神经网络是一个累积分布函数的预测函数。
如图1所示,本发明提出的高性能智能路由器学习型索引数据结构,包括输入单元、模型单元和输出单元。所述输入单元用于将路由表索引数据转变为输入向量,对于每一条索引数据,将其拆分为若干子向量,然后对所有子向量中相同位置的元素执行按位异或运算,最终得到该索引数据对应的输入向量。所述模型单元用于训练、预测累积分布函数值,并设计为塔式两级结构,包括第一级一个神经网络和第二级若干神经网络,考虑到路由器查找速度和存储消耗等需求,利用小型简单的神经网络作为塔式结构的基本单元。所述输出单元则将已预测的累积分布函数值乘以映射表中槽的总个数,得到映射表中的映射位置,随后根据该位置所在部分对应的基地址和该位置中记录的实际存储器地址偏移量,求得最终索引地址。
该索引数据结构的基本原理如图2所示。首先,利用大量路由表索引数据构建神经网络模型的训练数据集,按照字符串值对其进行排序,并将排序后的序号作为标签与内容名称一一标记。其次,利用该训练集训练神经网络,学习出能反映索引内容在静态存储器中分布情况的累积分布函数。将累积分布函数的计算值乘以索引空间大小得到索引偏移地址,累积分布函数的均匀分布特性将使得存储器偏移地址的映射必将服从均匀分布。因此,利用已合理训练的该索引数据结构,实际数据包转发信息即可更均匀地存储在存储器中。
如图3所示,针对上述高性能智能路由器学习型索引数据结构的训练方法,具体步骤如下:
步骤一、第一次训练集标定:由实际路由表索引数据构成的训练集数据经所述输入单元转变为输入向量,然后将这些输入向量排序、分类,并标定为编号从小到大的若干区域;
步骤二、第一级神经网络训练:利用步骤一中标定完成的训练集数据和标签,对所述模型单元中的第一级神经网络进行训练,第一级神经网络训练结果的每个区域值对应一个所述模型单元中的第二级神经网络;
步骤三、第二次训练集标定:将步骤一经所述输入单元转变为的输入向量全部标定为其累积分布函数值;
步骤四、第二级神经网络训练:利用步骤三中标定完成的训练集数据和标签,分别训练所述模型单元中的第二级每个神经网络,分别经过学习得到累积分布函数的一个部分;
步骤五、训练过程结束:训练完成后,所述模型单元中的所有第二级神经网络的预测范围覆盖整个累积分布函数,即训练后的塔式神经网络是一个累积分布函数的预测函数。
实施例:
本发明中,训练完成后通过该索引数据结构进行地址映射的一个实例如图1所示,其中箭头线标示了一个实际索引数据获得索引地址的过程。对于输入的索引数据 /NDN/TJU/maps,首先将其拆分为三个子向量(47,78,68,78,47)、(84,74,85,47,109)和(97,112,115,0,0),并执行按位异或运算,获得对应的输入向量(26,116,98,97,66),然后输入到模型单元中。在模型单元,假设NNj.k代表第j级的第k个神经网络,由NN1.0计算得到区域编号为2,则接下来选择NN2.2。由NN2.2计算得到的累积分布函数值假设为0.2,则映射表中的映射位置为0.2×15=3,其中15为映射表槽个数。因为位置3中序号为2,且处在映射表第一部分,所以最终的索引地址等于第一部分对应的基地址加地址偏移量2。
尽管上面结合附图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨的情况下,还可以做出很多变形,这些均属于本发明的保护之内。
Claims (2)
1.一种高性能智能路由器学习型索引数据结构的训练方法,其特征在于,具体步骤如下:
步骤一、第一次训练集标定:由实际路由表索引数据构成的训练集数据经输入单元转变为输入向量,然后将这些输入向量排序和分类,并标定为编号从小到大的若干区域;
步骤二、第一级神经网络训练:利用步骤一中标定完成的训练集数据和标签,对模型单元中的第一级神经网络进行训练,第一级神经网络训练结果的每个区域值对应一个模型单元中的第二级神经网络;
步骤三、第二次训练集标定:将步骤一经所述输入单元转变为的输入向量全部标定为其累积分布函数值;
步骤四、第二级神经网络训练:利用步骤三中标定完成的训练集数据和标签,分别训练所述模型单元中的第二级每个神经网络,分别经过学习得到累积分布函数的一个部分;
步骤五、训练过程结束:训练完成后,所述模型单元中的所有第二级神经网络的预测范围覆盖整个累积分布函数,即训练后的塔式神经网络是一个累积分布函数的预测函数。
2.一种实现权利要求1所述的训练方法的高性能智能路由器学习型索引数据结构芯片,包括输入单元、模型单元和输出单元;其特征在于:
所述输入单元用于将路由表索引数据转变为输入向量,将每一条索引数据拆分为若干子向量,然后对所有子向量中相同位置的元素执行按位异或运算,最终得到该索引数据对应的输入向量;
所述模型单元用于训练和预测累积分布函数值,该模型单元为塔式两级结构,包括第一级的一个神经网络和第二级的若干神经网络;
所述输出单元将所述模型单元已预测的累积分布函数值乘以映射表中槽的总个数,得到映射表中的映射位置,随后根据该映射位置所在部分对应的基地址和该映射位置中记录的实际存储器地址偏移量,求得最终索引地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910571831.7A CN110474844B (zh) | 2019-06-28 | 2019-06-28 | 高性能智能路由器学习型索引数据结构的训练方法和芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910571831.7A CN110474844B (zh) | 2019-06-28 | 2019-06-28 | 高性能智能路由器学习型索引数据结构的训练方法和芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110474844A CN110474844A (zh) | 2019-11-19 |
CN110474844B true CN110474844B (zh) | 2021-06-08 |
Family
ID=68507422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910571831.7A Expired - Fee Related CN110474844B (zh) | 2019-06-28 | 2019-06-28 | 高性能智能路由器学习型索引数据结构的训练方法和芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474844B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9277257B1 (en) * | 2014-11-03 | 2016-03-01 | Cox Communications, Inc. | Automatic video service actions based on social networking affinity relationships |
US9742867B1 (en) * | 2016-03-24 | 2017-08-22 | Sas Institute Inc. | Network data retrieval |
CN107255923A (zh) * | 2017-06-14 | 2017-10-17 | 哈尔滨工程大学 | 基于rbf辨识的ica‑cmac神经网络的欠驱动无人艇航迹跟踪控制方法 |
CN108805583A (zh) * | 2018-05-18 | 2018-11-13 | 连连银通电子支付有限公司 | 基于地址映射的电商欺诈检测方法、装置、设备及介质 |
CN108898218A (zh) * | 2018-05-24 | 2018-11-27 | 阿里巴巴集团控股有限公司 | 一种神经网络模型的训练方法、装置、及计算机设备 |
CN109271390A (zh) * | 2018-09-30 | 2019-01-25 | 天津大学 | 一种基于神经网络的索引数据结构及其数据检索方法 |
CN110162799A (zh) * | 2018-11-28 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 模型训练方法、机器翻译方法以及相关装置和设备 |
-
2019
- 2019-06-28 CN CN201910571831.7A patent/CN110474844B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9277257B1 (en) * | 2014-11-03 | 2016-03-01 | Cox Communications, Inc. | Automatic video service actions based on social networking affinity relationships |
US9742867B1 (en) * | 2016-03-24 | 2017-08-22 | Sas Institute Inc. | Network data retrieval |
CN107255923A (zh) * | 2017-06-14 | 2017-10-17 | 哈尔滨工程大学 | 基于rbf辨识的ica‑cmac神经网络的欠驱动无人艇航迹跟踪控制方法 |
CN108805583A (zh) * | 2018-05-18 | 2018-11-13 | 连连银通电子支付有限公司 | 基于地址映射的电商欺诈检测方法、装置、设备及介质 |
CN108898218A (zh) * | 2018-05-24 | 2018-11-27 | 阿里巴巴集团控股有限公司 | 一种神经网络模型的训练方法、装置、及计算机设备 |
CN109271390A (zh) * | 2018-09-30 | 2019-01-25 | 天津大学 | 一种基于神经网络的索引数据结构及其数据检索方法 |
CN110162799A (zh) * | 2018-11-28 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 模型训练方法、机器翻译方法以及相关装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110474844A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019647B (zh) | 一种关键词搜索方法、装置和搜索引擎 | |
US20130246698A1 (en) | Hybrid Memory for Search Operations | |
US7356033B2 (en) | Method and apparatus for performing network routing with use of power efficient TCAM-based forwarding engine architectures | |
CN102484610B (zh) | 路由表建立方法和装置及路由表查找方法和装置 | |
CN107291785A (zh) | 一种数据查找方法及装置 | |
CN110460529B (zh) | 一种内容路由器转发信息库存储结构的数据处理方法和芯片 | |
CN109885576A (zh) | 一种哈希表创建方法及***、计算设备及存储介质 | |
CN103107945B (zh) | 一种快速查找ipv6路由的***及方法 | |
CN113220679A (zh) | 面向多模态网络的混合型fib存储结构及其数据处理方法 | |
CN109271390B (zh) | 一种基于神经网络的索引数据结构及其数据检索方法 | |
WO2016184029A1 (zh) | 支持哈希查找和路由查找的存储、查找方法和装置、存储介质 | |
CN107330094B (zh) | 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法 | |
CN108875064A (zh) | 基于FPGA的OpenFlow多维数据匹配查找方法 | |
CN103051543A (zh) | 一种路由前缀的处理、查找、增加及删除方法 | |
CN105515997B (zh) | 基于bf_tcam实现零范围扩张的高效范围匹配方法 | |
CN104780101A (zh) | 内容中心网络转发平面fib表结构及其检索方法 | |
KR102305575B1 (ko) | 이미지 간 유사도를 이용한 유사 영역 강조 방법 및 시스템 | |
CN110474844B (zh) | 高性能智能路由器学习型索引数据结构的训练方法和芯片 | |
CN105959224A (zh) | 基于比特向量的高速路由查找装置及方法 | |
CN106020724A (zh) | 一种基于数据映射算法的近邻存储方法 | |
CN108304384A (zh) | 拆词方法及设备 | |
Veeramani et al. | Efficient IP lookup using hybrid trie-based partitioning of TCAM-based open flow switches | |
JP2003224581A (ja) | 最長一致検索回路および方法およびプログラムおよび記録媒体 | |
CN113552881B (zh) | 一种用于神经网络训练的多路径规划数据集生成方法 | |
CN115099309A (zh) | 一种为图数据的存储和索引设计代价评估模型的方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210608 |