一种多目的数据传输网路路由装置、方法、芯片、路由器与流程

文档序号:11842498阅读:322来源:国知局
一种多目的数据传输网路路由装置、方法、芯片、路由器与流程

本发明涉及多核或众核结构下片上网络的路由结构设计领域,特别涉及一种多目的数据传输网路路由装置、方法、芯片、路由器。



背景技术:

当前越来越多的面向科学或大数据的处理器为了挖掘特定应用的并行性,在片上采用了大规模处理核心的结构,片上网络承担了不同核心之间交互数据或传递同步消息的功能,然而处理核心数目的增加也给片上网络的设计带来的新的挑战,一些对于传输延迟敏感的应用或执行模式的实际性能在很大程度上依赖于片上网络的传输效率,例如在数据流众核结构中,运算的操作数通过片上网络传递,网络上传输消息量巨大,而操作数的传递是数据流众核结构的关键路径,操作数的传输效率决定了处理核上可执行指令的数量,从而决定数据流运行模式的整体执行效率,基于以上原因,改善众核结构的片上网络路由的传输效率尤为重要。

通过分析处理器核向片上网络发送的消息可以发现,大部分消息具备数据相同,目的地址不同的特征,例如普通众核结构中的同步消息,处理核心上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)501均向南传输,不做拆分;

步骤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中,进行后续仲裁等操作。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1