《多层次的DRAGONFLY互连网络及自适应路由方法.pdf》由会员分享,可在线阅读,更多相关《多层次的DRAGONFLY互连网络及自适应路由方法.pdf(25页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104079490A43申请公布日20141001CN104079490A21申请号201410302935522申请日20140627H04L12/771201301H04L12/73320130171申请人清华大学地址100084北京市海淀区清华园北京10008482信箱72发明人向东刘笑威虞志刚74专利代理机构北京路浩知识产权代理有限公司11002代理人李相雨54发明名称多层次的DRAGONFLY互连网络及自适应路由方法57摘要本发明提供一种多层次的DRAGONFLY互连网络及自适应路由方法,所述DRAGONFLY互连网络包括多个集群,每一所述集群包括多个路由器组,每一。
2、所述路由器组包括多行路由器单元和/或多列路由器单元,针对每一路由器组,每一行路由器单元中的路由器为全连接,所述每一列路由器单元中的路由器为全连接;以及,所述每一行路由器单元中的最后一个路由器连接下一行路由器单元中的第一个路由器;或者,所述每一列路由器单元中的最后一个路由器连接下一列路由器单元中的第一个路由器;每一所述集群中,任意两组路由器均连接。本发明的DRAGONFLY互连网络的成本低,且具有高扩展性,减少了同等网络规模下全局连接的数量。51INTCL权利要求书3页说明书12页附图9页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书12页附图9页10申请公布号CN1040。
3、79490ACN104079490A1/3页21一种多层次的DRAGONFLY互连网络,其特征在于,包括至少一个集群,每一所述集群包括至少一个路由器组,每一所述路由器组包括至少一行路由器单元和/或一列路由器单元,所述路由器单元中路由器的个数大于等于两个;针对每一路由器组,每一行路由器单元中的路由器为全连接,所述每一列路由器单元中的路由器为全连接;以及,所述每一行路由器单元中的最后一个路由器连接下一行路由器单元中的第一个路由器;或者,所述每一列路由器单元中的最后一个路由器连接下一列路由器单元中的第一个路由器;每一所述集群中,任意两组路由器均连接。2根据权利要求1所述的网络,其特征在于,所述集群中。
4、路由器组的数量为两个以上时,所述集群中每一路由器组均与所述集群内其他路由器组连接,且所述集群内路由器组的连接不重复;所述集群的数量为两个以上时,一集群中每一路由器组至少与其他集群中每一集群的一个路由器组连接,且所有集群中路由器组的连接不重复;其中,所述路由器组的连接为所述路由器组中的一个路由器与另一路由器组中的一个路由器连接。3根据权利要求1所述的网络,其特征在于,所述网络划分为四层。4根据权利要求3所述的网络,其特征在于,所述路由器组的连接为一个路由器组中的最后一个路由器连接另一个路由器组中的第一个路由器;若一个路由器组中最后一个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第二个路。
5、由器连接另一个路由器组中的第一个路由器;若另一个路由器组中第一个路由器的全局端口已经全部使用,则,该一个路由器中的最后一个路由器连接该另一个路由器组中的第二个路由器;若一个路由器组中最后P个路由器的全局端口已经全部使用,且另一个路由器组中第Q个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第P1个路由器连接该另一个路由器组中的第Q1个路由器;所述路由器组中的路由器按照从左到右,从上到下的顺序依次标号;所述P、Q为大于等于1的自然数。5一种多层次的DRAGONFLY互连网络的自适应路由方法,其特征在于,包括第一路由器接收分组消息,所述分组消息中携带有目的路由标识;所述第一路由器根据预设的。
6、路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;在所述第一最短路径符合DRAGONFLY互连网络中的转发规则时,所述第一路由器按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;所述转发规则为标号递减规则,或者,标号递增规则,所述DRAGONFLY互连网络中每一路由器具有唯一标号,所述路由表中存储有所述DRAGONFLY互连网络中与所述第一路由器相关联的路由器的路由信息。6根据权利要求5所述的方法,其特征在于,所述方法还包括权利要求书CN104079490A2/3页3在所述第一最短路径不符合DRAGONFLY互连网络中的转发。
7、规则时,所述第一路由器根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。7根据权利要求5所述的方法,其特征在于,所述方法还包括在所述第一最短路径不符合DRAGONFLY互连网络中的转发规则时,所述第一路由器将所述分组消息标记为非安全分组的分组消息;以及所述第一路由器根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息;其中,所述流量控制规则为在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空。
8、闲数量以及所述缓冲区中缓存的分组消息的类型;在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。8一种路由设备,其特征在于,接收单元,用于接收分组消息,所述分组消息中携带有目的路由标识;第一最短路径确定单元,用于根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的。
9、第一最短路径;转发单元,用于在所述第一最短路径符合DRAGONFLY互连网络中的转发规则时,按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;所述转发规则为标号递减规则,或者,标号递增规则,所述DRAGONFLY互连网络中每一路由设备具有唯一标号,所述路由表中存储有所述DRAGONFLY互连网络中与所述第一路由器相关联的路由器的路由信息。9根据权利要求8所述的路由设备,其特征在于,所述转发单元,还用于在所述第一最短路径不符合DRAGONFLY互连网络中的转发规则时,根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径。
10、转发所述分组消息,以使所述分组消息到达所述目的路由。10根据权利要求8所述的路由设备,其特征在于,所述转发单元,还用于在所述第一最短路径不符合DRAGONFLY互连网络中的转发规则时,将所述分组消息标记为非安全分组的分组消息;以及根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息;其中,所述流量控制规则为在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,。
11、则将所述非安全分组的分组消息转发至第M路由器;在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型权利要求书CN104079490A3/3页4至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。权利要求书CN104079490A1/12页5多层次的DRAGONFLY互连网络及自适应路由方法技术领域0001本发明涉及通信技术,尤其涉及一种多层次的DRAGONFLY互连网络及自适应路由方法。背景技术0002当前,互连网络用于实现网络中不同节点间的同步和通信。互连网络是影响整个路由系统的性能和扩展性的重要方。
12、面。0003随着半导体工艺的发展,高阶路由器的管脚带宽可以达到1020TBPS,为此,采用高阶路由器作为互连网络中的节点,可在互连网络中实现通过几个跳步就可将分组消息转发到目的节点,减少了互连网路的网络直径,降低了分组消息延迟。0004高阶路由器将成为互连网络的发展趋势,由高阶路由器构成的互连网络通常只需要几个跳步就可以连接数以万计的处理器,可以直接减小网络直径,实现处理器节点之间高效通信,降低分组消息延迟。0005现有技术中提供一种采用64阶路由芯片作为互连网络中的节点,由32000个节点组成的CLOS互连网络。在该互连网络中任一分组消息转发到目的节点不超过7个跳步;另外,在建立CLOS互连。
13、网络时,为避免CLOS互连网络中的死锁现象,在CLOS互连网络中增加两条以上的虚拟通道,由此导致建立CLOS互连网络的成本非常高。发明内容0006针对现有技术中的缺陷,本发明提供一种多层次的DRAGONFLY互连网络及自适应路由方法,用于解决现有技术中建立CLOS互连网络成本高的问题。0007第一方面,本发明提供一种多层次的DRAGONFLY互连网络,包括0008至少一个集群,每一所述集群包括至少一个路由器组,每一所述路由器组包括至少一行路由器单元和/或一列路由器单元,所述路由器单元中路由器的个数大于等于两个;0009针对每一路由器组,每一行路由器单元中的路由器为全连接,所述每一列路由器单元中。
14、的路由器为全连接;以及,0010所述每一行路由器单元中的最后一个路由器连接下一行路由器单元中的第一个路由器;或者,所述每一列路由器单元中的最后一个路由器连接下一列路由器单元中的第一个路由器;0011每一所述集群中,任意两组路由器均连接。0012可选地,所述集群中路由器组的数量为两个以上时,所述集群中每一路由器组均与所述集群内其他路由器组连接,且所述集群内路由器组的连接不重复;0013所述集群的数量为两个以上时,一集群中每一路由器组至少与其他集群中每一集群的一个路由器组连接,且所有集群中路由器组的连接不重复;0014其中,所述路由器组的连接为所述路由器组中的一个路由器与另一路由器组中的说明书CN。
15、104079490A2/12页6一个路由器连接。0015可选地,所述网络划分为四层。0016可选地,所述路由器组的连接为一个路由器组中的最后一个路由器连接另一个路由器组中的第一个路由器;0017若一个路由器组中最后一个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第二个路由器连接另一个路由器组中的第一个路由器;0018若另一个路由器组中第一个路由器的全局端口已经全部使用,则,该一个路由器中的最后一个路由器连接该另一个路由器组中的第二个路由器;0019若一个路由器组中最后P个路由器的全局端口已经全部使用,且另一个路由器组中第Q个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第P1。
16、个路由器连接该另一个路由器组中的第Q1个路由器;0020所述路由器组中的路由器按照从左到右,从上到下的顺序依次标号;0021所述P、Q为大于等于1的自然数。0022第二方面,本发明提供一种多层次的DRAGONFLY互连网络的自适应路由方法,包括0023第一路由器接收分组消息,所述分组消息中携带有目的路由标识;0024所述第一路由器根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;0025在所述第一最短路径符合DRAGONFLY互连网络中的转发规则时,所述第一路由器按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;0。
17、026所述转发规则为标号递减规则,或者,标号递增规则,所述DRAGONFLY互连网络中每一路由器具有唯一标号,所述路由表中存储有所述DRAGONFLY互连网络中与所述第一路由器相关联的路由器的路由信息。0027可选地,所述方法还包括0028在所述第一最短路径不符合DRAGONFLY互连网络中的转发规则时,所述第一路由器根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。0029可选地,所述方法还包括0030在所述第一最短路径不符合DRAGONFLY互连网络中的转发规则时,所述第一路由器将。
18、所述分组消息标记为非安全分组的分组消息;以及0031所述第一路由器根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息;0032其中,所述流量控制规则为在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;0033在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;0034在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的说明书CN1040794。
19、90A3/12页7类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。0035第三方面,本发明提供一种路由设备,包括0036接收单元,用于接收分组消息,所述分组消息中携带有目的路由标识;0037第一最短路径确定单元,用于根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;0038转发单元,用于在所述第一最短路径符合DRAGONFLY互连网络中的转发规则时,按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由;0039所述转发规则为标号递减规则,或。
20、者,标号递增规则,所述DRAGONFLY互连网络中每一路由设备具有唯一标号,所述路由表中存储有所述DRAGONFLY互连网络中与所述第一路由器相关联的路由器的路由信息。0040可选地,所述转发单元,还用于0041在所述第一最短路径不符合DRAGONFLY互连网络中的转发规则时,根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。0042可选地,所述转发单元,还用于0043在所述第一最短路径不符合DRAGONFLY互连网络中的转发规则时,将所述分组消息标记为非安全分组的分组消息;以及004。
21、4根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息;0045其中,所述流量控制规则为在不符合所述转发规则的第N路由器中,第N路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;0046在所述第M路由器的缓冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;0047在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大。
22、于等于1的自然数,M大于等于2的自然数。0048由上述技术方案可知,本发明的多层次的DRAGONFLY互连网络及自适应路由方法,层次性互连网络包括至少一个集群、每一集群包括至少一个路由器组、每一路由器组包括至少一行路由器单元和/或一列路由器单元,且路由器单元中路由器的个数大于等于两个,且每一路由器组,每一行路由器单元中的路由器为全连接,所述每一列路由器单元中的路由器为全连接,由此可解决现有技术中建立CLOS互连网络成本高的问题。附图说明0049图1A至图1D为本发明一实施例提供的多层次的DRAGONFLY互连网络的部分结构示意图;0050图1E为本发明的多层次的DRAGONFLY互连网络中一路。
23、由器的结构示意图;0051图2为本发明另一实施例提供的多层次的DRAGONFLY互连网络的部分结构示意图;说明书CN104079490A4/12页80052图3A为本发明一实施例提供的多层次的DRAGONFLY互连网络中自适应路由方法的流程示意图;0053图3B为本发明一实施例提供的多层次的DRAGONFLY互连网络中自适应路由方法的流程示意图;0054图3C为本发明一实施例提供的多层次的DRAGONFLY互连网络中自适应路由方法的流程示意图;0055图4A至图4E为本发明一实施例提供的多层次的DRAGONFLY互连网络中自适应路由方法的示意图;0056图5为本发明一实施例提供的路由设备的结构。
24、示意图。具体实施方式0057下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。0058需要说明的是,现有技术中,CLOS互连网络的连接方式为DRAGONFLY蜻蜓,其路由方法是通过增加虚拟通道避免死锁,由此,导致搭建网络成本较高。例如,CLOS互连网络包括370216个路由器时,任意两个路由器之间的距离不超过5个跳步,且该CLOS互连网络需要使用4条虚拟通道实现无死锁的自适应路由以实现无死锁现象,由此,导致CLOS互连网络的设计复杂,且增大了分组消息转发的延迟性。0059为此,本发明实施例的多层次的DRAGONFLY互连网络可保持。
25、DRAGONFLY网络的低成本特性,不需要使用虚拟通道即可实现无死锁的自适应路由方法。另外,本发明的多层次的DRAGONFLY互连网络具有高扩展型,减少了同等网络规模下全局连接的数量。0060本实施例中的多层次的DRAGONFLY互连网络可包括至少一个集群,每一所述集群包括至少一个路由器组,每一所述路由器组包括至少一行路由器单元,所述路由器单元中路由器的个数大于等于两个;0061针对每一路由器组,每一行路由器单元中路由器为全连接,所述每一列路由器单元中的路由器为全连接;以及,所述每一行路由器单元中的最后一个路由器连接下一行路由器单元中的第一个路由器,如图1A所示;0062每一所述集群中,任意两。
26、组路由器均连接。0063由于本实施例中路由器单元中的路由器组中的路由器单元的行与列是相对的概念,在另一可能的实现方式中,针对集群中的每一路由器组,每一行路由器单元中路由器为全连接,每一列路由器单元中路由器为全连接,且每一列路由器单元中的最后一个路由器连接下一列路由器单元中的第一个路由器,如图1B所示。0064上述图1A和图1B中示出的是路由器组中路由器的连接关系。0065应说明的是,本实施例中全连接可为每一行中所有的路由器实现两两连接。如图1A和图1B所示,每一行路由器单元中的路由器实现两两连接,以及每一列路由器单元中的路由器实现两两连接。0066在具体应用中,多层次的DRAGONFLY互连网。
27、络中集群的数量可不为一个,可为多个,实现分组消息的自适应路由。可理解的,集群中路由器组的数量也可为两个以上。0067在集群中路由器组的数量为两个以上时,集群中每一路由器组均与集群内其他路说明书CN104079490A5/12页9由器组连接,且集群内路由器组的连接不重复,如图1C所示。0068在集群的数量为两个以上时,一集群中每一路由器组至少与其他集群中每一集群的一个路由器组连接,且所有集群中路由器组的连接不重复,如图1D所示;0069其中,所述路由器组的连接为所述路由器组中的一个路由器与另一路由器组中的一个路由器连接。0070在图1C中,集群G0包括三个路由器组G0,0,G0,1,G0,2;其。
28、中,G0,0通过组内最后一个路由器连接G0,1的第一个路由器,以及G0,0通过组内倒数第二个路由器连接G0,2中的第二个路由器,G0,1的最后一个路由器连接G0,2中的第一个路由器,实现集群G0内路由器组的全连接。0071在图1D中,多层次的DRAGONFLY互连网络包括三个集群G0,G1,G2;其中,集群G0中的G0,0最后一个路由器连接集群G1的G1,1中的第一个路由器,集群G0中的G0,0倒数第二个路由器连接集群G2中的G1,1中的第二个路由器,如图1D中所示的连接关系,实现集群G0,G1,G2内的全连接。0072也就是说,所述路由器组的连接为一个路由器组中的最后一个路由器连接另一个路由。
29、器组中的第一个路由器;0073若一个路由器组中最后一个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第二个路由器连接另一个路由器组中的第一个路由器;0074若另一个路由器组中第一个路由器的全局端口已经全部使用,则,该一个路由器中的最后一个路由器连接该另一个路由器组中的第二个路由器;0075若一个路由器组中最后P个路由器的全局端口已经全部使用,且另一个路由器组中第Q个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第P1个路由器连接该另一个路由器组中的第Q1个路由器;0076所述路由器组中的路由器按照从左到右,从上到下的顺序依次标号;且在本实施例中路由器的标号可为路由器在该DRAG。
30、ONFLY互连网络中的唯一标识。上述P、Q为大于等于1的自然数。0077另外,在图1C和图1D中,路由器组之间的连接和集群之间的连接可能部分用到路由器组中的最后一个路由器或者第一个路由器,或者用到路由器组中的倒数第二个路由器或者第二个路由器,本实施例仅为例举式说明,不对其进行限定,可根据路由器的端口进行设置。在具体应用中,若一个路由器组中最后一个路由器的全局端口已经全部使用,且另一个路由器组中第一个路由器的全局端口已经全部使用,则,该一个路由器组中倒数第二个路由器连接该另一个路由器组中的第二个路由器。0078本实施例的互连网络系统,保持了DRAGONFLY网络原有的低成本、高扩展性的特点,并且。
31、减少了同等网络规模下全局连接的数量,减小了网络系统的成本;同时有利于本发明实施例提出的自适应自适应路由方法的实现。0079可理解的是,如图1E所示,本实施例对多层次的DRAGONFLY互连网络中的一个路由器进行说明,路由器可具有全局端口和局部端口,以及还可具有与服务器连接的端口。本实施例中,所有路由器可相同,也可不同,本实施例不对其进行限定。互连网络中任意集群之间的连接可采用全局连接的全局端口,任意路由器组之间的连接也可采用全局连接的全局端口。路由器组内任意两个路由器之间的连接采用的是实现局部连接的局部端口。说明书CN104079490A6/12页100080图1E中所示的路由器包括四个局部端。
32、口,四个全局端口,以及包括用于连接服务器的8个端口。用于连接服务器的8个端口可用于连接互连网络之外的任一服务器或处理器,用以接收转发的分组消息,或将转发的分组消息发送该服务器或处理器。0081本实施例的多层次的DRAGONFLY互连网络,可解决现有技术中建立CLOS互连网络成本高的问题,且无需增加虚拟通道也能够实现自适应路由。0082本实施例中举例说明的多层次的DRAGONFLY互连网络的拓扑结构可为4层,本实施例不对其进行限定,可根据实际需要增加或减少。举例来说,DRAGONFLY互连网络中的任一路由器可为64阶路由器或48阶路由器;所述路由器可具有N个全局端口,所述N大于等于1。0083本。
33、实施例的DRAGONFLY互连网络,保持了DRAGONFLY网络原有的低成本、高扩展性的特点,并且减少了同等网络规模下全局连接的数量,减小了网络系统的成本;同时有利于本发明实施例提出的自适应自适应路由方法的实现。0084如图2所示,本实施例中的DRAGONFLY互连网络划分为4个层次。其中最低的一层为路由器单元,该路由器单元可包含一系列的路由器。本实施例中的路由器可为DRAGONFLY互连网络中的节点。0085可理解的是,DRAGONFLY互连网络可包括N个路由器集群,路由器集群内包含K个路由器组,路由器组内包含M行路由器单元,每行路由器单元均包含N个路由器,其中N为大于等于1的整数,M为大于。
34、等于2的整数,N为大于等于2的整数,K为大于等于2的整数;0086在具体应用中,可DRAGONFLY互连网络中的每一路由器进行标号,且该路由器在该DRAGONFLY互连网络中的标号唯一。例如,路由器集群由左至右依次标号为G1,G2,GN;路由器集群GI内的路由器组由上至下依次标号为G1,I,G2,I,GK,I;路由器组内的路由器由左至右,由上至下依次标号为R0,R1,RN1,RMN1。0087在本实施例中,任意路由器组中路由器连接方式举例说明如下0088第一、每行路由器单元中路由器实现全连接;0089第二、每列路由器单元中路由器实现全连接;0090第三、对于从第1行到第M1行,每行第N个路由器。
35、与下一行第一个路由器连接如图1B所示。0091另外,任意路由器集群中路由器组的连接方式如下。0092第一、对于I从0到Q2,GI,P中标号为RMN1的路由器与GI1,P中标号为R0的路由器连接,即一个集群内相邻的路由器组首尾相连;0093第二、同一集群内不相邻的路由器组采用下述方式连接对于I从0到Q3,J从I2到Q1,GI,P中标号为RV的路由器与GJ,P中标号为RV的路由器连接,其中V是GI,A组中最高可用的端口,V是GJ,P组中最低可用端口。0094任意路由器集群之间的连接方式如下。0095第一对于I从0到P2,P从0到Q2,GI,P中标号为RMN1的路由器与GI1,P1中标号为R0的路由。
36、器连接;GI,Q1中标号为RMN1的路由器与GI1,0中标号为R0的路由器连接;0096第二对于I从0到P3,J从I2到P1,P从0到Q1,GI,P中标号为RV的路由器与GJ,P中标号为RV的路由器连接,其中V是GI,P组中最高可用的端口,V是GJ,P组中最低说明书CN104079490A107/12页11可用端口。0097上述实施例中的DRAGONFLY互连网络可保持了DRAGONFLY网络原有的低成本、高扩展性的特点,并且减少了同等网络规模下全局连接的数量,同时在实现路由时不需要使用虚拟通道即可实现无死锁部分或完全自适应路由。0098图3A示出了本发明一实施例提供的多层次的DRAGONFL。
37、Y互连网络中自适应路由方法的流程示意图,如图3A所示,本实施例的多层次的DRAGONFLY互连网络中自适应路由方法如下所述。0099301、第一路由器接收分组消息,所述分组消息中携带有目的路由标识;0100302、第一路由器根据预设的路由表和所述目的路由标识,确定将所述分组消息转发至与所述目的路由标识对应的目的路由的第一最短路径;0101303、在所述第一最短路径符合DRAGONFLY互连网络中的转发规则时,所述第一路由器按照所述第一最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。0102在本实施例中,转发规则可为标号递减规则,或者,标号递增规则,所述DRAGONFLY互连网络中每。
38、一路由器具有唯一标号,所述路由表中存储有所述DRAGONFLY互连网络中与所述第一路由器相关联的路由器的路由信息。0103本实施例中的自适应路由方法能够不需要使用虚拟通道即可实现无死锁自适应路由,且保证任意节点之间的通信步长不超过7步。0104也就是说,本实施例的自适应路由方法,由于不依赖现有技术中提及的虚拟通道来消除死锁可以避免使用虚拟通道分配机制,从而大幅简化路由器设计,减少分组消息延迟,提高网络吞吐,改善系统性能。0105在一种可能的实现方式中,前述图3A所示的方法在步骤303之后,还可包括下述的步骤304,如图3B所示。0106304、在所述第一最短路径不符合DRAGONFLY互连网络。
39、中的转发规则时,所述第一路由器根据所述路由表、所述转发规则和所述目的路由标识,确定和符合所述转发规则的第二最短路径,并按照所述第二最短路径转发所述分组消息,以使所述分组消息到达所述目的路由。0107本实施例的自适应路由方法,通过对互连网络系统中的路由器进行标号,并采用特定的标号减方向优先规则或标号增方向优先规则,可大幅简化路由器设计,减少分组消息延迟,提高网络吞吐,改善系统性能。0108也就是说,本实施例的自适应路由方法,由于不依赖现有技术中提及的虚拟通道来消除死锁可以避免使用虚拟通道分配机制,从而大幅简化路由器设计,减少分组消息延迟,提高网络吞吐,改善系统性能。0109在另一种可能的实现方式。
40、中,前述图3A所示的方法在步骤303之后,还可包括下述的步骤304,如图3C所示。0110304、在所述第一最短路径不符合DRAGONFLY互连网络中的转发规则时,所述第一路由器将所述分组消息标记为非安全分组的分组消息;0111所述第一路由器根据流量控制规则,按照所述第一最短路径转发所述非安全分组的分组消息。0112在本实施例中,流量控制规则可为在不符合所述转发规则的第N路由器中,第N说明书CN104079490A118/12页12路由器按照最短路径将所述非安全分组的分组消息转发至第M路由器时,判断所述第M路由器的缓冲区空闲数量以及所述缓冲区中缓存的分组消息的类型;0113在所述第M路由器的缓。
41、冲区空闲的数量为两个以上,且被占用的缓冲区中分组消息的类型为非安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器;0114在所述第M路由器的缓冲区空闲的数量为一个,且被占用的缓冲区中分组消息的类型至少一个为安全分组的分组消息,则将所述非安全分组的分组消息转发至第M路由器,所述N大于等于1的自然数,M大于等于2的自然数。0115也就是说,路由器与其他路由器存在连接的端口,分组消息转发的时候,第N路由器的分组消息至第M路由器中,路由成功及路由分组消息先缓存在第M路由器的与第N路由器相连接的端口的缓冲区中,等待第M路由器的继续路由。0116本发明实施例的自适应路由方法,可实现无死锁完全。
42、自适应路由,且允许分组消息通过所有的最短路径到达目的路由器,从而有效提高通道使用率,提高网络吞吐。0117结合图4A、图4B、图4C、图4D和图4E所示,基于上述的多层次的DRAGONFLY互连网络,本实施例的自适应路由方法包括以下所示的步骤。0118首先说明DRAGONFLY互连网络中路由器标号方式路由器集群由左至右依次标号为G0,G1,GP1;路由器集群GI内的路由器组由上至下依次标号为G0,I,G1,I,GQ1,I;路由器组内的路由器由左至右,由上至下依次标号为R0,R1,RN1,RMN1。0119另外,根据DRAGONFLY互连网络中通道两端路由器,或路由器组,或路由器集群标号的大小,。
43、路由通道包括通过全局端口连接的全局通道和通过局部端口连接的局部通道的转发规则可为标号减方向规则如上所述的标号递减规则或标号增方向规则标号递增规则。0120由于每条路由通道都要连接两个路由器,因此,对于前端路由器为GAGB,ARC,后端路由器为GDGE,DRF的通道,此时,转发规则如下定义0121对于任一通道GAGB,ARC,,GDGE,DRF,0122若AD,该通道遵循标号减方向规则;0123若AE,该通道遵循标号减方向规则;0125若AD且BF,该通道遵循标号减方向规则;0127若AD且BE且CE成立,执行步骤S323;0134S321在步骤S32中,若分组消息所在路由器与目的路由器在同一个。
44、路由器组中,即BE,则判断当前路由器标号C与目的路由器标号F的关系,若CF成立,则分组消息已经被当前路由器转发给相应目的路由器,路由结束;若CF,提供一系列的局部通道即可到达目的路由器。0135在本实施例中,局部通道可为同一路由器组中多个路由器之间连接的通道。0136S322在步骤S32中,若分组消息所在路由器与目的路由器不在同一个路由器组中,且分组消息所在当前路由器标号B小于目的路由器标号E,则在当前路由器组GBRV与目的路由器组GERV连接时,判断目的路由器标号F与V的关系,若FV成立,提供一系列的局部通道即可到达目的路由器;0137若FV,提供一系列的局部通道即可到达目的路由器;若FV,。
45、提供一系列的局部通道即可到达目的路由器;0140若C1,及当前路由器集群与目的路由器集群不相邻,执行步骤S332。0143S331在步骤S31中,分组消息所在路由器所属的集群与目的路由器所属的集群相邻,即DA1,则判断当前路由器组标号B与目的路由器组标号E的关系,若EB1,或者B为路由器集群最后一组路由器,E为路由器集群第一组路由器,及当前路由器组与目的路由器组直接相连,提供一系列局部通道至相连接的路由器;否则,提供一系列局部通道至与目的路由器组相连接的当前路由器集群的路由器组即可。说明书CN104079490A1310/12页140144S332在步骤S31中,分组消息所在路由器所属的集群与。
46、目的路由器所属的集群不相邻,即DA1,则在当前路由器所属集群中路由器组GX,ARV与目的路由器所属集群中路由器组GE,BRV存在连接,且目的路由器标号FV时,可不需要绕路至其他路由器集群即可完成路由,提供局部通道至连接目的路由器所属集群的路由器分组即可;0145否则,直接进行路由不符合负向优先的原则,需要绕路至其他路由器集群,使其符合负向优先的原则。0146S34在步骤S31中,若分组消息所在路由器与目的路由器不在一个集群中,且分组消息所在路由器所属的集群的标号A大于目的路由器所属的集群的标号D,则判断当前路由器所属集群标号A与目的路由器所属集群标号D的关系,若AD1,即当前路由器所属集群与目。
47、的路由器所属集群相邻,执行步骤S341;0147若AD1,即当前路由器所属集群与目的路由器所属集群不相邻,执行步骤S342。0148S341在步骤S34中,若分组消息所在路由器所属的集群与目的路由器所属的集群相邻,则判断当前路由器组标号B与目的路由器组标号E的关系,若BE1,或者B为路由器集群第一组路由器,E为路由器集群最后一组路由器,及当前路由器组与目的路由器组直接相连,提供一系列局部通道至相连接的路由器;否则,提供一系列局部通道至与目的路由器组相连接的当前路由器集群的路由器组即可。0149S342在步骤S34中,若分组消息所在路由器所属的集群与目的路由器所属的集群不相邻,则在当前路由器所属。
48、集群中路由器组GB,ARV与目的路由器所属集群中路由器组GY,BRV存在连接,且目的路由器标号CV时,不需要绕路至其他路由器集群即可完成路由,提供局部通道至连接目的路由器所属集群的路由器分组即可;否则,直接进行路由不符合负向优先的原则,需要绕路至其他路由器集群,使其符合负向优先的原则。0150上述方法,通过对DRAGONFLY互连网络中的路由器进行标号,并采用特定的标号减方向规则或标号增方向规则,不需要使用虚拟通道即可实现无死锁自适应路由,且保证任意路由器之间的通信步长不超过7步。由此,可不依赖虚拟通道来消除死锁可以避免使用虚拟通道分配机制,从而大幅简化路由器设计,减少分组消息延迟,提高网络吞。
49、吐,改善系统性能。0151另一可能的实现方式中,为了便于说明本发明的自适应路由方法,以下举例说明遵循标号减方向规则优先,说明分组消息在DRAGONFLY互连网络中进行路由的过程,该处说明对应上述图3C的内容。0152根据分组消息下一个跳步所使用通道的类型,将其分为安全分组和非安全分组,若分组消息下一个跳步所使用的通道为遵守标号减方向规则的通道,那么对于下一跳步上的节点,该分组消息为安全分组,否则,若分组消息下一个跳步所使用的通道为遵循标号增方向规则的通道,那么对于下一跳步上的节点,该分组消息为非安全分组。0153在本实施例中,设置每一路由器的通道缓冲区具有BUFF个分组大小的缓冲区,即最多可以存储BUFF个分组消息,其中,BUFF为大于或等于2的整数;0154步骤D3分组消息所在当前路由器标号为GAGB,ARC,目的路由器标号为GDGE,DRF,仅考虑最短路由路径的情况下,判断当前路由器所属的集群标号A与目的路由器所属集群标号D的关系,若AD,则表示当前路由器和目的路由器在同一集群中,执行步骤D31;若AD,则表示当前路由器和目的路由器不在同一集群中,执行步骤D32。说明书CN104079490A1411/12页150155步骤D31在步骤D3中,若分组消息所在的路由器与目的路由器在同一个集群中,即AD,则确定。