CN106161254B - 一种多目的数据传输网路路由装置、方法、芯片、路由器 - Google Patents
一种多目的数据传输网路路由装置、方法、芯片、路由器 Download PDFInfo
- Publication number
- CN106161254B CN106161254B CN201610565739.6A CN201610565739A CN106161254B CN 106161254 B CN106161254 B CN 106161254B CN 201610565739 A CN201610565739 A CN 201610565739A CN 106161254 B CN106161254 B CN 106161254B
- Authority
- CN
- China
- Prior art keywords
- data
- destination
- packet
- address
- data packets
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种多目的数据传输网路路由装置、方法、芯片、路由器,涉及多核或众核结构下片上网络的路由结构设计领域,该方法包括接收原始数据包,将目的地址相异数据相同的所述原始数据包进行合并,生成合并后的数据包,将所述合并后的数据包进行拆组操作,生成一个或多个数据包,根据所述目的地址,将数据包送入与所述目的地址相对应的消息输入队列中,通过仲裁操作,选择相应的输出端口将所述消息输入队列中的数据包进行输出。
Description
技术领域
本发明涉及多核或众核结构下片上网络的路由结构设计领域,特别涉及一种多目的数据传输网路路由装置、方法、芯片、路由器。
背景技术
当前越来越多的面向科学或大数据的处理器为了挖掘特定应用的并行性,在片上采用了大规模处理核心的结构,片上网络承担了不同核心之间交互数据或传递同步消息的功能,然而处理核心数目的增加也给片上网络的设计带来的新的挑战,一些对于传输延迟敏感的应用或执行模式的实际性能在很大程度上依赖于片上网络的传输效率,例如在数据流众核结构中,运算的操作数通过片上网络传递,网络上传输消息量巨大,而操作数的传递是数据流众核结构的关键路径,操作数的传输效率决定了处理核上可执行指令的数量,从而决定数据流运行模式的整体执行效率,基于以上原因,改善众核结构的片上网络路由的传输效率尤为重要。
通过分析处理器核向片上网络发送的消息可以发现,大部分消息具备数据相同,目的地址不同的特征,例如普通众核结构中的同步消息,处理核心上cache的一致性消息,以及数据流众核结构中的操作数消息等。
目前现有的众核结构通常应用的是图1所示的路由结构,这种传统的路由结构对不同地址的相同数据不做特殊处理,在处理器核对多个目的地址发送相同的数据时采取分别发送方式,这使得片上网络上有大量冗余的数据传输,网络带宽被浪费,同时由于网络上数据包数量增大网络拥塞的概率也随之增加,平均传输延迟被延长,采用多套网络的方式可以缓解堵塞,然而这会增大片上网络的开销,性价比低下。
如果能妥善利用众核结构片上网络多目的数据传输的特点,将多目的与重复传输的数据进行结合,无疑可以有效减少片上网络上传递的消息,提升网络的传输效率。
发明内容
针对现有技术的不足,本发明提出一种多目的数据传输网路路由装置、方法、芯片、路由器。
本发明提出一种多目的数据传输网路路由方法,包括
接收原始数据包,将目的地址相异数据相同的所述原始数据包进行合并,生成合并后的数据包,将所述合并后的数据包进行拆组操作,生成一个或多个数据包,根据所述目的地址,将数据包送入与所述目的地址相对应的消息输入队列中,通过仲裁操作,选择相应的输出端口将所述消息输入队列中的数据包进行输出。
所述合并后的数据包包括包头与数据,所述包头包括多个目的地址,每个目的地址包括一个有效位。
所述拆组操作包括将所述合并后的数据包中的多个目的地址进行分离,计算每个所述目的地址,生成与所述目的地址相对应路由的目标端口号,将所述目标端口号进行重排,将具有相同所述目标端口号的目的地址进行聚类,并将所述原始数据包中的数据与聚类后的目的地址进行打包,生成新数据包,删除没有有效地址的新数据包,将包括至少一个有效地址的新数据包发送给所述消息输入队列。
本发明还提出一种多目的数据传输网路路由装置,包括
拆组输出模块,用于接收原始数据包,将目的地址相异数据相同的所述原始数据包进行合并,生成合并后的数据包,将所述合并后的数据包进行拆组操作,生成一个或多个数据包,根据所述目的地址,将数据包送入与所述目的地址相对应的消息输入队列中,通过仲裁操作,选择相应的输出端口将所述消息输入队列中的数据包进行输出。
所述合并后的数据包包括包头与数据,所述包头包括多个目的地址,每个目的地址包括一个有效位。
所述拆组操作包括将所述合并后的数据包中的多个目的地址进行分离,计算每个所述目的地址,生成与所述目的地址相对应路由的目标端口号,将所述目标端口号进行重排,将具有相同所述目标端口号的目的地址进行聚类,并将所述原始数据包中的数据与聚类后的目的地址进行打包,生成新数据包,删除没有有效地址的新数据包,将包括至少一个有效地址的新数据包发送给所述消息输入队列。
本发明还提出一种包括所述的多目的数据传输网路路由装置的芯片。
本发明还提出一种包括所述的多目的数据传输网路路由装置的路由器。
由以上方案可知,本发明的优点在于:
本发明利用众核结构中片上网络多目的数据传输的特征,对应多目的的同一数据进行结合处理,避免同一数据在网络中的多次传递,减少片上网络中冗余信息的传递,对比传统路由结构,本发明可以大幅缓解众核片上网络的拥堵,提升消息传递吞吐率,提高网络传输效率。
附图说明
图1为传统路由结构设计图;
图2为数据包形式图;
图3为网络路由数据通路图;
图4为拆组逻辑执行流程;
图5为数据包片上网络示意图;
图6为拆组逻辑示例图。
具体实施方式
本发明针对众核结构上存在的多目的数据传输的特性,提出一种多目的数据传输网路路由装置、方法、芯片、路由器,本发明中的路由结构将处理节点发送给路由器的消息打包,将目的地址不同、数据相同的包进行合并,数据包形式如图2所示,其中包括包头201和数据202,包头包含多个地址204-207,每个地址包含一个有效位203,数据包在路由器间传递过程中可以将多个地址根据路由器的相对位置进行拆组,逐步根据目标地址分解,发送到各目的节点上,与传统路由器设计实现不同,本发明路由结构在路由输入端口和输入缓冲之间增加了数据包拆组逻辑,具体方法如图3所示,路由执行过程的步骤如下:
步骤301:数据包从输入端口305-309进入路由。
步骤302:数据包执行经过拆组逻辑310-314,形成一个或多个数据包,不同目的端口的数据包进入不同的消息输入队列315。
步骤303:仲裁逻辑316控制不同输入队列的输出317-321。
步骤304:相应的数据包从输出端口322-326输出。
其中拆组逻辑是本发明中实现高效传输的重要功能部分,拆组逻辑的具体方法如图4所示,步骤如下:
步骤401:首先将输入端口传入的数据包406进行拆分处理,拆包的过程是将数据包中的多个目的地址分离,分别传送给路由计算逻辑407。
步骤402:路由计算逻辑407分别计算传入的多个目的地址,生成目的地址对应该路由的目标端口号408-411。
步骤403:将路由计算产生的多个目标端口号进行重排,将具有相同目标端口号的目的地址聚类,并携带原数据包的数据与聚类后的目的地址进行打包412-415,组成新的数据包,传递给筛选逻辑。
步骤404:筛选逻辑416-419剔除掉没有有效地址的新数据包,将至少有一个有效地址的新数据包送给后续相应端口的消息输入队列420-423。
步骤405:后续的路由操作与传统路由方式一致。
本发明还提出一种多目的数据传输网路路由装置,包括
拆组输出模块,用于接收原始数据包,将目的地址相异数据相同的所述原始数据包进行合并,生成合并后的数据包,将所述合并后的数据包进行拆组操作,生成一个或多个数据包,根据所述目的地址,将数据包送入与所述目的地址相对应的消息输入队列中,通过仲裁操作,选择相应的输出端口将所述消息输入队列中的数据包进行输出。
所述合并后的数据包包括包头与数据,所述包头包括多个目的地址,每个目的地址包括一个有效位。
所述拆组操作包括将所述合并后的数据包中的多个目的地址进行分离,计算每个所述目的地址,生成与所述目的地址相对应路由的目标端口号,将所述目标端口号进行重排,将具有相同所述目标端口号的目的地址进行聚类,并将所述原始数据包中的数据与聚类后的目的地址进行打包,生成新数据包,删除没有有效地址的新数据包,将包括至少一个有效地址的新数据包发送给所述消息输入队列。
本发明还提出一种包括所述的多目的数据传输网路路由装置的芯片。
本发明还提出一种包括所述的多目的数据传输网路路由装置的路由器。
以下为本发明实施例,如下所示:
首先说明本发明的路由组成片上网络中,一个数据包的传输过程,如图5所示,一个四地址数据包512从路由器(0,0)506中发出,沿途经过多次拆组,将数据发送到各个目的节点。具体步骤如下:
步骤501:各个目的地址相对于路由器(0,1)507均向南传输,不做拆分;
步骤502:路由器(1,1)508将数据包513拆分成3个数据包,其中发送到本地节点一个,向南发送一个(514),剩下的两个目的地继续打包515向东发送;
步骤503:路由器(2,1)509接受到只剩下一个本地地址的数据包514,发送到本地节点;
步骤504:路由器(1,2)510将数据包515拆分成2个数据包,其中发送到本地节点一个,向东发送一个(516);
步骤505:路由器(1,3)511接受到只剩下一个本地地址的数据包516,发送到本地节点;
以步骤502中对数据包的处理为例,详细介绍路由器内拆组逻辑的执行方式。如图6所示,具体步骤如下:
步骤601:四地址数据包606从北输入端口输入,拆包,分别送给后续路由算法逻辑607;
步骤602:路由算法607分别计算四个地址相对于本地的目标端口,并经过四选一608-611将数据传递给下一步骤,如图6所示,第1个地址选通本地612,第2、3个地址选通东613,第4个地址选通西615;
步骤603:将上一阶段传入的地址重排打包,没有选通的地址位置为不可用状态;
步骤604:将上一阶段的重排数据包经过筛选616-619,若地址至少有一个有效616、617、619,则进入相应的输入队列,若4个方向的地址均无效(618),则不选通进入输入队列。图6中南向重排数据包614没有有效地址,不进入队列,其它重排数据包均进入输入队列620-623;
步骤605:将筛选后的数据包放入对应的输入队列620-623中,进行后续仲裁等操作。
Claims (6)
1.一种多目的数据传输网路路由方法,其特征在于,包括
接收原始数据包,将目的地址相异数据相同的所述原始数据包进行合并,生成合并后的数据包,将所述合并后的数据包进行拆组操作,生成一个或多个数据包,根据所述目的地址,将数据包送入与所述目的地址相对应的消息输入队列中,通过仲裁操作,选择相应的输出端口将所述消息输入队列中的数据包进行输出;
所述拆组操作包括将所述合并后的数据包中的多个目的地址进行分离,计算每个所述目的地址,生成与所述目的地址相对应路由的目标端口号,将所述目标端口号进行重排,将具有相同目标端口号的目的地址进行聚类,并将所述原始数据包中的数据与聚类后的目的地址进行打包,生成新数据包,删除没有有效地址的新数据包,将包括至少一个有效地址的新数据包发送给所述消息输入队列。
2.如权利要求1所述的多目的数据传输网路路由方法,其特征在于,所述合并后的数据包包括包头与数据,所述包头包括多个目的地址,每个目的地址包括一个有效位。
3.一种多目的数据传输网路路由装置,其特征在于,包括
拆组输出模块,用于接收原始数据包,将目的地址相异数据相同的所述原始数据包进行合并,生成合并后的数据包,将所述合并后的数据包进行拆组操作,生成一个或多个数据包,根据所述目的地址,将数据包送入与所述目的地址相对应的消息输入队列中,通过仲裁操作,选择相应的输出端口将所述消息输入队列中的数据包进行输出;
所述拆组操作包括将所述合并后的数据包中的多个目的地址进行分离,计算每个所述目的地址,生成与所述目的地址相对应路由的目标端口号,将所述目标端口号进行重排,将具有相同目标端口号的目的地址进行聚类,并将所述原始数据包中的数据与聚类后的目的地址进行打包,生成新数据包,删除没有有效地址的新数据包,将包括至少一个有效地址的新数据包发送给所述消息输入队列。
4.如权利要求3所述的多目的数据传输网路路由装置,其特征在于,所述合并后的数据包包括包头与数据,所述包头包括多个目的地址,每个目的地址包括一个有效位。
5.一种包括如权利要求3、4任意一项所述的多目的数据传输网路路由装置的芯片。
6.一种包括如权利要求3、4任意一项所述的多目的数据传输网路路由装置的路由器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610565739.6A CN106161254B (zh) | 2016-07-18 | 2016-07-18 | 一种多目的数据传输网路路由装置、方法、芯片、路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610565739.6A CN106161254B (zh) | 2016-07-18 | 2016-07-18 | 一种多目的数据传输网路路由装置、方法、芯片、路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106161254A CN106161254A (zh) | 2016-11-23 |
CN106161254B true CN106161254B (zh) | 2019-06-18 |
Family
ID=58059641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610565739.6A Active CN106161254B (zh) | 2016-07-18 | 2016-07-18 | 一种多目的数据传输网路路由装置、方法、芯片、路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106161254B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850440B (zh) * | 2017-01-16 | 2020-02-04 | 北京中科睿芯科技有限公司 | 一种面向多地址共享数据路由包的路由器、路由方法及其芯片 |
CN111177482B (zh) * | 2019-12-30 | 2022-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种图数据并行处理的方法、装置、设备及可读存储介质 |
CN113138711B (zh) * | 2020-01-20 | 2023-11-17 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
CN113743569A (zh) * | 2020-05-29 | 2021-12-03 | 上海新氦类脑智能科技有限公司 | 脉冲信号发送方法、装置及存储介质 |
CN113259370B (zh) * | 2021-06-03 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备、系统及可读存储介质 |
CN113452789B (zh) * | 2021-06-29 | 2022-07-01 | 中信科移动通信技术股份有限公司 | 一种前传接口频域合路系统及频域合路方法 |
CN114401220A (zh) * | 2021-12-30 | 2022-04-26 | 江苏德联达智能科技有限公司 | 一种高速智能路由器及其实现方法 |
CN114064562A (zh) * | 2022-01-17 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种片上网络的esl建模的方法、装置、设备及介质 |
CN115174473A (zh) * | 2022-08-09 | 2022-10-11 | 展讯通信(上海)有限公司 | 数据处理方法、装置及中继设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523764A (zh) * | 2010-09-03 | 2012-06-27 | 松下电器产业株式会社 | 中继装置 |
CN103595627A (zh) * | 2013-11-28 | 2014-02-19 | 合肥工业大学 | 基于多播维序路由算法的NoC路由器及其路由算法 |
CN105376166A (zh) * | 2014-08-29 | 2016-03-02 | 中车大连电力牵引研发中心有限公司 | 基于轨道机车交换机的数据处理方法和交换机 |
-
2016
- 2016-07-18 CN CN201610565739.6A patent/CN106161254B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523764A (zh) * | 2010-09-03 | 2012-06-27 | 松下电器产业株式会社 | 中继装置 |
CN103595627A (zh) * | 2013-11-28 | 2014-02-19 | 合肥工业大学 | 基于多播维序路由算法的NoC路由器及其路由算法 |
CN105376166A (zh) * | 2014-08-29 | 2016-03-02 | 中车大连电力牵引研发中心有限公司 | 基于轨道机车交换机的数据处理方法和交换机 |
Non-Patent Citations (1)
Title |
---|
Towards the ideal on-chip fabric for 1-to-many and many-to-1 communication;Tushar Krishna etc.;《2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)》;20111207;正文第3-4部分以及图4 * |
Also Published As
Publication number | Publication date |
---|---|
CN106161254A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106161254B (zh) | 一种多目的数据传输网路路由装置、方法、芯片、路由器 | |
US20220224656A1 (en) | Programmable logic device with integrated network-on-chip | |
CN107959690B (zh) | 基于软件定义网络的DDoS攻击跨层协同防御方法 | |
US10031878B2 (en) | Configurable mesh data bus in an island-based network flow processor | |
CN103580890B (zh) | 一种可重配置片上网络结构及其配置方法 | |
CN101808032B (zh) | 面向静态XY路由算法的二维网格NoC路由器优化设计方法 | |
CN104579962B (zh) | 一种区分不同报文的QoS策略的方法及装置 | |
CN101160856B (zh) | 一种网络处理器 | |
US9237095B2 (en) | Island-based network flow processor integrated circuit | |
US20140133320A1 (en) | Inter-packet interval prediction learning algorithm | |
CN103973564B (zh) | 互连网络系统的自适应路由方法 | |
CN105022717A (zh) | 附加请求数优先级的片上网络资源仲裁方法及仲裁单元 | |
CN109302357A (zh) | 一种面向深度学习可重构处理器的片上互联结构 | |
CN104022950B (zh) | 一种可共享和自配置缓存的路由器结构 | |
US20130215792A1 (en) | Configurable Mesh Control Bus In An Island-Based Network Flow Processor | |
Ausavarungnirun et al. | A case for hierarchical rings with deflection routing: An energy-efficient on-chip communication substrate | |
CN103685041B (zh) | 一种基于比特粒度可编程的路由器及路由方法 | |
US9344384B2 (en) | Inter-packet interval prediction operating algorithm | |
CN107920025A (zh) | 一种面向cpu‑gpu异构片上网络的动态路由方法 | |
Cota et al. | NoC basics | |
US9405713B2 (en) | Commonality of memory island interface and structure | |
US8930872B2 (en) | Staggered island structure in an island-based network flow processor | |
US9971720B1 (en) | Distributed credit FIFO link of a configurable mesh data bus | |
US9401880B1 (en) | Flow control using a local event ring in an island-based network flow processor | |
CN105893321B (zh) | 片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |