CN104079490B - 多层次的dragonfly互连网络及自适应路由方法 - Google Patents
多层次的dragonfly互连网络及自适应路由方法 Download PDFInfo
- Publication number
- CN104079490B CN104079490B CN201410302935.5A CN201410302935A CN104079490B CN 104079490 B CN104079490 B CN 104079490B CN 201410302935 A CN201410302935 A CN 201410302935A CN 104079490 B CN104079490 B CN 104079490B
- Authority
- CN
- China
- Prior art keywords
- router
- blocking message
- group
- cluster
- routers
- 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
Abstract
本发明提供一种多层次的dragonfly互连网络及自适应路由方法,所述dragonfly互连网络包括:多个集群,每一所述集群包括多个路由器组,每一所述路由器组包括多行路由器单元和/或多列路由器单元,针对每一路由器组,每一行路由器单元中的路由器为全连接,所述每一列路由器单元中的路由器为全连接;以及,所述每一行路由器单元中的最后一个路由器连接下一行路由器单元中的第一个路由器;或者,所述每一列路由器单元中的最后一个路由器连接下一列路由器单元中的第一个路由器;每一所述集群中,任意两组路由器均连接。本发明的dragonfly互连网络的成本低,且具有高扩展性,减少了同等网络规模下全局连接的数量。
Description
技术领域
本发明涉及通信技术,尤其涉及一种多层次的dragonfly互连网络及自适应路由方法。
背景技术
当前,互连网络用于实现网络中不同节点间的同步和通信。互连网络是影响整个路由系统的性能和扩展性的重要方面。
随着半导体工艺的发展,高阶路由器的管脚带宽可以达到10~20Tbps,为此,采用高阶路由器作为互连网络中的节点,可在互连网络中实现通过几个跳步就可将分组消息转发到目的节点,减少了互连网路的网络直径,降低了分组消息延迟。
高阶路由器将成为互连网络的发展趋势,由高阶路由器构成的互连网络通常只需要几个跳步就可以连接数以万计的处理器,可以直接减小网络直径,实现处理器节点之间高效通信,降低分组消息延迟。
现有技术中提供一种采用64阶路由芯片作为互连网络中的节点,由32000个节点组成的Clos互连网络。在该互连网络中任一分组消息转发到目的节点不超过7个跳步;另外,在建立Clos互连网络时,为避免Clos互连网络中的死锁现象,在Clos互连网络中增加两条以上的虚拟通道,由此导致建立Clos互连网络的成本非常高。
发明内容
针对现有技术中的缺陷,本发明提供一种多层次的dragonfly互连网络及自适应路由方法,用于解决现有技术中建立Clos互连网络成本高的问题。
第一方面,本发明提供一种多层次的dragonfly互连网络,包括:
至少一个集群,每一所述集群包括至少一个路由器组,每一所述路由器组包括至少一行路由器单元和/或一列路由器单元,所述路由器单元中路由器的个数大于等于两个;
针对每一路由器组,每一行路由器单元中的路由器为全连接,所述每一列路由器单元中的路由器为全连接;以及,
所述每一行路由器单元中的最后一个路由器连接下一行路由器单元中的第一个路由器;或者,所述每一列路由器单元中的最后一个路由器连接下一列路由器单元中的第一个路由器;
每一所述集群中,任意两组路由器均连接。
可选地,所述集群中路由器组的数量为两个以上时,所述集群中每一路由器组均与所述集群内其他路由器组连接,且所述集群内路由器组的连接不重复;
所述集群的数量为两个以上时,一集群中每一路由器组至少与其他集群中每一集群的一个路由器组连接,且所有集群中路由器组的连接不重复;
其中,所述路由器组的连接为所述路由器组中的一个路由器与另一路由器组中的一个路由器连接。
可选地,所述网络划分为四层。
可选地,所述路由器组的连接为:一个路由器组中的最后一个路由器连接另一个路由器组中的第一个路由器;
若一个路由器组中最后一个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第二个路由器连接另一个路由器组中的第一个路由器;
若另一个路由器组中第一个路由器的全局端口已经全部使用,则,该一个路由器中的最后一个路由器连接该另一个路由器组中的第二个路由器;
若一个路由器组中最后P个路由器的全局端口已经全部使用,且另一个路由器组中第Q个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第P+1个路由器连接该另一个路由器组中的第Q+1个路由器;
所述路由器组中的路由器按照从左到右,从上到下的顺序依次标号;
所述P、Q为大于等于1的自然数。
第二方面,本发明提供一种多层次的dragonfly互连网络的自适应路由方法,包括:
第一路由器接收分组消息,所述分组消息中携带有目的路由标识;
所述第一路由器根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;
在所述第一最短路径符合dragonfly互连网络中的转发规则时,所述第一路由器按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;
所述转发规则为标号递减规则,或者,标号递增规则,所述dragonfly互连网络中每一路由器具有唯一标号,所述路由表中存储有所述dragonfly互连网络中与所述第一路由器相关联的路由器的路由信息。
可选地,所述方法还包括:
在所述第一最短路径不符合dragonfly互连网络中的转发规则时,所述第一路由器根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。
可选地,所述方法还包括:
在所述第一最短路径不符合dragonfly互连网络中的转发规则时,所述第一路由器将所述分组消息标记为非安全分组的分组消息;以及
所述第一路由器根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息;
其中,所述流量控制规则为:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;
在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;
在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。
第三方面,本发明提供一种路由设备,包括:
接收单元,用于接收分组消息,所述分组消息中携带有目的路由标识;
第一最短路径确定单元,用于根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;
转发单元,用于在所述第一最短路径符合dragonfly互连网络中的转发规则时,按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;
所述转发规则为标号递减规则,或者,标号递增规则,所述dragonfly互连网络中每一路由设备具有唯一标号,所述路由表中存储有所述dragonfly互连网络中与所述第一路由器相关联的路由器的路由信息。
可选地,所述转发单元,还用于
在所述第一最短路径不符合dragonfly互连网络中的转发规则时,根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。
可选地,所述转发单元,还用于
在所述第一最短路径不符合dragonfly互连网络中的转发规则时,将所述分组消息标记为非安全分组的分组消息;以及
根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息;
其中,所述流量控制规则为:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;
在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;
在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。
由上述技术方案可知,本发明的多层次的dragonfly互连网络及自适应路由方法,层次性互连网络包括:至少一个集群、每一集群包括至少一个路由器组、每一路由器组包括至少一行路由器单元和/或一列路由器单元,且路由器单元中路由器的个数大于等于两个,且每一路由器组,每一行路由器单元中的路由器为全连接,所述每一列路由器单元中的路由器为全连接,由此可解决现有技术中建立Clos互连网络成本高的问题。
附图说明
图1A至图1D为本发明一实施例提供的多层次的dragonfly互连网络的部分结构示意图;
图1E为本发明的多层次的dragonfly互连网络中一路由器的结构示意图;
图2为本发明另一实施例提供的多层次的dragonfly互连网络的部分结构示意图;
图3A为本发明一实施例提供的多层次的dragonfly互连网络中自适应路由方法的流程示意图;
图3B为本发明一实施例提供的多层次的dragonfly互连网络中自适应路由方法的流程示意图;
图3C为本发明一实施例提供的多层次的dragonfly互连网络中自适应路由方法的流程示意图;
图4A至图4E为本发明一实施例提供的多层次的dragonfly互连网络中自适应路由方法的示意图;
图5为本发明一实施例提供的路由设备的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
需要说明的是,现有技术中,Clos互连网络的连接方式为Dragonfly(蜻蜓),其路由方法是通过增加虚拟通道避免死锁,由此,导致搭建网络成本较高。例如,Clos互连网络包括370216个路由器时,任意两个路由器之间的距离不超过5个跳步,且该Clos互连网络需要使用4条虚拟通道实现无死锁的自适应路由以实现无死锁现象,由此,导致Clos互连网络的设计复杂,且增大了分组消息转发的延迟性。
为此,本发明实施例的多层次的dragonfly互连网络可保持Dragonfly网络的低成本特性,不需要使用虚拟通道即可实现无死锁的自适应路由方法。另外,本发明的多层次的dragonfly互连网络具有高扩展型,减少了同等网络规模下全局连接的数量。
本实施例中的多层次的dragonfly互连网络可包括:至少一个集群,每一所述集群包括至少一个路由器组,每一所述路由器组包括至少一行路由器单元,所述路由器单元中路由器的个数大于等于两个;
针对每一路由器组,每一行路由器单元中路由器为全连接,所述每一列路由器单元中的路由器为全连接;以及,所述每一行路由器单元中的最后一个路由器连接下一行路由器单元中的第一个路由器,如图1A所示;
每一所述集群中,任意两组路由器均连接。
由于本实施例中路由器单元中的路由器组中的路由器单元的行与列是相对的概念,在另一可能的实现方式中,针对集群中的每一路由器组,每一行路由器单元中路由器为全连接,每一列路由器单元中路由器为全连接,且每一列路由器单元中的最后一个路由器连接下一列路由器单元中的第一个路由器,如图1B所示。
上述图1A和图1B中示出的是路由器组中路由器的连接关系。
应说明的是,本实施例中全连接可为每一行中所有的路由器实现两两连接。如图1A和图1B所示,每一行路由器单元中的路由器实现两两连接,以及每一列路由器单元中的路由器实现两两连接。
在具体应用中,多层次的dragonfly互连网络中集群的数量可不为一个,可为多个,实现分组消息的自适应路由。可理解的,集群中路由器组的数量也可为两个以上。
在集群中路由器组的数量为两个以上时,集群中每一路由器组均与集群内其他路由器组连接,且集群内路由器组的连接不重复,如图1C所示。
在集群的数量为两个以上时,一集群中每一路由器组至少与其他集群中每一集群的一个路由器组连接,且所有集群中路由器组的连接不重复,如图1D所示;
其中,所述路由器组的连接为所述路由器组中的一个路由器与另一路由器组中的一个路由器连接。
在图1C中,集群G0包括三个路由器组G0,0,G0,1,G0,2;其中,G0,0通过组内最后一个路由器连接G0,1的第一个路由器,以及G0,0通过组内倒数第二个路由器连接G0,2中的第二个路由器,G0,1的最后一个路由器连接G0,2中的第一个路由器,实现集群G0内路由器组的全连接。
在图1D中,多层次的dragonfly互连网络包括三个集群G0,G1,G2;其中,集群G0中的G0,0最后一个路由器连接集群G1的G1,1中的第一个路由器,集群G0中的G0,0倒数第二个路由器连接集群G2中的G1,1中的第二个路由器,如图1D中所示的连接关系,实现集群G0,G1,G2内的全连接。
也就是说,所述路由器组的连接为:一个路由器组中的最后一个路由器连接另一个路由器组中的第一个路由器;
若一个路由器组中最后一个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第二个路由器连接另一个路由器组中的第一个路由器;
若另一个路由器组中第一个路由器的全局端口已经全部使用,则,该一个路由器中的最后一个路由器连接该另一个路由器组中的第二个路由器;
若一个路由器组中最后P个路由器的全局端口已经全部使用,且另一个路由器组中第Q个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第P+1个路由器连接该另一个路由器组中的第Q+1个路由器;
所述路由器组中的路由器按照从左到右,从上到下的顺序依次标号;且在本实施例中路由器的标号可为路由器在该dragonfly互连网络中的唯一标识。上述P、Q为大于等于1的自然数。
另外,在图1C和图1D中,路由器组之间的连接和集群之间的连接可能部分用到路由器组中的最后一个路由器或者第一个路由器,或者用到路由器组中的倒数第二个路由器或者第二个路由器,本实施例仅为例举式说明,不对其进行限定,可根据路由器的端口进行设置。在具体应用中,若一个路由器组中最后一个路由器的全局端口已经全部使用,且另一个路由器组中第一个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第二个路由器连接该另一个路由器组中的第二个路由器。
本实施例的互连网络系统,保持了Dragonfly网络原有的低成本、高扩展性的特点,并且减少了同等网络规模下全局连接的数量,减小了网络系统的成本;同时有利于本发明实施例提出的自适应自适应路由方法的实现。
可理解的是,如图1E所示,本实施例对多层次的dragonfly互连网络中的一个路由器进行说明,路由器可具有全局端口和局部端口,以及还可具有与服务器连接的端口。本实施例中,所有路由器可相同,也可不同,本实施例不对其进行限定。互连网络中任意集群之间的连接可采用全局连接的全局端口,任意路由器组之间的连接也可采用全局连接的全局端口。路由器组内任意两个路由器之间的连接采用的是实现局部连接的局部端口。
图1E中所示的路由器包括四个局部端口,四个全局端口,以及包括用于连接服务器的8个端口。用于连接服务器的8个端口可用于连接互连网络之外的任一服务器或处理器,用以接收转发的分组消息,或将转发的分组消息发送该服务器或处理器。
本实施例的多层次的dragonfly互连网络,可解决现有技术中建立Clos互连网络成本高的问题,且无需增加虚拟通道也能够实现自适应路由。
本实施例中举例说明的多层次的dragonfly互连网络的拓扑结构可为4层,本实施例不对其进行限定,可根据实际需要增加或减少。举例来说,dragonfly互连网络中的任一路由器可为64阶路由器或48阶路由器;所述路由器可具有N个全局端口,所述N大于等于1。
本实施例的dragonfly互连网络,保持了Dragonfly网络原有的低成本、高扩展性的特点,并且减少了同等网络规模下全局连接的数量,减小了网络系统的成本;同时有利于本发明实施例提出的自适应自适应路由方法的实现。
如图2所示,本实施例中的dragonfly互连网络划分为4个层次。其中最低的一层为路由器单元,该路由器单元可包含一系列的路由器。本实施例中的路由器可为dragonfly互连网络中的节点。
可理解的是,dragonfly互连网络可包括n个路由器集群,路由器集群内包含k个路由器组,路由器组内包含m行路由器单元,每行路由器单元均包含n个路由器,其中n为大于等于1的整数,m为大于等于2的整数,n为大于等于2的整数,k为大于等于2的整数;
在具体应用中,可dragonfly互连网络中的每一路由器进行标号,且该路由器在该dragonfly互连网络中的标号唯一。例如,路由器集群由左至右依次标号为G1,G2,…,Gn;路由器集群Gi内的路由器组由上至下依次标号为G1,i,G2,i,…,Gk,i;路由器组内的路由器由左至右,由上至下依次标号为R0,R1,…,Rn-1,…,Rmn-1。
在本实施例中,任意路由器组中路由器连接方式举例说明如下:
第一、每行路由器单元中路由器实现全连接;
第二、每列路由器单元中路由器实现全连接;
第三、对于从第1行到第m-1行,每行第n个路由器与下一行第一个路由器连接(如图1B所示)。
另外,任意路由器集群中路由器组的连接方式如下。
第一、对于i从0到q-2,Gi,p中标号为Rmn-1的路由器与Gi+1,p中标号为R0的路由器连接,即一个集群内相邻的路由器组首尾相连;
第二、同一集群内不相邻的路由器组采用下述方式连接:对于i从0到q-3,j从i+2到q-1,Gi,p中标号为Rv的路由器与Gj,p中标号为Rv’的路由器连接,其中v是Gi,a组中最高可用的端口,v’是Gj,p组中最低可用端口。
任意路由器集群之间的连接方式如下。
第一:对于i从0到p-2,p从0到q-2,Gi,p中标号为Rmn-1的路由器与Gi+1,p+1中标号为R0的路由器连接;Gi,q-1中标号为Rmn-1的路由器与Gi+1,0中标号为R0的路由器连接;
第二:对于i从0到p-3,j从i+2到p-1,p从0到q-1,Gi,p中标号为Rv的路由器与Gj,p中标号为Rv’的路由器连接,其中v是Gi,p组中最高可用的端口,v’是Gj,p组中最低可用端口。
上述实施例中的dragonfly互连网络可保持了Dragonfly网络原有的低成本、高扩展性的特点,并且减少了同等网络规模下全局连接的数量,同时在实现路由时不需要使用虚拟通道即可实现无死锁部分或完全自适应路由。
图3A示出了本发明一实施例提供的多层次的dragonfly互连网络中自适应路由方法的流程示意图,如图3A所示,本实施例的多层次的dragonfly互连网络中自适应路由方法如下所述。
301、第一路由器接收分组消息,所述分组消息中携带有目的路由标识;
302、第一路由器根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;
303、在所述第一最短路径符合dragonfly互连网络中的转发规则时,所述第一路由器按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。
在本实施例中,转发规则可为标号递减规则,或者,标号递增规则,所述dragonfly互连网络中每一路由器具有唯一标号,所述路由表中存储有所述dragonfly互连网络中与所述第一路由器相关联的路由器的路由信息。
本实施例中的自适应路由方法能够不需要使用虚拟通道即可实现无死锁自适应路由,且保证任意节点之间的通信步长不超过7步。
也就是说,本实施例的自适应路由方法,由于不依赖现有技术中提及的虚拟通道来消除死锁可以避免使用虚拟通道分配机制,从而大幅简化路由器设计,减少分组消息延迟,提高网络吞吐,改善系统性能。
在一种可能的实现方式中,前述图3A所示的方法在步骤303之后,还可包括下述的步骤304,如图3B所示。
304、在所述第一最短路径不符合dragonfly互连网络中的转发规则时,所述第一路由器根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。
本实施例的自适应路由方法,通过对互连网络系统中的路由器进行标号,并采用特定的标号减方向优先规则或标号增方向优先规则,可大幅简化路由器设计,减少分组消息延迟,提高网络吞吐,改善系统性能。
也就是说,本实施例的自适应路由方法,由于不依赖现有技术中提及的虚拟通道来消除死锁可以避免使用虚拟通道分配机制,从而大幅简化路由器设计,减少分组消息延迟,提高网络吞吐,改善系统性能。
在另一种可能的实现方式中,前述图3A所示的方法在步骤303之后,还可包括下述的步骤304’,如图3C所示。
304’、在所述第一最短路径不符合dragonfly互连网络中的转发规则时,所述第一路由器将所述分组消息标记为非安全分组的分组消息;
所述第一路由器根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息。
在本实施例中,流量控制规则可为:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;
在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;
在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。
也就是说,路由器与其他路由器存在连接的端口,分组消息转发的时候,第N路由器的分组消息至第M路由器中,路由成功及路由分组消息先缓存在第M路由器的与第N路由器相连接的端口的缓冲区中,等待第M路由器的继续路由。
本发明实施例的自适应路由方法,可实现无死锁完全自适应路由,且允许分组消息通过所有的最短路径到达目的路由器,从而有效提高通道使用率,提高网络吞吐。
结合图4A、图4B、图4C、图4D和图4E所示,基于上述的多层次的dragonfly互连网络,本实施例的自适应路由方法包括以下所示的步骤。
首先说明dragonfly互连网络中路由器标号方式:路由器集群由左至右依次标号为G0,G1,…,Gp-1;路由器集群Gi内的路由器组由上至下依次标号为G0,i,G1,i,…,Gq-1,i;路由器组内的路由器由左至右,由上至下依次标号为R0,R1,…,Rn-1,…,Rmn-1。
另外,根据dragonfly互连网络中通道两端路由器,或路由器组,或路由器集群标号的大小,路由通道(包括通过全局端口连接的全局通道和通过局部端口连接的局部通道)的转发规则可为标号减方向规则(如上所述的标号递减规则)或标号增方向规则(标号递增规则)。
由于每条路由通道都要连接两个路由器,因此,对于前端路由器为GaGb,aRc,后端路由器为GdGe,dRf的通道,此时,转发规则如下定义:
对于任一通道(GaGb,aRc,,GdGe,dRf),
若a>d,该通道遵循标号减方向规则;
若a<d,该通道遵循标号增方向规则;
若a=d且b>e,该通道遵循标号减方向规则;
若a=d且b<e,该通道遵循标号增方向规则;
若a=d且b=e且c>f,该通道遵循标号减方向规则;
若a=d且b=e且c<f,该通道遵循标号增方向规则。
以下举例来说,分组消息在dragonfly互连网络中进行路由时,若遵循标号减方向规则优先,则要求从源路由器到目的路由器的路径都由w条标号减方向通道和/或v条标号增方向通道组成,或者遵守标号增方向优先规则优先,即所有从源路由器到目的路由器的路径都由w条标号增方向通道和/或v条标号减方向通道组成。其中,w和v均为大于或等于零的整数。
也就是说,假定整个路由路径一共L个跳步数,将L个跳步划分为W个跳步接后续V个跳步,如果是标号减方向的转发规则,则W个跳步必须先为负方向,V个跳步为增方向。如果是标号增方向的转发规则,则W个跳步必须先为增方向,V个跳步为负方向。
自适应路由方法的核心是无论标号负方向优先,还是标号增方向优先均是限定一部分路径,避免死锁的机制。
为了便于说明本发明的自适应路由方法,以下举例说明遵循标号减方向规则优先,说明分组消息在dragonfly互连网络中进行自适应路由的过程,该处说明对应上述图3B的内容。
S31:分组消息在dragonfly互连网络中路由时,分组消息中携带有目的路由器的标识,分组消息所在当前路由器的标号为GaGb,aRc,根据目的路由器的标识确定目的路由器在dragonfly互连网络中的标号为GdGe,dRf,判断当前路由器所属的集群标号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,则在当前路由器组GbRv与目的路由器组GeRv’连接时,判断目的路由器标号f与v’的关系,若f=v’成立,提供一系列的局部通道即可到达目的路由器;
若f>v’,提供一系列的局部通道即可到达目的路由器;若f<v’,直接路由路径不符合负向转发规则即标号减方向规则,需要绕道,以使符合转发规则的路径进行转发。
S323:在步骤S32中,若分组消息所在路由器与目的路由器不在同一个路由器组中,且分组消息所在路由器标号b大于目的路由器标号e,则在当前路由器组中GbRv与目的路由器组中GeRv’连接时,判断当前路由器标号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,则在当前路由器所属集群中路由器组Gx,aRv与目的路由器所属集群中路由器组Ge,bRv’存在连接,且目的路由器标号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中,若分组消息所在路由器所属的集群与目的路由器所属的集群不相邻,则在当前路由器所属集群中路由器组Gb,aRv与目的路由器所属集群中路由器组Gy, bRv’存在连接,且目的路由器标号c>v时,不需要绕路至其他路由器集群即可完成路由,提供局部通道至连接目的路由器所属集群的路由器分组即可;否则,直接进行路由不符合负向优先的原则,需要绕路至其他路由器集群,使其符合负向优先的原则。
上述方法,通过对dragonfly互连网络中的路由器进行标号,并采用特定的标号减方向规则或标号增方向规则,不需要使用虚拟通道即可实现无死锁自适应路由,且保证任意路由器之间的通信步长不超过7步。由此,可不依赖虚拟通道来消除死锁可以避免使用虚拟通道分配机制,从而大幅简化路由器设计,减少分组消息延迟,提高网络吞吐,改善系统性能。
另一可能的实现方式中,为了便于说明本发明的自适应路由方法,以下举例说明遵循标号减方向规则优先,说明分组消息在dragonfly互连网络中进行路由的过程,该处说明对应上述图3C的内容。
根据分组消息下一个跳步所使用通道的类型,将其分为安全分组和非安全分组,若分组消息下一个跳步所使用的通道为遵守标号减方向规则的通道,那么对于下一跳步上的节点,该分组消息为安全分组,否则,若分组消息下一个跳步所使用的通道为遵循标号增方向规则的通道,那么对于下一跳步上的节点,该分组消息为非安全分组。
在本实施例中,设置每一路由器的通道缓冲区具有buff个分组大小的缓冲区,即最多可以存储buff个分组消息,其中,buff为大于或等于2的整数;
步骤D3:分组消息所在当前路由器标号为GaGb,aRc,目的路由器标号为GdGe,dRf,仅考虑最短路由路径的情况下,判断当前路由器所属的集群标号a与目的路由器所属集群标号d的关系,若a=d,则表示当前路由器和目的路由器在同一集群中,执行步骤D31;若a≠d,则表示当前路由器和目的路由器不在同一集群中,执行步骤D32。
步骤D31:在步骤D3中,若分组消息所在的路由器与目的路由器在同一个集群中,即a=d,则确定当前路由器组的标号为Gb,aRc,目的路由器组的标号为Ge,dRf,若b=e,即当前路由器组与目的路由器组为同一组,则可以选择行至列或列至行两种最短路径路由;
若b≠e,即当前路由器组与目的路由器组不在同一组,则经过一个集群内的全局通道即可完成最短路径路由。
步骤D32:在步骤D3中,若分组消息所在的路由器与目的路由器不在同一个集群中,即a≠d,则确定当前路由器所属集群中路由器组Gb,aRc与目的路由器所属集群中路由器组Ge,dRv’存在连接,当前路由器所属集群中路由器组Gb,aRv与目的路由器所属集群中路由器组Ge,dRf存在连接,则最短路由路径存在两种选择;第一种选择经过一个集群间的全局连接,然后在目的路由器所属集群内进行路由;第二种选择当前路由器所属集群内进行路由,然后经过一个集群间的全局连接完成最短路径路由。
步骤D4:所有分组消息可以选择最短路径进行路由。
步骤D5:对于步骤D4中遵循最短路径的所有分组消息,需要分别加以考虑,假设分组消息按照最短路径到达下一个路由器所对应的通道有f个缓冲区空闲,s个缓冲区存储安全分组,流量控制规则如下:
若f>1,那么分组消息可以使用最短路径路由提供的通道前进到下一个节点,
若f=1且s≥1,那么分组消息可以使用最短路径路由提供的通道前进到下一个节点,
若f=1且s=0,并且分组消息对于使用最短路径路由提供的下一个跳步是安全分组,那么分组可以使用最短路径路由提供的通道前进到下一个节点,
其他情况下,分组消息不可以直接利用最短路径路由提供的通道前进到下一个节点;
步骤D6:对于那些不符合流量控制规则的分组信息,可以直接发送并路由,或者选择等待直到这些不符合流量控制规则的分组消息等待下一次路由中符合流量机制后遵循最短路径路由。
本实施例的方法通过消除循环状等待的方式,进行死锁的避免。即,利用本发明路由方法的无死锁特性,并辅以一种新型流控机制,即可实现无死锁完全自适应路由,该完全自适应路由方法允许分组消息通过所有的最短路径到达目的节点,从而有效提高通道使用率,提高网络吞吐。
图5示出了本发明一实施例提供的路由设备的结构示意图,如图5所示,本实施例的路由设备可包括:接收单元51、第一最短路径确定单元52和转发单元53;
其中,接收单元51用于接收分组消息,所述分组消息中携带有目的路由标识;
第一最短路径确定单元52用于根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;
转发单元53用于在所述第一最短路径符合dragonfly互连网络中的转发规则时,按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;
所述转发规则为标号递减规则,或者,标号递增规则,所述dragonfly互连网络中每一路由设备具有唯一标号,所述路由表中存储有所述dragonfly互连网络中与所述第一路由器相关联的路由器的路由信息。
在一种可能的实现过程中,前述的转发单元53还用于,在所述第一最短路径不符合dragonfly互连网络中的转发规则时,根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。
在另一种可能的实现过程中,前述的转发单元53还用于,在所述第一最短路径不符合dragonfly互连网络中的转发规则时,将所述分组消息标记为非安全分组的分组消息;以及
根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息;
其中,所述流量控制规则为:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;
在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;
在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。
本实施例中路由设备的结构简单,且使用该路由设备进行分组消息转发可减少分组消息延迟,提高网络吞吐,改善路由设备所在系统的性能,实现高效通信。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (10)
1.一种多层次的dragonfly互连网络,其特征在于,包括:
至少一个集群,每一所述集群包括至少一个路由器组,每一所述路由器组包括至少两行路由器单元和/或两列路由器单元,所述路由器单元中路由器的个数大于等于两个;
针对每一路由器组,每一行路由器单元中的路由器为全连接,所述每一列路由器单元中的路由器为全连接;以及,
所述每一行路由器单元中的最后一个路由器连接下一行路由器单元中的第一个路由器;或者,所述每一列路由器单元中的最后一个路由器连接下一列路由器单元中的第一个路由器;
每一所述集群中,任意两路由器组均连接。
2.根据权利要求1所述的网络,其特征在于,
所述集群中路由器组的数量为两个以上时,所述集群中每一路由器组均与所述集群内其他路由器组连接,且所述集群内路由器组的连接不重复;
所述集群的数量为两个以上时,一集群中每一路由器组至少与其他集群中每一集群的一个路由器组连接,且所有集群中路由器组的连接不重复;
其中,所述路由器组的连接为所述路由器组中的一个路由器与另一路由器组中的一个路由器连接。
3.根据权利要求1所述的网络,其特征在于,所述网络划分为四层,所述四层由低至高分别为路由单元、每行的路由单元、路由器组、路由器集群。
4.根据权利要求3所述的网络,其特征在于,
所述路由器组的连接为:一个路由器组中的最后一个路由器连接另一个路由器组中的第一个路由器;
若一个路由器组中最后一个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第二个路由器连接另一个路由器组中的第一个路由器;
若另一个路由器组中第一个路由器的全局端口已经全部使用,则,该一个路由器中的最后一个路由器连接该另一个路由器组中的第二个路由器;
若一个路由器组中最后P个路由器的全局端口已经全部使用,且另一个路由器组中第Q个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第P+1个路由器连接该另一个路由器组中的第Q+1个路由器;
所述路由器组中的路由器按照从左到右,从上到下的顺序依次标号;
所述P、Q为大于等于1的自然数。
5.一种应用于如权利要求1所述的互联网络的多层次的dragonfly互连网络的自适应路由方法,其特征在于,包括:
第一路由器接收分组消息,所述分组消息中携带有目的路由标识;
所述第一路由器根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;
在所述第一最短路径符合dragonfly互连网络中的转发规则时,所述第一路由器按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;
所述转发规则为标号递减规则,或者,标号递增规则,所述dragonfly互连网络中每一路由器具有唯一标号,所述路由表中存储有所述dragonfly互连网络中与所述第一路由器相关联的路由器的路由信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述第一最短路径不符合dragonfly互连网络中的转发规则时,所述第一路由器根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述第一最短路径不符合dragonfly互连网络中的转发规则时,所述第一路由器将所述分组消息标记为非安全分组的分组消息;以及
所述第一路由器根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息;
其中,所述流量控制规则为:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;
在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;
在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。
8.一种应用于入权利要求1所述的互联网络的路由设备,其特征在于,
接收单元,用于接收分组消息,所述分组消息中携带有目的路由标识;
第一最短路径确定单元,用于根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;
转发单元,用于在所述第一最短路径符合dragonfly互连网络中的转发规则时,按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;
所述转发规则为标号递减规则,或者,标号递增规则,所述dragonfly互连网络中每一路由设备具有唯一标号,所述路由表中存储有所述dragonfly互连网络中与所述第一路由器相关联的路由器的路由信息。
9.根据权利要求8所述的路由设备,其特征在于,所述转发单元,还用于
在所述第一最短路径不符合dragonfly互连网络中的转发规则时,根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。
10.根据权利要求8所述的路由设备,其特征在于,所述转发单元,还用于
在所述第一最短路径不符合dragonfly互连网络中的转发规则时,将所述分组消息标记为非安全分组的分组消息;以及
根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息;
其中,所述流量控制规则为:在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;
在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;
在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410302935.5A CN104079490B (zh) | 2014-06-27 | 2014-06-27 | 多层次的dragonfly互连网络及自适应路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410302935.5A CN104079490B (zh) | 2014-06-27 | 2014-06-27 | 多层次的dragonfly互连网络及自适应路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104079490A CN104079490A (zh) | 2014-10-01 |
CN104079490B true CN104079490B (zh) | 2017-09-22 |
Family
ID=51600542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410302935.5A Active CN104079490B (zh) | 2014-06-27 | 2014-06-27 | 多层次的dragonfly互连网络及自适应路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104079490B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656808B (zh) * | 2016-10-10 | 2019-08-02 | 清华大学 | 一种二级全连接互连网络的容错完全自适应路由方法 |
CN108234310B (zh) * | 2016-12-12 | 2021-06-15 | 清华大学 | 多层次互连网络、自适应路由方法及路由设备 |
CN110324243A (zh) * | 2018-03-28 | 2019-10-11 | 清华大学 | 蜻蜓网络架构及其广播路由方法 |
CN110324249B (zh) * | 2018-03-28 | 2023-05-26 | 清华大学 | 一种蜻蜓网络架构及其组播路由方法 |
CN111711565B (zh) * | 2020-07-01 | 2021-05-04 | 西安电子科技大学 | 面向高速互连蜻蜓+网络的多路径路由方法 |
CN113271267B (zh) * | 2021-05-18 | 2022-04-22 | 清华大学 | 互连网络、自适应路由方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095588A (zh) * | 2013-01-17 | 2013-05-08 | 清华大学 | 基于多生成树的无死锁自适应路由方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100049942A1 (en) * | 2008-08-20 | 2010-02-25 | John Kim | Dragonfly processor interconnect network |
JP5860670B2 (ja) * | 2010-11-05 | 2016-02-16 | インテル コーポレイション | Dragonflyプロセッサ相互接続ネットワークにおけるテーブル駆動型ルーティング |
-
2014
- 2014-06-27 CN CN201410302935.5A patent/CN104079490B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095588A (zh) * | 2013-01-17 | 2013-05-08 | 清华大学 | 基于多生成树的无死锁自适应路由方法 |
Non-Patent Citations (3)
Title |
---|
Dong Xiang等.Deadlock-Free Fully Adaptive Routing in Irregular Networks without Virtual Channels.《2013 12th IEEE International Conference on Trust,Security and Privacy in Computing and Communications》.IEEE,2013,983-990. * |
Greg Faanes等.Cray Cascade:a Scalable HPC System based on a Dragonfly Network.《IEEE》.IEEE,2012,第1-9页. * |
John Kim等.Technology-Driven, Highly-Scalable Dragonfly Topology.《International Symposium on Computer Architecture》.IEEE,2008,77-88. * |
Also Published As
Publication number | Publication date |
---|---|
CN104079490A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104079490B (zh) | 多层次的dragonfly互连网络及自适应路由方法 | |
US10348563B2 (en) | System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology | |
KR101937211B1 (ko) | 상호 연결에서 이종 채널 용량 | |
US9130856B2 (en) | Creating multiple NoC layers for isolation or avoiding NoC traffic congestion | |
US8601423B1 (en) | Asymmetric mesh NoC topologies | |
CN108234310A (zh) | 多层次互连网络、自适应路由方法及路由设备 | |
US9160627B2 (en) | Multiple heterogeneous NoC layers | |
JP2016525290A (ja) | NoCを構成するための方法及びシステム並びにコンピュータ可読記憶媒体 | |
JPS63501672A (ja) | 向上されたメッシュベ−ス交換網 | |
CN101834789B (zh) | 面向包-电路交换片上路由器的回退转向路由算法及所用路由器 | |
CN104780122B (zh) | 基于缓存再分配的层次化片上网络路由器的控制方法 | |
CN102571571A (zh) | 一种应用于时延容忍网络的多层次有效路由方法 | |
CN103973564B (zh) | 互连网络系统的自适应路由方法 | |
US10298485B2 (en) | Systems and methods for NoC construction | |
CN102368739A (zh) | 面向包-电路交换片上路由器的广播机制路由算法 | |
US9529775B2 (en) | Network topology of hierarchical ring with gray code and binary code | |
CN102185772A (zh) | 数据中心网络系统的路由方法 | |
US9154425B2 (en) | Method and apparatus for routing in a single tier switched network | |
CN114844827A (zh) | 一种用于片上网络芯片的基于共享存储的生成树路由硬件架构及方法 | |
CN103873367B (zh) | 路由数据分组以及确定路由的方法和装置、胖树网络 | |
Ebrahimi et al. | Partitioning methods for unicast/multicast traffic in 3D NoC architecture | |
CN107276920A (zh) | 一种应用于混合三维片上网络的分布式流控系统及机制 | |
Cai et al. | Design and OPNET implementation of routing algorithm in 3D optical network on chip | |
CN105871761A (zh) | 一种高阶矩阵开关、片上网络及通信方法 | |
US20180241694A1 (en) | Parallel Data Switch |
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 |