多层次互连网络、自适应路由方法及路由设备与流程

文档序号:14847723发布日期:2018-06-30 16:56阅读:179来源:国知局
多层次互连网络、自适应路由方法及路由设备与流程

本发明涉及通信技术领域,特别涉及一种多层次互连网络、自适应路由方法及路由设备。



背景技术:

当前,互连网络用于实现网络中不同节点间的同步和通信。互连网络是影响整个路由系统的性能和扩展性的重要方面。

随着半导体工艺的发展,高阶路由器的管脚带宽可以达到10~20Tbps,为此,采用高阶路由器作为互连网络中的节点,可在互连网络中实现通过几个跳步就可将分组消息转发到目的节点,减少了互连网路的网络直径,降低了分组消息延迟。

高阶路由器将成为互连网络的发展趋势,由高阶路由器构成的互连网络通常只需要几个跳步就可以连接数以万计的处理器,可以直接减小网络直径,实现处理器节点之间高效通信,降低分组消息延迟。

现有技术中提供一种采用64阶路由芯片作为互连网络中的节点,由32000个节点组成的Clos互连网络。在该互连网络中任一分组消息转发到目的节点不超过7个跳步;另外,在建立Clos互连网络时,为避免Clos互连网络中的死锁现象,在Clos互连网络中增加两条以上的虚拟通道,由此导致建立Clos互连网络的成本非常高。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种多层次互连网络、自适应路由方法及路由设备。

依据本发明的第一个方面,提供了一种多层次互连网络,所述互连网络包括:至少一个集群,每一集群包括至少一个路由器组,每一路由器组包括至少一行路由单元和至少一列路由单元,所述路由器单元中路由器的个数大于等于两个;

每一路由器组中的每一行路由器为全连接,且每一列路由器为全连接;

每一集群中的任意两个路由器组相互连接,任意两个集群中的路由器组。

可选地,所述集群内路由器组的数量为两个以上时,所述集群内每一路由器组均与所述集群内其他路由器组连接,且所述集群内路由器组的连接不重复;

所述集群的数量为两个以上时,各集群中每一路由器组与其他集群中的至少一个路由器组连接,且所述集群间路由器组的连接不重复;

其中,所述路由器组的连接为一个路由器组中的一个路由器与另一路由器组中的一个路由器连接。

依据本发明的第二个方面,提供了一种所述的互连网络的自适应路由方法,所述方法包括:

当前路由器接收分组消息,所述分组消息中携带有目的路由标识;

所述当前路由器根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的最短路径;

所述当前路由器在确定的最短路径符合所述互连网络中转发规则时,根据确定的最短路径将所述分组消息转发至所述目标路由标识对应的目标路由;

其中,所述转发规则为负向优先原则,所述负向优先原则为在一次或多次连续的负向路由之后,能进行一次或多次连续的正向路由,在一次或多次连续的正向路由之后,不允许进行负向路由;

所述互连网络中每一个路由器具有唯一标号,所述正向路由为从标号较小的路由器至标号较大的路由器,所述负向路由为标号较大的路由器至标号较小的路由器;

所述路由表中存储有所述互连网络中与所述当前路由器相关联的路由器的路由信息。

可选地,在存在多条路径长度相等的最短路径时,所述当前路由器选择在路径中分组消息最先被标注为安全分组消息的路径作为确定的最短路径;

其中,所述当前路由器从所述当前路由器至所述目的路由器的路径中符合所述转发规则时,将所述分组消息标注为安全分组消息,反之,则将所述分组消息标注为非安全分组消息。

可选地,所述当前路由器根据流量控制规则,按照确定的最短路径转发所述非安全分组消息。

可选地,所述流量控制规则包括:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;

在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全类型,则将所述非安全分组消息转发至第M路由器;

在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全类型,则将所述非安全分组消息转发至第M路由器,所述N为大于等于1的自然数,M为大于等于2的自然数。

依据本发明的第三个方面,提供了一种路由设备,所述路由设备包括:

接收单元,用于接收分组消息,所述分组消息中携带有目的路由标识;

路径确定单元,用于根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的最短路径;

转发单元,用于在确定的最短路径符合所述互连网络中转发规则时,根据确定的最短路径将所述分组消息转发至所述目标路由标识对应的目标路由;

其中,所述转发规则为负向优先原则,所述负向优先原则为在一次或多次连续的负向路由之后,能进行一次或多次连续的正向路由,在一次或多次连续的正向路由之后,不允许进行负向路由;

所述互连网络中每一个路由器具有唯一标号,所述正向路由为从标号较小的路由器至标号较大的路由器,所述负向路由为标号较大的路由器至标号较小的路由器;

所述路由表中存储有所述互连网络中与所述当前路由器相关联的路由器的路由信息。

可选地,所述路径确定单元,还用于在存在多条路径长度相等的最短路径时,所述当前路由器选择在路径中分组消息最先被标注为安全分组消息的路径作为确定的最短路径;

所述路径确定单元,还用于从所述当前路由器至所述目的路由器的路径中符合所述转发规则时,将所述分组消息标注为安全分组消息,反之,则将所述分组消息标注为非安全分组消息。

可选地,所述转发单元,还用于根据流量控制规则,按照确定的最短路径转发所述非安全分组消息。

可选地,所述流量控制规则包括:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;

在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全类型,则将所述非安全分组消息转发至第M路由器;

在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全类型,则将所述非安全分组消息转发至第M路由器,所述N为大于等于1的自然数,M为大于等于2的自然数。

本发明的互连网络,保持了Dragonfly网络原有的低成本、高扩展性的特点,并且减少了同等网络规模下全局连接的数量,减小了网络系统的成本;同时有利于本发明提出的自适应路由方法的实现。

附图说明

图1A至图1C为本发明一实施例提供的多层次互连网络的部分结构示意图;

图1D为本发明一实施例的多层次互连网络中路由器的结构示意图;

图2为本发明另一实施例提供的多层次互连网络的部分结构示意图;

图3A为本发明一实施例提供的多层次互连网络中部分自适应路由方法的流程示意图;

图3B为本发明一实施例提供的多层次互连网络中同一路由器集群内的部分自适应路由方法的流程示意图;

图3C为本发明一实施例提供的多层次互连网络中不同路由器集群间的部分自适应路由方法的流程示意图;

图4A为本发明一实施例提供的多层次互连网络中完全自适应路由方法的流程示意图;

图4B为本发明一实施例提供的多层次互连网络中同一路由器集群内的完全自适应路由方法的流程示意图;

图4C为本发明一实施例提供的多层次的互连网络中不同路由器集群间的完全自适应路由方法的流程示意图;

图5A至图5E为本发明一实施例提供的多层次互连网络中自适应路由方法的示意图;

图6为本发明一实施例提供的路由设备的结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

需要说明的是,现有技术中,Clos互连网络的连接方式为Dragonfly(蜻蜓),其路由方法是通过增加虚拟通道避免死锁,由此,导致搭建网络成本较高。例如,Clos互连网络包括370216个路由器时,任意两个路由器之间的距离不超过5个跳步,且该Clos互连网络需要使用4条虚拟通道实现无死锁的自适应路由以实现无死锁现象,由此,导致Clos互连网络的设计复杂,且增大了分组消息转发的延迟性。为此,本发明实施例的多层次互连网络可保持Dragonfly网络的低成本特性,不需要使用虚拟通道即可实现无死锁的自适应路由方法。另外,本发明的多层次互连网络具有高扩展型,减少了同等网络规模下全局连接的数量。

本实施例中的多层次互连网络可包括:至少一个集群,每一所述集群包括至少一个路由器组,每一所述路由器组包括至少一行路由器单元和至少一列路由器单元,所述路由器单元中路由器的个数大于等于两个;

针对每一路由器组,每一行路由器单元中的路由器为全连接,所述每一列路由器单元中的路由器为全连接;以及,所述每一行路由器单元中的最后一个路由器连接下一行路由器单元中的第一个路由器,如图1A所示;

应说明的是,本实施例中全连接可为每一行及每一列中所有的路由器实现两两连接。

在具体应用中,多层次互连网络中集群的数量可不为一个,可为多个,实现分组消息的自适应路由。可理解的,集群中路由器组的数量也可为两个以上。

所述集群内路由器组的数量为两个以上时,所述集群中每一路由器组均与所述集群内其他每一路由器组连接,且所述集群内路由器组的连接不重复,如图1B所示;

在所述多层次互连网络内集群的数量为两个以上时,所述每一集群中每一路由器组与其余每一集群内的K个路由器组连接,K为大于等于1且小于等于所述集群内路由器组个数,且所述集群间路由器组的连接不重复,如图1C所示;

其中,所述路由器组的连接为所述路由器组中的一个路由器与另一路由器组中的一个路由器连接。

在图1B中,集群G0包括四个路由器组G0,0,G0,1,G0,2,G0,3;每个路由器包含一个用于路由器组间连接的全局连接端口;路由器组间的连接顺序为,先连接相邻路由器组,G0,0通过组内最后一个组间全局连接端口连接G0,1的第一个组间全局连接端口,以及G0,0通过组内倒数第二个组间全局连接端口连接G0,2中的第二个组间全局连接端口,G0,0通过组内倒数第三个组间全局连接端口连接G0,3中的第二个组间全局连接端口,G0,1的最后一个组间全局连接端口连接G0,2中的第一个组间全局连接端口,实现集群G0内路由器组的全连接。

在图1C中,多层次互连网络包括三个集群G0,G1,G2;每个路由器组与其余路由器集群均有2条集群间连接,每个路由器包含一个用于集群间连接的全局连接端口;集群间的连接顺序为,先连接相邻集群,集群G0内的路由器组G0,3的最后一个集群间全局连接端口连接集群G1内的路由器组G1,0的第一个集群间全局连接端口,集群G1内的路由器组G1,3的最后第一个集群间全局连接端口连接集群G2内的路由器组G2,0的第一个集群间全局连接端口;再连接非相邻集群,按集群标号从小到大的顺序,即按从集群G0到集群G2的顺序,依次连接该集群内所有的集群间连接,以集群G0和集群G2之间的连接为例,集群G0内的路由器组按路由器组标号从小到大的顺序,即从G0,0到G0,3的顺序,每次连接一条到G2的路由器组的集群间连接,G0,0的倒数第三个路由器连向G2,0的第二个路由器,G0,1的倒数第三个路由器连向G2,0的第三个路由器,G0,2的倒数第三个路由器连向G2,1的第一个路由器,G0,3的倒数第三个路由器连向G2,1的第二个路由器,依序循环直到集群G0和集群G2之间的8条连接都连完;也就是说,所述路由器组的连接为:一个路由器集群中的最后一个集群间全局连接端口连接相邻的下一个路由器集群中的第一个集群间全局连接端口;

路由器集群标号较小的集群,按路由器组标号从小到大的顺序,依次将该路由器组内最后一个未使用的集群间全局连接端口,连接到集群标号较大的集群内第一个未使用的集群间全局连接端口;

所述路由器组中的路由器按照从左到右,从上到下的顺序依次标号;且在本实施例中路由器的标号可为路由器在该互连网络中的唯一标识。

本实施例的互连网络,保持了Dragonfly网络原有的低成本、高扩展性的特点,并且减少了同等网络规模下全局连接的数量,减小了网络系统的成本;同时有利于本发明实施例提出的自适应路由方法的实现。

可理解的是,如图1D所示,本实施例对多层次互连网络中的一个路由器进行说明,路由器可具有全局端口和局部端口,以及还可具有与服务器连接的端口。本实施例中,所有路由器可相同,也可不同,本实施例不对其进行限定。互连网络中任意集群之间的连接可采用全局连接的全局端口,任意路由器组之间的连接也可采用全局连接的全局端口。路由器组内任意两个路由器之间的连接采用的是实现局部连接的局部端口。

图1D中所示的路由器包括四个局部端口,四个全局端口,以及包括用于连接服务器的8个端口。用于连接服务器的8个端口可用于连接互连网络之外的任一服务器或处理器,用以接收转发的分组消息,或将转发的分组消息发送该服务器或处理器。

本实施例的多层次互连网络,可解决现有技术中建立Clos互连网络成本高的问题,且无需增加虚拟通道也能够实现自适应路由。

本实施例中举例说明的多层次互连网络的拓扑结构可为4层,本实施例不对其进行限定,可根据实际需要增加或减少。举例来说,互连网络中的任一路由器可为64阶路由器或48阶路由器;所述路由器可具有N个全局端口,所述N大于等于1。

本实施例的互连网络,保持了Dragonfly网络原有的低成本、高扩展性的特点,并且减少了同等网络规模下全局连接的数量,减小了网络系统的成本;同时有利于本发明实施例提出的自适应路由方法的实现。

如图2所示,本实施例中的互连网络划分为4个层次。

其中最低的一层为路由器单元,该路由器单元可包含一系列的路由器。

本实施例中的路由器可为互连网络中的节点。

可理解的是,互连网络可包括nc个路由器集群,路由器集群内包含ng个路由器组,路由器组内包含m行路由器单元,每行路由器单元均包含n个路由器,其中n为大于等于1的整数m为大于等于2的整数,nc为大于等于1的整数,ng为大于等于1的整数;

在具体应用中,可互连网络中的每一路由器进行标号,且该路由器在该互连网络中的标号唯一。例如,路由器集群由左至右依次标号为路由器集群Gi内的路由器组由上至下依次标号为路由器组内的路由器由左至右,由上至下依次标号为R0,R1,…,Rn-1,…,Rnm-1。

在本实施例中,任意路由器组中路由器连接方式举例说明如下:

第一、每行路由器单元中路由器实现全连接;

第二、每列路由器单元中路由器实现全连接;

第三、对于从第1行到第m-1行,每行第n个路由器与下一行第一个路由器连接(如图1B所示)。

另外,任意路由器集群中路由器组的连接方式如下。

第一、对于i从0到nc-1,j从0到ng-2,Gi,j中标号为Rnm-1的

路由器与Gi,j+1中标号为R0的路由器连接,即一个集群内相邻的路由器组首尾相连;

第二、同一集群内不相邻的路由器组采用下述方式连接:对于i从0到nc-1,j从0到ng-3,j′从0到j+3,Gi,j中标号为Rv的路由器与Gi,j′中标号为Rv′的路由器连接,其中Rv是Gi,j组中最高可用的端口所在的路由器,Rv′是Gi,j′组中最低可用端口所在的路由器。

任意路由器集群之间的连接方式如下。

第一:对于i从0到nc-2,Gi,ng-1中标号为Rnm-1的路由器与Gi+1,0中标号为R0的路由器连接;

第二:对于i从0到nc-2,j从i+1到nc-1,按照m从0到ng-1的顺序,Gi,m中标号为Rv的路由器与Gj,m′中标号为Rv′的路由器连接,其中Rv是Gi,m组中最高可用的集群间全局端口所在的路由器,Gj,m′是集群Gj里与集群Gi间的全局连接个数不足K且标号最小的路由器组,Rv′是Gj,m′组中最低可用的集群间全局端口所在的路由器。

上述实施例中的互连网络可保持了Dragonfly网络原有的低成本、高扩展性的特点,并且减少了同等网络规模下全局连接的数量,同时在实现路由时不需要使用虚拟通道即可实现无死锁的部分或完全自适应路由。

图3A至图3C示出了本发明一实施例提供的多层次互连网络中部分自适应路由方法的流程示意图。

如图3A所示,本实施例的多层次互连网络中部分自适应路由方法如下所述。

301、当前路由器接收分组消息,所述分组消息中携带有目的路由标识;

302、若当前路由器为目的路由器,路由过程结束;

303、若当前路由器与目的路由器属于同一路由器集群,使用图3B所示的同一路由器集群内的部分自适应路由方法;

304、若当前路由器与目的路由器属于不同的路由器集群,使用图3C所示的不同路由器集群内的部分自适应路由方法。

如图3B所示,本实施例的多层次互连网络中同一路由器集群内的部分自适应路由方法如下所述。

303-1、若当前路由器与目的路由器属于同一路由器组,当前路由器根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的最短路径,当前路由器按照所述最短路径转发所述分组消息至下一路由器;

303-2、若当前路由器与目的路由器属于不同路由器组,当前路由器根据所述路由表和所述目的路由标识,确定转发至目的路由器的最短路径;

303-3、若所述最短路径符合所诉转发规则,当前路由器按照所述最短路径转发所述分组消息至下一路由器;

303-4、若所述最短路径不符合所述转发规则,当前路由器选择当前路由器组和目的路由器组之间的一个路由器组作为中间路由器组,并根据所述路由表和所述转发规则确定通过该中间路由器组转发至目的路由器组的最短路径,当前路由器按照所述最短路径转发所述分组消息至下一路由器。

如图3C所示,本实施例的多层次互连网络中不同路由器集群内的部分自适应路由方法如下所述。

304-1、若当前路由器所属的路由器组与目的路由器所属的路由器组间有集群间全局连接,且包含该全局连接的最短路径符合互连网络中的转发规则时,当前路由器按照所述最短路径转发所述分组消息至下一路由器;

304-2、若当前路由器所属的路由器组与目的路由器所属的路由器组间有集群间全局连接,且包含该全局连接的最短路径不符合互连网络中的转发规则时,在包含当前路由器集组与目的路由器集群间的K-1条全局路由连接和目的路由器组与当前路由器集群间的K-1条全局路由连接的最短路径内,选择一条符合互连网络中的转发规则的最短路径,当前路由器按照所述最短路径转发所述分组消息至下一路由器;

304-3、若当前路由器所属的路由器组与目的路由器所属的路由器组间没有集群间全局连接时,在包含当前路由器集组与目的路由器集群间的K条全局路由连接和目的路由器组与当前路由器集群间的K条全局路由连接的最短路径内,选择一条符合互连网络中的转发规则的最短路径,当前路由器按照所述最短路径转发所述分组消息至下一路由器。

在本实施例中,通过对互连网络系统中的路由器进行标号,并采用特定的标号减方向优先规则,所述互连网络中每一路由器具有唯一标号,所述路由表中存储有所述互连网络中与所述第一路由器相关联的路由器的路由信息。

本实施例中的自适应路由方法能够不需要使用虚拟通道即可实现无死锁自适应路由,且保证任意节点之间的通信步长不超过8步。

也就是说,本实施例的自适应路由方法,由于不依赖现有技术中提及的虚拟通道来消除死锁可以避免使用虚拟通道分配机制,从而大幅简化路由器设计,减少分组消息延迟,提高网络吞吐,改善系统性能。

图4A至图4C示出了本发明一实施例提供的多层次互连网络中完全自适应路由方法的流程示意图。

如图4A所示,本实施例的多层次互连网络中完全自适应路由方法如下所述。

401、当前路由器接收分组消息,所述分组消息中携带有目的路由标识;

402、若当前路由器为目的路由器,路由过程结束;

403、若当前路由器与目的路由器属于同一路由器集群,使用图4B所示的同一路由器集群内的完全自适应路由方法;

404、若当前路由器与目的路由器属于不同的路由器集群,使用图4C所示的不同路由器集群内的完全自适应路由方法。

如图4B所示,本实施例的多层次互连网络中同一路由器集群内的完全自适应路由方法如下所述。

403-1、当前路由器根据所述路由表和所述目的路由标识,确定最短路径,当前路由器按照所述最短路径和所述流控规则转发所述分组消息至下一路由器。

如图4C所示,本实施例的多层次互连网络中不同路由器集群内的完全自适应路由方法如下所述。

404-1、若当前路由器所属的路由器组与目的路由器所属的路由器组间有集群间全局连接,当前路由器根据所述路由表和所述目的路由标识,确定最短路径,当前路由器按照所述最短路径和所述流控规则转发所述分组消息至下一路由器;

404-2、若当前路由器所属的路由器组与目的路由器所属的路由器组间没有集群间全局连接时,在包含当前路由器集组与目的路由器集群间的K条全局路由连接和目的路由器组与当前路由器集群间的K条全局路由连接的最短路径内,选择一条符合互连网络中的转发规则的最短路径,当前路由器按照所述最短路径和所述流控规则转发所述分组消息至下一路由器;

404-3、若404-2所述的最短路径不存在,在包含当前路由器集组与目的路由器集群间的K条全局路由连接和目的路由器组与当前路由器集群间的K条全局路由连接的最短路径内,选择分组消息最先被标记为安全分组的最短路径,当前路由器按照所述最短路径和所述流控规则转发所述分组消息至下一路由器。

在本实施例中,在所述最短路径不符合互连网络中的转发规则时,所述路由器将所述分组消息标记为非安全分组的分组消息,反之标记为安全分组的分组消息。所述流量控制规则为:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;

在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;

在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。

也就是说,路由器与其他路由器存在连接的端口,分组消息转发的时候,第N路由器的分组消息至第M路由器中,路由成功及路由分组消息先缓存在第M路由器的与第N路由器相连接的端口的缓冲区中,等待第M路由器的继续路由。

在本实施例中,使用两个计数器及两个2位的状态记录器,分别记录路由器组间全局连接和路由器集群间全局连接的流控状态,计数器位数为相应全局连接传输延迟量的对数值。

本发明实施例的完全自适应路由方法,可实现无死锁完全自适应路由,且允许分组消息通过所有的最短路径到达目的路由器,从而有效提高通道使用率,提高网络吞吐。

结合图5A、图5B、图5C、图5D和图5E所示,基于上述的多层次互连网络,本实施例的自适应路由方法包括以下所示的步骤。

首先说明互连网络中路由器标号方式:路由器集群由左至右依次标号为G0,G1,…,Gp-1;路由器集群Gi内的路由器组由上至下依次标号为Gi,0,Gi,1,…,Gi,q-1;路由器组内的路由器由左至右,由上至下依次标号为R0,R1,…,Rn-1,…,Rmn-1。

另外,根据互连网络中通道两端路由器,或路由器组,或路由器集群标号的大小,路由通道(包括通过全局端口连接的全局通道和通过局部端口连接的局部通道)的转发规则可为标号减方向规则(如上所述的标号递减规则)或标号增方向规则(标号递增规则)。

由于每条路由通道都要连接两个路由器,因此,对于前端路由器为Ga,bRc,后端路由器为Gd,eRf的通道,此时,转发规则如下定义:

对于任一通道(Ga,bRc,,Gd,eRf),

若a>d,该通道遵循标号减方向规则;

若a<d,该通道遵循标号增方向规则;

若a=d且b>e,该通道遵循标号减方向规则;

若a=d且b<e,该通道遵循标号增方向规则;

若a=d且b=e且c>f,该通道遵循标号减方向规则;

若a=d且b=e且c<f,该通道遵循标号增方向规则。

以下举例来说,分组消息在互连网络中进行路由时,若遵循标号减方向规则优先,则要求从源路由器到目的路由器的路径都由w条标号减方向通道和/或v条标号增方向通道组成,或者遵守标号增方向优先规则优先,即所有从源路由器到目的路由器的路径都由w条标号增方向通道和/或v条标号减方向通道组成。其中,w和v均为大于或等于零的整数。

也就是说,假定整个路由路径一共L个跳步数,将L个跳步划分为W个跳步接后续V个跳步,如果是标号减方向的转发规则,则W个跳步必须先为负方向,V个跳步为增方向。如果是标号增方向的转发规则,则W个跳步必须先为增方向,V个跳步为负方向。

部分自适应路由方法的核心是无论标号负方向优先,还是标号增方向优先均是限定一部分路径,避免死锁的机制。

为了便于说明本发明的部分自适应路由方法,以下举例说明遵循标号减方向规则优先,说明分组消息在互连网络中进行部分自适应路由的过程,该处说明对应上述图3A至图3C的内容。

S31:分组消息在互连网络中路由时,分组消息中携带有目的路由器的标识,分组消息所在当前路由器的标号为Ga,bRc,根据目的路由器的标识确定目的路由器在互连网络中的标号为Gd,eRf,判断当前路由器所属的集群标号a与目的路由器所属的集群标号d的关系,若a=d成立,执行步骤S32,若a<d成立,执行步骤S33,否则,执行步骤S34。

S32:在步骤S31中若分组消息所在路由器与目的路由器在一个集群中,即a=d,则判断当前路由器组标号b与目的路由器组标号e的关系,若b=e成立,执行步骤S321,若b<e成立,执行步骤S322,若b>e成立,执行步骤S323;

S321:在步骤S32中,若分组消息所在路由器与目的路由器在同一个路由器组中,即b=e,则判断当前路由器标号c与目的路由器标号f的关系,若c=f成立,则分组消息已经被当前路由器转发给相应目的路由器,路由结束;若c≠f,提供一系列的局部通道即可到达目的路由器。

在本实施例中,局部通道可为同一路由器组中多个路由器之间连接的通道。

S322:在步骤S32中,若分组消息所在路由器与目的路由器不在同一个路由器组中,且分组消息所在当前路由器标号b小于目的路由器标号e,则在当前路由器组Ga,bRv与目的路由器组Gd,eRv’连接时,判断目的路由器标号f与v’的关系,若f=v’成立,提供一系列的局部通道即可到达目的路由器;

若f>v’,提供一系列的局部通道即可到达目的路由器;若f<v’,直接路由路径不符合负向转发规则即标号减方向规则,需要绕道,以使符合转发规则的路径进行转发。

S323:在步骤S32中,若分组消息所在路由器与目的路由器不在同一个路由器组中,且分组消息所在路由器标号b大于目的路由器标号e,则在当前路由器组中Ga,bRv与目的路由器组中Gd,eRv’连接时,判断当前路由器标号c与v的关系,若c=v成立,提供一系列的局部通道即可到达目的路由器;

若c>v,提供一系列的局部通道即可到达目的路由器;

若c<v,直接路由路径不符合负向优先原则,需要绕道。

S33:在步骤S31中,若分组消息所在路由器与目的路由器不在一个集群中,且分组消息所在路由器所属的集群的标号a小于目的路由器所属的集群的标号d,则判断当前路由器集群标号a与目的路由器集群标号d的关系,若d-a=1,可确定当前路由器集群与目的路由器集群相邻,执行步骤S331;

若d-a>1,及当前路由器集群与目的路由器集群不相邻,执行步骤S332。

S331:在步骤S31中,分组消息所在路由器所属的集群与目的路由器所属的集群相邻,即d-a=1,则判断当前路由器组标号b与目的路由器组标号e的关系,若e-b=1,或者b为路由器集群最后一组路由器,e为路由器集群第一组路由器,及当前路由器组与目的路由器组直接相连,提供一系列局部通道至相连接的路由器;否则,提供一系列局部通道至与目的路由器组相连接的当前路由器集群的路由器组即可。

S332:在步骤S31中,分组消息所在路由器所属的集群与目的路由器所属的集群不相邻,即d-a>1,则在当前路由器所属集群中路由器组Ga,xRv与目的路由器所属集群中路由器组Gd,eRv’存在连接,且目的路由器标号f>v’时,可不需要绕路至其他路由器集群即可完成路,提供局部通道至连接目的路由器所属集群的路由器分组即可;

否则,直接进行路由不符合负向优先的原则,需要绕路至其他路由器集群,使其符合负向优先的原则。

S34:在步骤S31中,若分组消息所在路由器与目的路由器不在一个集群中,且分组消息所在路由器所属的集群的标号a大于目的路由器所属的集群的标号d,则判断当前路由器所属集群标号a与目的路由器所属集群标号d的关系,若a-d=1,即当前路由器所属集群与目的路由器所属集群相邻,执行步骤S341;

若a-d>1,即当前路由器所属集群与目的路由器所属集群不相邻,执行步骤S342。

S341:在步骤S34中,若分组消息所在路由器所属的集群与目的路由器所属的集群相邻,则判断当前路由器组标号b与目的路由器组标号e的关系,若b-e=1,或者b为路由器集群第一组路由器,e为路由器集群最后一组路由器,及当前路由器组与目的路由器组直接相连,提供一系列局部通道至相连接的路由器;否则,提供一系列局部通道至与目的路由器组相连接的当前路由器集群的路由器组即可。

S342:在步骤S34中,若分组消息所在路由器所属的集群与目的路由器所属的集群不相邻,则在当前路由器所属集群中路由器组a,bRv与目的路由器所属集群中路由器组Gd,yRv’存在连接,且目的路由器标号c>v时,不需要绕路至其他路由器集群即可完成路由,提供局部通道至连接目的路由器所属集群的路由器分组即可;否则,直接进行路由不符合负向优先的原则,需要绕路至其他路由器集群,使其符合负向优先的原则。

上述方法,通过对互连网络中的路由器进行标号,并采用特定的标号减方向规则或标号增方向规则,不需要使用虚拟通道即可实现无死锁自适应路由,且保证任意路由器之间的通信步长不超过8步。由此,可不依赖虚拟通道来消除死锁可以避免使用虚拟通道分配机制,从而大幅简化路由器设计,减少分组消息延迟,提高网络吞吐,改善系统性能。

为了便于说明本发明的完全自适应路由方法,以下举例说明遵循标号减方向规则优先,说明分组消息在互连网络中进行完全自适应路由的过程,该处说明对应上述图4A至图4C的内容。

根据分组消息下一个跳步所使用通道的类型,将其分为安全分组和非安全分组,若分组消息下一个跳步所使用的通道为遵守标号减方向规则的通道,那么对于下一跳步上的节点,该分组消息为安全分组,否则,若分组消息下一个跳步所使用的通道为遵循标号增方向规则的通道,那么对于下一跳步上的节点,该分组消息为非安全分组。

在本实施例中,设置每一路由器的通道缓冲区具有buff个分组大小的缓冲区,即最多可以存储buff个分组消息,其中,buff为大于或等于2的整数;

D3:分组消息所在当前路由器标号为Ga,bRc,目的路由器标号为Gd,eRf,仅考虑最短路由路径的情况下,判断当前路由器所属的集群标号a与目的路由器所属集群标号d的关系,若a=d,则表示当前路由器和目的路由器在同一集群中,执行步骤D31;若a≠d,则表示当前路由器和目的路由器不在同一集群中,执行步骤D32。

D31:在步骤D3中,若分组消息所在的路由器与目的路由器在同一个集群中,即a=d,则确定当前路由器组的标号为Ga,bRc,目的路由器组的标号为Gd,eRf,若b=e,即当前路由器组与目的路由器组为同一组,则可以选择行至列或列至行两种最短路径路由;

若b≠e,即当前路由器组与目的路由器组不在同一组,则经过一个集群内的全局通道即可完成最短路径路由。

D32:在步骤D3中,若分组消息所在的路由器与目的路由器不在同一个集群中,即a≠d,则确定当前路由器所属集群中路由器组Ga,bRc与目的路由器所属集群中路由器组Ge,dRv’存在连接,当前路由器所属集群中路由器组Ga,bRv与目的路由器所属集群中路由器组Gd,eRf存在连接,则最短路由路径存在两种选择;第一种选择经过一个集群间的全局连接,然后在目的路由器所属集群内进行路由;第二种选择当前路由器所属集群内进行路由,然后经过一个集群间的全局连接完成最短路径路由。

D4:所有分组消息可以选择最短路径进行路由。

D5:对于步骤D4中遵循最短路径的所有分组消息,需要分别加以考虑,假设分组消息按照最短路径到达下一个路由器所对应的通道有f个缓冲区空闲,s个缓冲区存储安全分组,流量控制规则如下:

若f>1,那么分组消息可以使用最短路径路由提供的通道前进到下一个节点,

若f=1且s≥1,那么分组消息可以使用最短路径路由提供的通道前进到下一个节点,

若f=1且s=0,并且分组消息对于使用最短路径路由提供的下一个跳步是安全分组,那么分组可以使用最短路径路由提供的通道前进到下一个节点,其他情况下,分组消息不可以直接利用最短路径路由提供的通道前进到下一个节点;

D6:对于那些不符合流量控制规则的分组信息,可以直接发送并路由,或者选择等待直到这些不符合流量控制规则的分组消息等待下一次路由中符合流量机制后遵循最短路径路由。

本实施例的方法通过消除循环状等待的方式,进行死锁的避免。

即,利用本发明路由方法的无死锁特性,并辅以一种新型流控机制,即可实现无死锁完全自适应路由,该完全自适应路由方法允许分组消息通过所有的最短路径到达目的节点,从而有效提高通道使用率,提高网络吞吐。

图6示出了本发明一实施例提供的路由设备的结构示意图,如图6所示,本实施例的路由设备可包括:接收单元61、最短路径确定单元62和转发单元63;

其中,接收单元61用于接收分组消息,所述分组消息中携带有目的路由标识;

路径确定单元62用于根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的最短路径,以及使用两个计数器及两个2位的状态记录器,分别记录路由器组间全局连接和路由器集群间全局连接的流控状态,计数器位数为相应全局连接传输延迟量的对数值;

转发单元63用于在所述最短路径符合互连网络中的转发规则时,按照所述最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;

所述转发规则为标号递减规则,或者,标号递增规则,所述互连网络中每一路由设备具有唯一标号,所述路由表中存储有所述互连网络中与所述第一路由器相关联的路由器的路由信息。

在一种可能的实现过程中,前述的转发单元63还用于,在所述最短路径不符合互连网络中的转发规则时,将所述分组消息标记为非安全分组的分组消息;以及根据流量控制规则,按照所述最短路径转发所述非安全分组的分组消息;

其中,所述流量控制规则为:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;

在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;

在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。

本实施例中路由设备的结构简单,且使用该路由设备进行分组消息转发可减少分组消息延迟,提高网络吞吐,改善路由设备所在系统的性能,实现高效通信。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

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