CN106453072A - 片上网络路由器通道资源的贪婪分配方法、装置及路由器 - Google Patents
片上网络路由器通道资源的贪婪分配方法、装置及路由器 Download PDFInfo
- Publication number
- CN106453072A CN106453072A CN201610460938.0A CN201610460938A CN106453072A CN 106453072 A CN106453072 A CN 106453072A CN 201610460938 A CN201610460938 A CN 201610460938A CN 106453072 A CN106453072 A CN 106453072A
- Authority
- CN
- China
- Prior art keywords
- packet
- port
- greedy
- router
- network
- 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.)
- Pending
Links
Classifications
-
- 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
-
- 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/60—Router architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种片上网络路由器通道资源的贪婪分配方法,适用于片上网络技术领域,所述贪婪分配方法在交叉开关分配阶段为路由器的内部的输入端口与输出端口进行映射之前进行,包括:预处理步骤,当数据包进入所述输入端口的子通道和虚通道中时,将数据包信息进行归类处理得到预处理信息表;执行步骤,根据所述预处理信息表以及所述数据包对应的所述输出端口的大小,选择最大限度多个所述数据包匹配所述子通道和所述输出端口。同时还提供一种片上网络路由器通道资源的贪婪分配装置。借此,本发明利用贪婪算法思想对输入端口和输出端口之间进行通道的匹配,达到趋向于最优的映射,提高通道的利用率。
Description
技术领域
本发明涉及片上网络技术领域,尤其涉及一种片上网络路由器通道资源的贪婪分配方法、装置及路由器。
背景技术
在大规模众核处理器中,为了满足众核之间的数据传输需求,片上网络越来越发挥着重要的作用。随着面向互联网、云计算等服务应用的多样化和复杂化,传输在片上网络的数据包类型也变的多样化和复杂化。同时,为了降低Cache功耗和提高Cache的性能和利用率,细粒度的Cache管理也被越来越多的研究工作所提出。因此,网络中传输的数据包大小不再是规则的Cache块大小,各种粒度的数据包大小(控制信息+小粒度访存)穿梭在网络中,严重降低了传统固定宽度的片上网络通道的利用率。针对此现象,众多的研究工作提出了细粒度的片上网络划分机制,将固定宽度的片上网络分割成多个细粒度的链路通道,这样可以适应性地传输不同大小的数据包,提高片上网络的有效利用率。
在已报导和所能查阅到的国内外相关研究中,关于片上网络路由器通道资源分配算法研究情况可列举、分析、总结如下:
Hesse等人提出了将宽通道链路拆分成细粒度的通道宽度,同时数据包也变为与细粒度通道宽度一致的数据包。并且,通道设置为双向可变的通道,根据双向的数据包的流量压力动态调节通道的传输方向。
Krishna等人根据大量的数据包通常会分享一些传输通道,因此提出了将分享同一路线的小数据包合并后传输,将目的地不同的合并数据包进行拆分后传输至不同的方向,提高通道的利用率。通常这样的数据包出现在支持广播机制的片上网络中。
Jin等人提出了将数据包进行压缩,压缩之后的数据包可以共享使用同一传输通道,进而提高传输通道的利用率和吞吐量。
Junghee Lee等人提出了细粒度片上通道控制并配合数据包在不同虚通道中的“窃取”和“分享”技术,提高端口虚通道的利用率,降低数据包传输的延 迟,提高传输效率。
Reetuparna Das等人提出了灵活的路由器内部输入端口和输出端口之间的仲裁管理机制。对于申请同一输出端口的输入端口来说,如果两个输入端口都存在小数据包时,那么就将小数据包在同一时刻传输至输出端口,提高数据传输的并行性同时提高通道的有效利用率。
随着片上数据处理单元的逐步增加,片上网络的传输性能必将受到越来越多的关注和压力。新型的大数据网络服务应用的出现,对传统的片上网络提出了更高的要求。因此,如何进一步提高片上网络的传输效率也将会成为研究者不断探索的热点方向之一。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种高密度片上网络的路网实现方法、装置及路由器,其目的在于改善片上网络路由器体系结构设计及路由器资源分配,使得面向细粒度控制的路由器内部通道资源的高效分配,实现局部最优的路由器内部输入端口和输出端口仲裁映射算法。
为了实现上述目的,本发明提供一种片上网络路由器通道资源的贪婪分配方法,所述贪婪分配方法在片上网络路由器的交叉开关分配阶段为路由器的内部的输入端口与输出端口进行映射之前进行,包括:
预处理步骤,当数据包进入所述输入端口的子通道和虚通道中时,将数据包信息进行归类处理得到预处理信息表;
执行步骤,根据所述预处理信息表以及所述数据包对应的所述输出端口的大小,选择最大限度多个所述数据包匹配所述子通道和所述输出端口。
根据本发明所述片上网络路由器通道资源的贪婪分配方法,所述预处理步骤还包括:
当所述数据包传至所述输入端口时,收集路由计算处理结果;
根据路由计算的所述数据包信息按预期发往的所述输出端口分类创建独立的所述预处理信息表;
将每个所述子通道的所述数据包期望的所述输出端口更新至对应的所述预 处理信息表;
所述预处理信息表包括发往的所述输出端口的子端口信息、数据包的大小信息和/或所述数据包占用的所述子通道信息。
根据本发明所述片上网络路由器通道资源的贪婪分配方法,所述执行步骤还包括:
以轮询算***询选择一所述输入端口作为基准端口;
所述轮询算***询的包括依次选择不同的所述输入端口,每次选择执行i=(i+1)mod n,选出第i个端口,n为端口总数;所述基准端口的所述数据包优先传输到同一所述输出端口。
根据本发明所述片上网络路由器通道资源的贪婪分配方法,所述基准端口的所述数据包优先传输到同一所述输出端口的步骤还包括:
若所述基准端口的所述子通道都有所述数据包期望发往同一个所述输出端口,则不再选择后续所述输入端口的子通道的所述数据包;
若所述基准端口的所述子通道中的所述数据包没有填满传输链路,依次选择后续所述输入端口的所述数据包。
根据本发明所述片上网络路由器通道资源的贪婪分配方法,还包括:
在所述片上网络路由器通道资源的贪婪分配方法前执行虚通道分配;
根据所述片上网络路由器通道资源的贪婪分配方法的处理结果在所述交叉开关分配阶段传输所述数据包。
本发明一种片上网络路由器通道资源的贪婪分配装置,所述贪婪分配装置设置于路由器中,所述贪婪分配装置包括:
预处理模块,用于当数据包进入所述输入端口的子通道和虚通道中时,将数据包信息进行归类处理得到预处理信息表;
执行模块,用于根据所述预处理信息表以及所述数据包对应的所述输出端口的大小,选择最大限度多个所述数据包匹配所述子通道和所述输出端口。
根据本发明所述片上网络路由器通道资源的贪婪分配装置,所述预处理模块还包括:
路由收集子模块,用于当所述数据包传至输入端口时,收集路由计算处理结果;信息处理子模块,用于根据路由计算的所述数据包信息按预期发往的所述输出端口分类创建独立的所述预处理信息表;
信息更新子模块,用于将每个所述子通道的所述数据包期望的所述输出端口更新至对应的所述预处理信息表;
所述预处理信息表包括发往的所述输出端口的子端口信息、数据包的大小信息和/或所述数据包占用的所述子通道信息。
根据本发明所述片上网络路由器通道资源的贪婪分配装置,所述执行模块还包括:
基准选择子模块,用于以轮询算***询选择一所述输入端口作为基准端口;
所述轮询算***询的包括依次选择不同的所述输入端口,每次选择执行i=(i+1)mod n,选出第i个端口,n为端口总数;
局部优先子模块,用于所述基准端口的所述数据包优先传输到同一所述输出端口。
根据本发明所述片上网络路由器通道资源的贪婪分配装置,所述执行模块还包括:
第一选择子模块,用于若所述基准端口的所述子通道都有所述数据包期望发往同一个所述输出端口,则不再选择后续所述输入端口的子通道的所述数据包;
第二选择子模块,用于若所述基准端口的所述子通道中的所述数据包没有填满传输链路,依次选择后续所述输入端口的所述数据包。
本发明还提供一种包括如上述任一项所述片上网络路由器通道资源的贪婪分配装置的路由器。
本发明在路由器内部添加具有预处理模块和执行模块的贪婪分配装置,通过利用贪婪算法思想为路由器内部的输入端口和输出端口之间进行趋向最优的映射,适用于细粒度通道网络中,即将传统的片上宽通路分割成低宽度的子传输通道,在细粒度的片上网络路由器中,当各子通道的数据包经过路由计算后,将子通道的信息更新至预处理信息表中,执行模块通过对预处理表信息的处理,实现了对输入端口和输出端口之间进行通道的匹配,达到趋向于最优的映射,提高通道的利用率。
附图说明
图1是本发明片上网络路由器通道资源的贪婪分配装置的贪婪分配装置结 构示意图;
图2是本发明片上网络路由器通道资源的贪婪分配装置的贪婪分配装置的优选实施例的结构示意图;
图3是本发明片上网络路由器通道资源的贪婪分配装置的路由器具体实施例示意图;
图4是本发明片上网络路由器通道资源的贪婪分配方法流程示意图;
图5是本发明片上网络路由器通道资源的贪婪分配方法优选流程实施例示意图;
图6是片上网络路由器通道资源的贪婪分配方法实现的具体实施例mesh网络示意图;
图7是本发明片上网络路由器通道资源的贪婪分配方法的具体实施例数据包处理完整流程示意图;
图8是本发明片上网络路由器通道资源的贪婪分配方法具体实施例之执行步骤示意图;
图9是本发明片上网络路由器通道资源的贪婪分配方法传输状态示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了解决上述问题,本发明提供一种片上网络路由器通道资源的贪婪分配装置,结合图示说明,如图1~图3所示,所述贪婪分配装置40设置在路由器100中,贪婪分配装置40包括:
预处理模块41,用于当数据包进入所述输入端口的子通道和虚通道中时,将数据包信息进行归类处理得到预处理信息表;
执行模块42,用于根据所述预处理信息表以及所述数据包对应的所述输出端口的大小,选择最大限度多个所述数据包匹配所述子通道和所述输出端口。
进一步地,如图3所示,贪婪分配装置40还包括:
路由收集子模块411,用于当所述数据包传至输入端口时,收集路由计算处理结果;
相应地,如图2所示,预处理模块41还包括:
信息处理子模块412,用于根据路由计算的所述数据包信息按预期发往的所述输出端口分类创建独立的所述预处理信息表;
信息更新子模块413,用于将每个所述子通道的所述数据包期望的所述输出端口更新至对应的所述预处理信息表;
所述预处理信息表包括发往的所述输出端口的子端口信息、数据包的大小信息和/或所述数据包占用的所述子通道信息,具体地可参见图9。
进一步地,贪婪分配装置40,优选的是,所述执行模块42还包括:
基准选择子模块421,用于以轮询算***询选择一所述输入端口作为基准端口;
基准选择子模块421还用于以轮询的方式依次选择不同的所述输入端口,每次选择执行i=(i+1)mod n,选出第i个端口,n为端口总数;
局部优先子模块422,用于所述基准端口的所述数据包优先传输到同一所述输出端口;
第一选择子模块423,用于若所述基准端口的所述子通道都有所述数据包期望发往同一个所述输出端口,则不再选择后续所述输入端口的子通道的所述数据包;
第二选择子模块424,用于若所述基准端口的所述子通道中的所述数据包没有填满传输链路,依次选择后续所述输入端口的所述数据包。
与贪婪分配装置40对应的是,本发明提供一种包括如上述任一项所述片上网络路由器通道资源的贪婪分配装置40的路由器100。如图3所示的一个具体实施例,路由器100还包括:
路由计算模块20,用于当所述数据包传至输入端口时,进行路由计算;
虚通道分配器30,用于在片上网络路由器通道资源的贪婪分配方法之前执行虚通道分配;交叉开关分配器50,用于根据片上网络路由器通道资源的贪婪分配方法的处理结果在所述交叉开关分配阶段传输所述数据包;路由器100的所述子通道与所述输出端口采用全相联的映射方式。
本发明的总体思路是:在路由器100内部流水线一般存在虚通道分配(VirtualChannel Allocation,VA)、路由计算(Route Computing,RC)、交叉开关分配(SwitchAllocation,SA)、交叉开关传输(Switch Transfer,ST)、 链路传输(Link Transfer,LT)等阶段。其中,在交叉开关分配(SA)阶段,是为路由器内部输入端口与所述输出端口进行映射,为下一阶段的数据传输做准备。在传统的片上网络实现机制中,数据包的大小与通道宽度一致,而在细粒度管理的片上网络实现机制中,一定数量的数据包大小以及一些控制信息的大小远低于通道宽度,按所述子通道的数量分配对应的路由器100之上的输入缓冲区、交叉开关、输出缓冲区、虚通道、多选一选择器和路由到路由之间的链路,多选一选择器包括二选一选择器或是四选一选择器等类型的多选一选择器。
如图6所示为细粒度片上网络通道实现机制,传统的高宽度通道被分割成细粒度的子通道13,子通道与所述输出端口采用全相联的映射方式。假设为Mesh结构的片上网络路由器,输入端口11,12为5个输入端口中的其中之一。如图6所示的子通道贪婪算法映射原理,在输入端口中,128bit宽度数据通道被分割成4个子通道,每个子通道VC Creditchannel1为32bit宽,包含1个二选一选择器14和2个虚通道VC0、VC1,处于同等的地位,每个输入端口共4个二选一选择器和8个虚通道。在数据包的传输过程中,每个所述输入端口中,如输入端口0每个所述子通道可能传输不同的数据包,也存在几个不同的虚通道传输同一个大数据包的可能性,即当某一数据包大于子通道宽度,它便可以占据满足自己需求宽度的多个相邻子通道。因此对于每个输入端口来说,并不是所有输入端口中等待发送到所述输出端口0~8的数据包的大小都是128bit,每个所述输出端口每次最多只能接受128bit的数据传输。因此在进行交叉开关分配(SA)阶段时,有交叉开关分配器执行处理,数据包通过交叉开关51,5个输入端口和5个所述输出端口进行匹配。然而,当传统的端口被划分为细粒度的子通道时,输入端口和所述输出端口之间的映射会变的复杂很多,传统的轮询(Round-Robin)算法之类的算法并不一定能保证每次选出的内容是合理或是趋向于最优的,提出贪婪算法映射来最大化提高数据通道的利用率,即片上网络路由器通道资源的贪婪分配方法实现贪婪算法思想的映射方式,通过对基准端口到非基准端口逐个局部最优化获得整体最优化的输入端口到输出端口的映射。
更进一步地,为了使得本发明一种片上网络路由器通道资源的贪婪分配方法阐述更清楚,基于所述贪婪分配装置40及所述路由器100实现,所述片上网 络路由器通道资源的贪婪分配方法在交叉开关分配阶段为路由器的内部的输入端口与输出端口进行映射之前进行,如图4所示的流程图,包括:
步骤S401,预处理步骤,当数据包进入所述输入端口的子通道和虚通道中时,将数据包信息进行归类处理得到预处理信息表;
步骤S402,执行步骤,根据所述预处理信息表以及所述数据包对应的所述输出端口的大小,选择最大限度多个所述数据包匹配所述子通道和所述输出端口;
这两步骤分别由预处理模块41和执行模块42执行,预处理信息表作为后续数据包和子通道管理依据,执行模块42根据预处理信息表获得数据包的大小、所在的子通道、要去往的输出端口。
由于每个所述输出端口每次最多只能接受128bit的数据传输,对于具有5个输入端口,每个所述输入端口划分4个子通道,那么任意一个所述输出端口的每次传输的多个数据包的总大小不能超过128bit,而由于数据包大小不一,每次的数量也就只能根据能传输到同一所述输出端口的所有数据包的大小信息进行集合,得到以下的预处理信息表,将其中传输到所述输出端口直到子通道填满或不能再合并传输后续的数据包,获得局部最优化的效果。
在预处理步骤,预处理模块10获取了数据包信息,所有子通道中,预期发往同一个所述输出端口的所有数据包的信息发往对应的信息表中:
预处理信息表
如预处理信息表所示,第一列属性sub_channel代表对应的是输入端口的哪个子端口;第二列属性size代表数据包的大小;第三至第五列S0、S1、S2,代表如果size大于1时,数据包的其它部分在哪个子通道中,因为这个数据包是一个整体,传输的时候不能将其拆开。
执行步骤中,执行模块42的作用是根据预处理过程的结果,以输出端口为中心,在端口大小为上限的条件下,选择尽可能多的数据包。但是,为了保证 公平性,算法需遵循一定的规则,即:一、轮询选择基准端口;二、基准端口中的数据包优先传输。
进一步地,如图5所示,所述片上网络路由器通道资源的贪婪分配方法一个优选实施例,步骤还包括:
步骤S501,当所述数据包传至所述输入端口时,进行路由计算;
这一步由路由收集子模块411实现,与路由器的路由计算模块实现协作;
步骤S502,根据路由计算的所述数据包信息按预期发往的所述输出端口分类创建独立的所述预处理信息表;信息处理子模块412根据输出端口进行分类创建不同的预处理信息表,方便执行。
步骤S503,将每个所述子通道的所述数据包期望的所述输出端口更新至对应的所述预处理信息表;
所述预处理信息表包括发往的所述输出端口的子端口信息、数据包的大小信息和/或所述数据包占用的所述子通道信息。
信息更新子模块413通过路由计算的结果将每个所述子通道的所述数据包期望的所述输出端口更新至对应的所述预处理信息表,与现有路由器其它的部分进行协作。
步骤S504,以轮询(Round-Robin)算***询选择一所述输入端口作为基准端口;这一步通过基准选择子模块421执行。
优选的是,步骤S504中:
所述轮询(Round-Robin)算法包括以轮询的方式依次选择不同的所述输入端口,每次选择执行i=(i+1)mod n,选出第i个端口,n为端口总数;以轮询(Round-Robin)算法选择基准端口。基准选择子模块421,用于以轮询算***询选择一所述输入端口作为基准端口;基准选择子模块421依次选择不同的所述输入端口,局部优先子模块422将所述基准端口的所述数据包优先传输到同一所述输出端口;所谓基准端口即以此输入端口的数据包大小为初始大小,通过贪婪算法选择其它输入端口的数据包,并且若基准端口数据包大小和链路宽度一致,如链路宽度为128bit,数据包为128bit,即数据包已经填满所有子通道(链路),此时不会去选择其它端口的数据包,最终获取局部最优策略。轮询选择基准端口的原因是防止造成端口传输的不公平,因为如果不进行轮询的话,第一个被选择为基准端口的输入端口存在极端可能,即每次都被选择为基准端 口。
步骤S505,所述基准端口的所述数据包优先传输到同一所述输出端口;这一步由局部优先子模块422执行;
步骤S506,若所述基准端口的所述子通道都有所述数据包期望发往同一个所述输出端口,则不再选择后续所述输入端口的子通道的所述数据包;
这一步由第一选择子模块423对当前传输的数据包进行检测和执行;
步骤S507,若所述基准端口的所述子通道中的所述数据包没有填满传输链路,依次选择后续所述输入端口的所述数据包。这一步由第二选择子模块424实现。
对于第一选择子模块423从输入端口中选择数据包,是从所有子通道所涉及的虚通道、虚通道缓存等交叉开关分配阶段前的器件中选择,对于某次传输,被选择的所述基准端口(每次只有一个)具有优先传输权。所谓优先传输权是指,当输入端口的虚通道或是虚通道内的缓冲中存在多个数据包期望发往同一个所述输出端口时,优先组合基准端口中的各子通道的数据包,而同一次传输的多个数据包看作整体,那么其中的一个数据包很大可以占据多个子通道,对于其中一个子通道的数据即为数据分片,对此需要计算所述基准端口中的各个子通道中等待传输的数据分片的大小和所述输出端口,若未填满当次输入时的所有子通道,则第一选择子模块423从虚通道、虚通道缓冲中提取合适大小的数据包,直到填满子通道为止,若仍然无法填满,则第二选择子模块424从其它子通道中选择数据包,即从其它的输入端口中选择同类数据包,发送到同一所述输出端口,使其达到最优的传输效率。第一选择子模块423尽量选择同一端口子通道的数据包的优点是降低输出端口所一次映射的输入端口,而基准选择子模块421选择了基准端口,可以尽量使除了基准端口的其它端口与除了基准端口对应的输出端口之外的其它输出端口映射,提高端口的利用率,降低复杂度。若基准端口子通道中的数据包无法填满传输链路,则选择其它输入端口的子通道中的数据包进行合并传输。
在一个具体实施例中,基于所述贪婪分配装置40及所述路由器100实现所述片上网络路由器通道资源的贪婪分配方法,数据包以此实现一个完整流程,所述流程包括:
步骤701,数据包输入;
步骤702,虚通道分配;
步骤703,路由计算;
步骤704,预处理步骤;
步骤705,执行步骤;
步骤706,交叉开关分配(SA);
步骤707,交叉开关传输(ST);
步骤708,链路传输(LT)阶段。
经过贪婪算法选择之后,端口之间能够达到局部最优的传输组合(即尽可能多的选择数据包,使其能够填满传输链路),之后经过交叉开关分配(SA),交叉开关传输(ST)和链路传输(LT)阶段,根据所述贪婪算法映射的处理结果在所述交叉开关分配阶段传输所述数据包,将数据包传输至下一跳路由器。
由于本发明在图4和图5的步骤基础上,在传统的交叉开关分配(SA)阶段,添加了GA(Greedy Algorithm)阶段,主要目的是进行基于贪婪算法思想的映射,有贪婪分配装置40实现。在GA阶段,收集所有的输入端口的信息,按照贪婪算法思想局部最优的原则,为每个输出端口选择对应的输入端口的子通道。适用贪婪算法的片上路由传输过程中,优选的是执行步骤在同一基准端口中,区分好不同子通道的数据分片,单个子通道的数据分片,发往同一输入端口的数据分片称为同方向,如图8流程图所示,步骤包括:
步骤S801,Round-Robin算法选择基准端口;
步骤S802,基准端口所有子通道所有虚通道后面有同方向分片;若可以,执行步骤S803,若不可以,执行步骤S804;
步骤S803,计算基准端口后续数据分片是否可取;若可以,执行步骤S805,若不可以,执行步骤S804;
步骤S804,计算后续输入端口的子通道的数据分片是否可取;若可以,执行步骤S805,若不可以,返回;
步骤S801,取出数据分片。回到执行步骤S802;
如图9所示的为了具体实施例,每个Router有五个输入端口,输入端口一401、输入端口二402、输入端口三403、输入端口四404、输入端口五405,五个输出端口(图中省略)。每个输入端口假设分为4个子通道,每个子通道的缓存深度为2。每个子通道的4选1片选器406,连接四个输出端口。图9中所 示为某一时刻,某一路由器的传输状态,数据包407都期望发往同一个输出端口。
首先,各个数据包到达输入端口之后,经过路由计算之后,将自己的期望输出端口信息统一发往贪婪算法预处理装置。预处理模块41会对收集到的端口信息进行分类和整理。其中输入端口一(以端口一为例)的四个子通道(深度为二)的预处理信息表:
预处理信息表(输入端口一)
在预处理模块41收集了所有端口的信息之后,执行模块42为每个输出端口选择局部最优的端口映射方案。
假设本次的基准端口为输入端口一401,则根据贪婪算法执行原则,选择的数据包分别为输入端口一401中,右边是深度为一的1个数据包和左边是深度为二的2个数据包,组合之后宽度与端口和链路的最大宽度相等,因此不选择其它端口的数据包,即输入端口一401的所有数据包可满足最优传输,无需再去选择其它端口;
假设本次的基准端口为输入端口二402,则根据贪婪算法的执行原则,其将会顺序选择输入端口三403的数据包;
假设本次的基准端口为输入端口三403,则其会选择输入端口四404的一个数据包之后从输入端口五405选择数据包;
假设本次的基准端口为输入端口四404,则其会选择输入端口五405,因输入端口五405的四个子通道被数据包填满,因此不需要选择其它输入端口的数据包。
综上所述,本发明在路由器内部添加预处理模块和执行模块,通过利用贪婪算法思想为路由器内部的输入端口和输出端口之间进行趋向最优的映射,适用于细粒度通道网络中,即将传统的片上宽通路分割成低宽度的子传输通道, 在细粒度的片上网络路由器中,当各子通道的数据包经过路由计算后,将子通道的信息更新至预处理信息表中,执行模块通过对预处理表信息的处理,利用贪婪算法思想对输入端口和输出端口之间进行通道的匹配,达到趋向于最优的映射,提高通道的利用率。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种片上网络路由器通道资源的贪婪分配方法,其特征在于,所述贪婪分配方法在片上网络路由器的交叉开关分配阶段为路由器的内部的输入端口与输出端口进行映射之前进行,包括:
预处理步骤,当数据包进入所述输入端口的子通道和虚通道中时,将数据包信息进行归类处理得到预处理信息表;
执行步骤,根据所述预处理信息表以及所述数据包对应的所述输出端口的大小,选择最大限度多个所述数据包匹配所述子通道和所述输出端口。
2.根据权利要求1所述片上网络路由器通道资源的贪婪分配方法,其特征在于,所述预处理步骤还包括:
当所述数据包传至所述输入端口时,收集路由计算处理结果;
根据路由计算的所述数据包信息按预期发往的所述输出端口分类创建独立的所述预处理信息表;
将每个所述子通道的所述数据包期望的所述输出端口更新至对应的所述预处理信息表;
所述预处理信息表包括发往的所述输出端口的子端口信息、数据包的大小信息和/或所述数据包占用的所述子通道信息。
3.根据权利要求2所述片上网络路由器通道资源的贪婪分配方法,其特征在于,所述执行步骤还包括:
以轮询算***询选择一所述输入端口作为基准端口;
所述轮询算***询的包括依次选择不同的所述输入端口,每次选择执行i=(i+1)modn,选出第i个端口,n为端口总数;所述基准端口的所述数据包优先传输到同一所述输出端口。
4.根据权利要求3所述片上网络路由器通道资源的贪婪分配方法,其特征在于,所述基准端口的所述数据包优先传输到同一所述输出端口的步骤还包括:
若所述基准端口的所述子通道都有所述数据包期望发往同一个所述输出端口,则不再选择后续所述输入端口的子通道的所述数据包;
若所述基准端口的所述子通道中的所述数据包没有填满传输链路,依次选择后续所述输入端口的所述数据包。
5.根据权利要求1所述片上网络路由器通道资源的贪婪分配方法,其特征在于,还包括:
在所述片上网络路由器通道资源的贪婪分配方法前执行虚通道分配;
根据所述片上网络路由器通道资源的贪婪分配方法的处理结果在所述交叉开关分配阶段传输所述数据包。
6.一种片上网络路由器通道资源的贪婪分配装置,其特征在于,所述贪婪分配装置设置于路由器中,所述贪婪分配装置包括:
预处理模块,用于当数据包进入所述输入端口的子通道和虚通道中时,将数据包信息进行归类处理得到预处理信息表;
执行模块,用于根据所述预处理信息表以及所述数据包对应的所述输出端口的大小,选择最大限度多个所述数据包匹配所述子通道和所述输出端口。
7.根据权利要求6所述片上网络路由器通道资源的贪婪分配装置,其特征在于,所述预处理模块还包括:
路由收集子模块,用于当所述数据包传至输入端口时,收集路由计算处理结果;信息处理子模块,用于根据路由计算的所述数据包信息按预期发往的所述输出端口分类创建独立的所述预处理信息表;
信息更新子模块,用于将每个所述子通道的所述数据包期望的所述输出端口更新至对应的所述预处理信息表;
所述预处理信息表包括发往的所述输出端口的子端口信息、数据包的大小信息和/或所述数据包占用的所述子通道信息。
8.根据权利要求6所述片上网络路由器通道资源的贪婪分配装置,其特征在于,所述执行模块还包括:
基准选择子模块,用于以轮询算***询选择一所述输入端口作为基准端口;
所述轮询算***询的包括依次选择不同的所述输入端口,每次选择执行i=(i+1)modn,选出第i个端口,n为端口总数;
局部优先子模块,用于所述基准端口的所述数据包优先传输到同一所述输出端口。
9.根据权利要求8所述片上网络路由器通道资源的贪婪分配装置,其特征在于,所述执行模块还包括:
第一选择子模块,用于若所述基准端口的所述子通道都有所述数据包期望发往同一个所述输出端口,则不再选择后续所述输入端口的子通道的所述数据包;
第二选择子模块,用于若所述基准端口的所述子通道中的所述数据包没有填满传输链路,依次选择后续所述输入端口的所述数据包。
10.一种包括如权利要求6~9任一项所述片上网络路由器通道资源的贪婪分配装置的路由器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610460938.0A CN106453072A (zh) | 2016-06-22 | 2016-06-22 | 片上网络路由器通道资源的贪婪分配方法、装置及路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610460938.0A CN106453072A (zh) | 2016-06-22 | 2016-06-22 | 片上网络路由器通道资源的贪婪分配方法、装置及路由器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106453072A true CN106453072A (zh) | 2017-02-22 |
Family
ID=58183363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610460938.0A Pending CN106453072A (zh) | 2016-06-22 | 2016-06-22 | 片上网络路由器通道资源的贪婪分配方法、装置及路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106453072A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030927A (zh) * | 2019-11-20 | 2020-04-17 | 中国人民解放军国防科技大学 | 一种顺序感知的片上网络路由方法和网络路由器 |
CN114866564A (zh) * | 2022-03-24 | 2022-08-05 | 煤炭工业合肥设计研究院有限责任公司 | 通信优化方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102835081A (zh) * | 2012-05-21 | 2012-12-19 | 华为技术有限公司 | 基于三级互联交换网络的调度方法、装置及*** |
CN102857445A (zh) * | 2012-09-10 | 2013-01-02 | 西安电子科技大学 | 片上网络路由器的低开销分配结构及分配方法 |
CN104158738A (zh) * | 2014-08-29 | 2014-11-19 | 中国航空无线电电子研究所 | 一种低缓冲区片上网络路由器及路由方法 |
-
2016
- 2016-06-22 CN CN201610460938.0A patent/CN106453072A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102835081A (zh) * | 2012-05-21 | 2012-12-19 | 华为技术有限公司 | 基于三级互联交换网络的调度方法、装置及*** |
CN102857445A (zh) * | 2012-09-10 | 2013-01-02 | 西安电子科技大学 | 片上网络路由器的低开销分配结构及分配方法 |
CN104158738A (zh) * | 2014-08-29 | 2014-11-19 | 中国航空无线电电子研究所 | 一种低缓冲区片上网络路由器及路由方法 |
Non-Patent Citations (1)
Title |
---|
WENMING LI ET AL.: "A High-Density Data Path Implementation fitting for HTC Applications", 《GREEN COMPUTING CONFERENCE AND SUSTAINABLE COMPUTING CONFERENCE》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030927A (zh) * | 2019-11-20 | 2020-04-17 | 中国人民解放军国防科技大学 | 一种顺序感知的片上网络路由方法和网络路由器 |
CN114866564A (zh) * | 2022-03-24 | 2022-08-05 | 煤炭工业合肥设计研究院有限责任公司 | 通信优化方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10153985B2 (en) | Dragonfly processor interconnect network | |
CN104579962B (zh) | 一种区分不同报文的QoS策略的方法及装置 | |
US6768716B1 (en) | Load balancing system, apparatus and method | |
US20090292855A1 (en) | High-radix interprocessor communications system and method | |
CN1275008A (zh) | 用于高容量异步传输模式交换机的快速循环端口调度程序 | |
US9900090B1 (en) | Inter-packet interval prediction learning algorithm | |
Hsu et al. | Dynamic bandwidth allocation for ATM switches | |
CN102970142B (zh) | 一种vpn设备在多加密卡环境下并发加解密的方法及*** | |
CN1788500A (zh) | 时分多路复用电路交换路由器 | |
CN104683242B (zh) | 一种二维片上网络的拓扑结构以及路由方法 | |
CN106612236A (zh) | 众核网络处理器及其微引擎的报文调度方法、*** | |
CN101714947A (zh) | 一种可扩展的全流优先级调度方法 | |
CN101272338B (zh) | 在非线速接口板进行端口带宽配置的方法和非线速接口板 | |
CN106453072A (zh) | 片上网络路由器通道资源的贪婪分配方法、装置及路由器 | |
Sun et al. | Architecting a congestion pre-avoidance and load-balanced wireless network-on-chip | |
Escudero-Sahuquillo et al. | OBQA: Smart and cost-efficient queue scheme for Head-of-Line blocking elimination in fat-trees | |
Escudero-Sahuquillo et al. | Cost-effective congestion management for interconnection networks using distributed deterministic routing | |
Banerjee et al. | Flow-aware allocation for on-chip networks | |
Escudero-Sahuquillo et al. | FBICM: Efficient congestion management for high-performance networks using distributed deterministic routing | |
Caminero et al. | Performance evaluation of the multimedia router with MPEG-2 video traffic | |
KR100523359B1 (ko) | 비대칭 트래픽 스위칭 시스템 | |
Villar et al. | An integrated solution for QoS provision and congestion management in high-performance interconnection networks using deterministic source-based routing | |
Fukase et al. | Link-sharing method of buffer in direct-connection network | |
Liu et al. | CCSDS advanced orbiting systems, data links protocol: Study on virtual channels scheduling algorithm | |
Kaitian et al. | Routing optimization considering real-time traffic condition and travel distance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170222 |