CN103973564A - 互连网络系统及自适应路由方法 - Google Patents
互连网络系统及自适应路由方法 Download PDFInfo
- Publication number
- CN103973564A CN103973564A CN201310039424.4A CN201310039424A CN103973564A CN 103973564 A CN103973564 A CN 103973564A CN 201310039424 A CN201310039424 A CN 201310039424A CN 103973564 A CN103973564 A CN 103973564A
- Authority
- CN
- China
- Prior art keywords
- router
- label
- groups
- routers
- passage
- 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.)
- Granted
Links
Abstract
本发明公开了一种新型的互连网络系统,所述系统将系统内路由器划分为n个路由器组,所述n个路由器组之间实现全连接,所述每个路由器组包含一个或多个路由器,组内路由器之间实现全连接。基于新型互联网络系统的自适应路由方法,本发明另一方面通过对互联网络系统中的路由器进行标号,并采用特定的标号减方向优先算法或标号增方向优先算法,不需要使用虚拟通道即可实现无死锁部分自适应路由,且保证任意处理器节点之间的通信步长不超过5步。本发明又一方面提出的完全自适应路由方法,利用本发明部分自适应路由方法的无死锁特性,并辅以一种新型流控机制,即可实现无死锁完全自适应路由。
Description
技术领域
本发明涉及分布式计算技术领域,尤其涉及一种互连网络系统及自适应路由方法。
背景技术
互连网络通常实现不同处理节点间的同步和通信,是多处理器系统中连接处理器、存储器、I/O设备的重要组成部分。互连网络是影响整个多处理器系统的性能和扩展性的重要方面。如何在现有技术基础上,为处理节点之间的提供低延迟、高效通信成为互连网络亟待解决的关键问题。
微处理器技术的发展使得单个处理节点的计算能力迅速提高,这也对互连网络的性能提出了更高的要求。实际上,互连网络带宽的增长与微处理器性能的增长有约30%的差距。因此互连网络的延迟和带宽已成为制约多处理器系统性能提高的瓶颈之一。
随着半导体工艺的不断发展以及电路技术的长足进步,串行通道成为有效的信号传输方式。高速串行通道的使用可以大幅度提高单管脚的带宽,从而减少路由器芯片的管脚数目。九十年代初,路由器的管脚带宽限制在10Gbps,而到了二十一世纪,管脚带宽可以达到10~20Tbps。这些技术的进步,使得高阶路由器的实现成为可能。
高阶路由器将成为互连网络的发展趋势,由高阶路由器构成的互连网络通常只需要几个跳步就可以连接数以万计的处理器,可以直接减小网络直径,实现处理器节点之间高效通信,降低消息延迟和实现代价,从而改善系统性能。
2006年Cray公司的Blackwidow超级计算机,首次采用使用了64阶路由芯片,通过Clos网络实现了多达32000处理器之间的互连,其可以保证任意两个处理器之间的距离不超过7个跳步。2012年Cray公司的Cascade超级计算机,采用了48阶路由芯片,通过Droganfly网络实现370216个处理器之间的互连,任意两个处理器之间的距离不超过5个跳步,然而需要使用4条虚拟通道实现无死锁自适应路由。
然而,在现有芯片技术和高阶路由器技术的基础上,如何设计出高效的网络互连拓扑,并提出高效的路由方法成为一个新的亟待解决的研究课题。Blackwidow Clos网络首次采用了高阶路由器,但是网络成本较高,而且网络直径较大,对系统性能有一定影响;CascadeDragonfly网络也采用了高阶路由器,具有高可扩展性和低成本的特点,并且能够提供较小的网络直径,然而需要采用4条虚拟通道来避免死锁,增加了路由器设计复杂度,增大了消息路由延迟,限制了系统性能。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:提供一种基于路由器标号的互连网络系统及其相应的自适应路由方法。该互连网络系统及路由方法不仅保持了Dragonfly网络原有的低成本、高扩展性、低网络直径的特点,而且不需要使用虚拟通道即可实现无死锁部分或完全自适应路由。
(二)技术方案
为解决上述问题,本发明一方面提供了一种互连网络系统,所述系统将系统内路由器划分为n个路由器组,所述n个路由器组之间实现全连接,使得任意两个路由器组之间的通信只需一个跳步;所述每个路由器组包含一个或多个路由器,组内路由器之间实现全连接,使得组内任意两个路由器之间距离为一个跳步,其中n为大于或等于1的整数。
优选地,所述每个路由器组包括m个路由器,其中m为大于或等于1的整数。
优选地,所述系统内的每个路由器包括a个局部端口,p个处理器端口和g个全局端口;所述a个局部端口用于实现路由器组内路由器之间的互连,对应的互连通道即为局部通道;所述p个处理器端口用于实现路由器与处理器节点之间的互连,对应的互连通道即为处理器通道;所述g个全局端口用于实现路由器组之间的互连,对应的互连通道即为全局通道。
优选地,所述每个路由器组内路由器个数m=a+1,所述系统内路由器组数n=mg+1,所述每个路由器组的等效端口数k’=m(p+g)。
本发明另一方面提出了一种互连网络系统的部分自适应路由方法,包括以下步骤:
S1:对互连网络系统的路由器进行标号,其中n个路由器组依次标号为G0,G1,…,Gn-1,每个路由器组中的m个路由器依次标号为R0,R1,…,Rm-1,标号时使得系统内的任一路由器组Gs中最大标号的路由器GsRm-1与路由器组Gt中最小标号的路由器GtR0互连,其中t=(s+1)mod n,即t为s+1除以n的余数,路由器组Gs中最小标号的路由器GsR0与路由器组Gu中最大标号的路由器GuRm-1互连,其中u=(s-1)mod n,即u为s-1除以n的余数;
S2:根据互连网络中通道两端路由器标号的大小,通道方向划分为标号减方向和标号增方向;
S3:消息分组在路由时,遵守标号减方向优先的原则,即所有从源节点路由器到目的节点路由器的路径都由w条标号减方向通道紧随v条标号增方向通道组成,或者遵守标号增方向优先的原则,即所有从源节点路由器到目的节点路由器的路径都由w条标号增方向通道紧随v条标号减方向通道组成,其中w和v均为大于或等于零的整数。
优选地,所述步骤S2在将通道方向划分为标号增方向和标号减方向时,遵循如下原则:
对于任一通道(Gi1Rj1,Gx1Ry1),
若i1>x1,该通道定义为标号减方向;
若i1<x1,该通道定义为标号增方向;
若i1=x1且j1>y1,该通道定义为标号减方向;
若i1=x1且j1<y1,该通道定义为标号增方向。
优选地,所述步骤S3的消息分组在路由时,遵守标号减方向优先的原则。
优选地,所述步骤S3包括以下步骤:
S31:消息分组在路由时,设当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch为消息分组的可选输出通道集合,初始值为空集判断当前节点所在路由器组标号i与目的节点所在路由器组标号x的关系,若i=x成立,进入步骤S32,若i<x成立,进入步骤S33,否则进入步骤S34;
S32:首先判断当前节点所在路由器是否为目的节点所在路由器,如果当前节点所在路由器为目的节点所在路由器,即i=x且j=y,则消息分组已经被路由器转发给相应目的节点,算法结束;否则,即i=x且j≠y,提供局部通道(GiRj,GxRy)即可到达目的节点路由器,Ch=Ch+{(GiRj,GxRy)},返回Ch;
S33:设当前节点所在路由器组中GiRa与目的节点所在路由器组中GxRb是连接的,若满足b≤y且a≠j,那么提供从GiRj到GiRa通道进行路由,Ch=Ch+{(GiRj,GiRa)},若满足b≤y且a=j,那么提供从GiRj到GxRb通道进行路由,Ch=Ch+{(GiRj,GxRb)},设当前节点所在路由器组中GiRc与Gx-1Rd是连接的,若c≠j提供从GiRj到GiRc通道进行路由,Ch=Ch+{(GiRj,GiRc)},若c=j提供从GiRj到Gx-1Rd通道进行路由,Ch=Ch+{(GiRj,Gx-1Rd)},返回Ch;
S34:设当前节点所在路由器组中GiRe与目的节点所在路由器组中GxRf是连接的,若满足e<j时提供从GiRj到GiRe通道进行路由,Ch=Ch+{(GiRj,GiRe)},若满足e=j时提供从GiRj到GxRf通道进行路由,Ch=Ch+{(GiRj,GxRf)},设当前节点所在路由器组中GiRg与Gi-1Rh是连接的,g≠j时提供从GiRj到GiRg通道进行路由,Ch=Ch+{(GiRj,GiRg)},g=j时提供从GiRj到Gi-1Rh通道进行路由,Ch=Ch+{(GiRj,Gi-1Rg)},返回Ch。
本发明又一方面提供了一种互联网络系统的完全自适应路由方法,包括以下步骤:
D1:根据消息分组下一个跳步所使用通道的类型,将其分为安全分组和非安全分组,若消息分组下一个跳步所使用的通道为遵守标号减方向优先原则的通道,那么对于下一跳步上的节点,该消息分组为安全分组,否则为非安全分组;
D2:设置通道缓冲区具有buff个分组大小的缓冲区,即最多可以存储buff个消息分组,其中,buff为大于或等于2的整数;
D3:记当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch1为消息分组的满足标号减方向优先的所有输出通道集合,若i=x且j=y,分组已经到达目的节点,路由结束,否则,调用上述的互连网络系统的部分自适应路由方法,为消息分组提供满足标号减方向优先的所有输出通道集合Ch1;
D4:记当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch2为消息分组的满足最短路径的所有输出通道集合,对于Ch2,若i=x且j=y,分组已经到达目的节点,路由结束,若i=x且j≠y,Ch2={(GiRj,GxRy),若i≠x,设当前路由器组中GiRa与目的组中GxRb是连接的,如果a≠j,那么提供从GiRj到GiRa通道进行路由,Ch2={(GiRj,GiRa)},如果a=j,那么提供从GiRj到GxRb通道进行路由,Ch2={(GiRj,GxRb)};
D5:对于步骤D4中得到的满足最短路径的所有输出通道集合Ch2,分别加以考虑,假设消息分组按照Ch2提供的最短路径到达下一个路由器节点所对应的通道有f个缓冲区空闲,s个缓冲区存储安全分组,有以下流控机制:
若f>1,那么消息分组可以使用Ch2提供的通道前进到下一个节点,
若f=1且s≥1,那么消息分组可以使用Ch2提供的通道前进到下一个节点,
若f=1且s=0,并且消息分组对于Ch2提供的下一跳步通道是安全分组,那么分组可以使用Ch2提供的通道前进到下一个节点,
其他情况下,消息分组不可以利用Ch2提供的通道前进到下一个节点,Ch2路径被清空,即
D6:根据步骤D3提供的输出通道集合Ch1,以及经过步骤D5处理后的Ch2,得到完全自适应路由算法所能够提供的所有输出通道集合Ch3,所述Ch3=Ch1+Ch2,返回Ch3。
优选地,所述步骤D1将消息分组划分为安全分组和非安全分组时,若消息分组下一个跳步所使用的通道为遵守标号增方向优先原则的通道,那么对于下一跳步上的节点,该消息分组为安全分组;否则为非安全分组;所述步骤D3中Ch1为消息分组的满足标号增方向优先的所有输出通道集合,调用上述的互连网络系统的部分自适应路由方法时,为消息分组提供满足标号增方向优先的所有输出通道集合Ch1。
(三)有益效果
本发明提出了一种新型的互连网络系统,所述系统不仅保持了Dragonfly网络原有的低成本、高扩展性、低网络直径的特点,而且有利于本发明提出的自适应路由方法的实现。本发明提出的基于新型互联网络系统的自适应路由方法,通过对互联网络系统中的路由器进行标号,并采用特定的标号减方向优先算法或标号增方向优先算法,不需要使用虚拟通道即可实现无死锁自适应路由,且保证任意处理器节点之间的通信步长不超过5步。本发明提出的互连网络系统及路由方法,由于不依赖虚拟通道来消除死锁可以避免使用虚拟通道分配机制,从而大幅简化路由器设计,减少消息延迟,提高网络吞吐,改善系统性能。最后,本发明提出的完全自适应路由方法,利用本发明路由方法的无死锁特性,并辅以一种新型流控机制,即可实现无死锁完全自适应路由,该完全自适应路由方法允许消息通过所有的最短路径到达目的节点,从而有效提高通道使用率,提高网络吞吐。另外流控机制适用于所有虚切通交换网络,不需要虚拟通道即可实现完全自适应路由。
附图说明
图1为本发明实施例的互连网络系统的结构示意图;
图2为本发明实施例的互连网络系统的连接关系示意图;
图3为本发明实施例的部分自适应路由方法的步骤S3的流程示意图;
图4为本发明实施例的无死锁部分自适应路由方法的跳步示意图;
图5为本发明实施例的无死锁部分自适应路由方法的流程示意图;
图6(a)为产生死锁的路由方法示意图;
图6(b)为环状依赖所导致的死锁示意图;
图6(c)为采用标号减方向优先方法之后,消除死锁配置的示意图;
图7为本发明实施例的部分自适应路由方法的流程示意图;
图8为本发明实施例的完全自适应路由方法的流程示意图。
具体实施方式
下面结合附图及实施例对本发明进行详细说明如下。
如图1所示,本发明提出的一种互连网络系统,所述系统将系统内路由器划分为n个路由器组,所述n个路由器组之间实现全连接,使得任意两个路由器组之间的通信只需一个跳步;所述每个路由器组包含一个或多个路由器,组内路由器之间实现全连接,使得组内任意两个路由器之间距离为一个跳步,其中n为大于或等于1的整数。
为了网络系统的整齐和路由算法的方便,可设定每个路由器组包括m个路由器,其中m为大于或等于1的整数。
所述系统内的路由器可为k阶路由器,每个k阶路由器包括a个局部端口,p个处理器端口和g个全局端口;所述a、p、g均为大于或等于1的整数。所述a个局部端口用于实现路由器组内路由器之间的互连,对应的互连通道即为局部通道;所述p个处理器端口用于实现路由器与处理器节点之间的互连,对应的互连通道即为处理器通道;所述g个全局端口用于实现路由器组之间的互连,对应的互连通道即为全局通道,有k=p+a+g。由于m个路由器组成一个路由器组,为了实现路由器组内路由器之间的全连接,局部端口数a=m-1,为了实现路由器组之间的全连接,全局端口数g=(n-1)/m。同时,处理器节点的总个数为nmp,所述每个路由器组的等效端口数k’=m(p+g)。
图2即给出了本发明的互连网络的一个具体实施例,在该互连网络中,m=4,p=2,g=2,n=9,如图2所示,组内路由器之间采用全连接网络,保证任意两个路由器之间距离为一个跳步;组间互连网络也采用全连接网络,保证任意两个路由器组之间都有一个全局通道。
基于本发明提出的上述互连网络系统,如图7所示,本发明另一方面提出的互连网络系统的部分自适应路由方法包括以下步骤:
S1:对互连网络系统的路由器进行标号,其中n个路由器组依次标号为G0,G1,…,Gn-1,每个路由器组中的m个路由器依次标号为R0,R1,…,Rm-1,由此可以使得每一个路由器均可以由其组标号和组内标号唯一确定。
同时,标号时使得系统内的任一路由器组Gs中最大标号的路由器GsRm-1与路由器组Gt中最小标号的路由器GtR0互连,其中t=(s+1)mod n,即t为s+1除以n的余数;路由器组Gs中最小标号的路由器GsR0与路由器组Gu中最大标号的路由器GuRm-1互连,其中u=(s-1)mod n,即u为s-1除以n的余数;
S2:根据互连网络中通道两端路由器标号的大小,通道方向划分为标号减方向和标号增方向。
由于每条通道都要连接两个路由器,因此,对于前端路由器为Gi1Rj1,后端路由器为Gx1Ry1的通道,在将通道方向划分为标号增方向和标号减方向时,遵循如下原则:
对于任一通道(Gi1Rj1,Gx1Ry1),
若i1>x1,该通道定义为标号减方向;
若i1<x1,该通道定义为标号增方向;
若i1=x1且j1>y1,该通道定义为标号减方向;
若i1=x1且j1<y1,该通道定义为标号增方向。
S3:消息分组在路由时,遵守标号减方向优先的原则,即所有从源节点路由器到目的节点路由器的路径都由w条标号减方向通道紧随v条标号增方向通道组成。或者遵守标号增方向优先的原则,即所有从源节点路由器到目的节点路由器的路径都由w条标号增方向通道紧随v条标号减方向通道组成。
其中w和v均为大于或等于零的整数。
为了便于说明本发明的技术方案,本发明实施例的步骤S3中消息分组在路由时,遵守标号减方向优先的原则。
步骤S3中所述的消息分组在路由时遵守标号减方向优先原则的一个实施例包括如图3所示的以下步骤:
S31:消息分组在路由时,设当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch为消息分组的可选输出通道集合,初始值为空集判断当前节点所在路由器组标号i与目的节点所在路由器组标号x的关系,若i=x成立,进入步骤S32,若i<x成立,进入步骤S33,否则进入步骤S34;
S32:首先判断当前节点所在路由器是否为目的节点所在路由器,如果当前节点所在路由器为目的节点所在路由器,即i=x且j=y,则消息分组已经被路由器转发给相应目的节点,算法结束;否则,即i=x且j≠y,提供局部通道(GiRj,GxRy)即可到达目的节点路由器,Ch=Ch+{(GiRj,GxRy)},返回Ch;
S33:设当前节点所在路由器组中GiRa与目的节点所在路由器组中GxRb是连接的,若满足b≤y且a≠j,那么提供从GiRj到GiRa通道进行路由,Ch=Ch+{(GiRj,GiRa)},若满足b≤y且a=j,那么提供从GiRj到GxRb通道进行路由,Ch=Ch+{(GiRj,GxRb)},设当前节点所在路由器组中GiRc与Gx-1Rd是连接的,若c≠j提供从GiRj到GiRc通道进行路由,Ch=Ch+{(GiRj,GiRc)},若c=j提供从GiRj到Gx-1Rd通道进行路由,Ch=Ch+{(GiRj,Gx-1Rd)},返回Ch;
S34:设当前节点所在路由器组中GiRe与目的节点所在路由器组中GxRf是连接的,若满足e<j时提供从GiRj到GiRe通道进行路由,Ch=Ch+{(GiRj,GiRe)},若满足e=j时提供从GiRj到GxRf通道进行路由,Ch=Ch+{(GiRj,GxRf)},设当前节点所在路由器组中GiRg与Gi-1Rh是连接的,g≠j时提供从GiRj到GiRg通道进行路由,Ch=Ch+{(GiRj,GiRg)},g=j时提供从GiRj到Gi-1Rh通道进行路由,Ch=Ch+{(GiRj,Gi-1Rg)},返回Ch。
基于本发明的上述部分自适应路由方法,如图8所示,本发明又一方面提出了一种互联网络系统的完全自适应路由方法,包括以下步骤:
D1:根据消息分组下一个跳步所使用通道的类型,将其分为安全分组和非安全分组,将消息分组划分为安全分组和非安全分组时可遵循如下标准:
若消息分组下一个跳步所使用的通道为遵守标号减方向优先原则的通道,那么对于下一跳步上的节点,该消息分组为安全分组;否则为非安全分组。
D2:设置通道缓冲区具有buff个分组大小的缓冲区,即最多可以存储buff个消息分组,其中,buff为大于或等于2的整数;
D3:记当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch1为消息分组的满足标号减方向优先的所有输出通道集合,若i=x且j=y,分组已经到达目的节点,路由结束,否则,调用上述的互连网络系统的部分自适应路由方法,为消息分组提供满足标号减方向优先的所有输出通道集合Ch1;
D4:记当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch2为消息分组的满足最短路径的所有输出通道集合,对于Ch2,若i=x且j=y,分组已经到达目的节点,路由结束,若i=x且j≠y,Ch2={(GiRj,GxRy),若i≠x,设当前路由器组中GiRa与目的组中GxRb是连接的,如果a≠j,那么提供从GiRj到GiRa通道进行路由,Ch2={(GiRj,GiRa)},如果a=j,那么提供从GiRj到GxRb通道进行路由,Ch2={(GiRj,GxRb)};
D5:对于步骤D4中得到的满足最短路径的所有输出通道集合Ch2,分别加以考虑,假设消息分组按照Ch2提供的最短路径到达下一个路由器节点所对应的通道有f个缓冲区空闲,s个缓冲区存储安全分组,有以下流控机制:
若f>1,那么消息分组可以使用Ch2提供的通道前进到下一个节点,
若f=1且s≥1,那么消息分组可以使用Ch2提供的通道前进到下一个节点,
若f=1且s=0,并且消息分组对于Ch2提供的下一跳步通道是安全分组,那么分组可以使用Ch2提供的通道前进到下一个节点,
其他情况下,消息分组不可以利用Ch2提供的通道前进到下一个节点,Ch2路径被清空,即
通过本步骤的处理,使得消息分组在利用Ch2提供的通道后也不会出现死锁的情况。
D6:根据步骤D3提供的输出通道集合Ch1,以及经过步骤D5处理后的Ch2,得到完全自适应路由算法所能够提供的所有输出通道集合Ch3,所述Ch3=Ch1+Ch2,返回Ch3。
当然,也可以以标号增方向的原则来设计完全自适应路由方法,所述方法包括以下步骤:D1:根据消息分组下一个跳步所使用通道的类型,将其分为安全分组和非安全分组,若消息分组下一个跳步所使用的通道为遵守标号增方向优先原则的通道,那么对于下一跳步上的节点,该消息分组为安全分组,否则为非安全分组;
D2:设置通道缓冲区具有buff个分组大小的缓冲区,即最多可以存储buff个消息分组,其中,buff为大于或等于2的整数;
D3:记当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch1为消息分组的满足标号增方向优先的所有输出通道集合,若i=x且j=y,分组已经到达目的节点,路由结束,否则,调用上述的互连网络系统的部分自适应路由方法,为消息分组提供满足标号增方向优先的所有输出通道集合Ch1;
D4:记当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch2为消息分组的满足最短路径的所有输出通道集合,对于Ch2,若i=x且j=y,分组已经到达目的节点,路由结束,若i=x且j≠y,Ch2={(GiRj,GxRy),若i≠x,设当前路由器组中GiRa与目的组中GxRb是连接的,如果a≠j,那么提供从GiRj到GiRa通道进行路由,Ch2={(GiRj,GiRa)},如果a=j,那么提供从GiRj到GxRb通道进行路由,Ch2={(GiRj,GxRb)};
D5:对于步骤D4中得到的满足最短路径的所有输出通道集合Ch2,分别加以考虑,假设消息分组按照Ch2提供的最短路径到达下一个路由器节点所对应的通道有f个缓冲区空闲,s个缓冲区存储安全分组,有以下流控机制:
若f>1,那么消息分组可以使用Ch2提供的通道前进到下一个节点,
若f=1且s≥1,那么消息分组可以使用Ch2提供的通道前进到下一个节点,
若f=1且s=0,并且消息分组对于Ch2提供的下一跳步通道是安全分组,那么分组可以使用Ch2提供的通道前进到下一个节点,
其他情况下,消息分组不可以利用Ch2提供的通道前进到下一个节点,Ch2路径被清空,即
D6:根据步骤D3提供的输出通道集合Ch1,以及经过步骤D5处理后的Ch2,得到完全自适应路由算法所能够提供的所有输出通道集合Ch3,所述Ch3=Ch1+Ch2,返回Ch3。
图4为本发明的部分自适应路由方法的两个应用实例,分别为(源节点G0R1,目的节点G3R1)和(源节点G3R1,目的节点G0R1),根据上述标号减方向优先的无死锁部分自适应路由方法,分别为消息提供了如下路径:
对于(源节点G0R1,目的节点G3R1)提供了如下路径:(G0R1,G2R1)—>(G2R1,G2R2)—>(G2R2,G3R0)—>(G3R0,G3R1);
对于(源节点G3R1,目的节点G0R1)提供了如下路径:(G3R1,G3R0)->(G3R0,G2R2)->(G2R2,G2R1)>(G2R1,G0R1)。
图5示出了本发明的互连网络系统及自适应路由方法对于任意两个节点之间进行通信时,标号减方向优先算法总能够保证消息分组在5个跳步之内到达目的节点。图中以GiRj为源节点路由器,GxRy为目的节点路由器。根据本发明的基于标号减方向优先的无死锁自适应路由方法,总能为消息提供如下路径:
对于i<x的情况下,无死锁自适应路由方法总能为消息提供如下路径:(GiRj,GiRc)—>(GiRc,Gx-1Rd)—>(Gx-1Rd,Gx-1Rmax)—>(Gx-1Rmax,GxR0)—>(GxR0,GxRy);
对于i>x的情况下,无死锁自适应路由方法总能为消息提供如下路径:(GiRj,GiR0)—>(GiR0,Gi-1Rmax)—>(Gi-1Rmax,Gi-1Rd)—>(Gi-1Rd,GxRc)—>(GxRc,GxRy)。
其中,max下标代表路由器组中最大标号路由器。
本发明的自适应路由方法能够避免死锁的原理如下:考虑死锁产生的四个必要条件:资源互斥,请求与保持,非抢占式以及循环等待。因此,采用标号减方向优先方法,可以通过消除循环状等待的方式,进行死锁的避免。例如,在图6(a)所示的路由方法形成的死锁如图6(b)所示,限制部分路径等待之后,解除了循环通道依赖关系,即可避免死锁,如图6(c)所示。因此,本发明实施例的自适应路由方法能够在不使用虚拟通道条件下实现该网络中的自适应路由。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种互连网络系统,其特征在于,所述系统将系统内路由器划分为n个路由器组,所述n个路由器组之间实现全连接,使得任意两个路由器组之间的通信只需一个跳步;所述每个路由器组包含一个或多个路由器,组内路由器之间实现全连接,使得组内任意两个路由器之间距离为一个跳步,其中n为大于或等于1的整数。
2.如权利要求1所述的互连网络系统,其特征在于,所述每个路由器组包括m个路由器,其中m为大于或等于1的整数。
3.如权利要求1或2所述的互连网络系统,其特征在于,所述系统内的每个路由器包括a个局部端口,p个处理器端口和g个全局端口;所述a个局部端口用于实现路由器组内路由器之间的互连,对应的互连通道即为局部通道;所述p个处理器端口用于实现路由器与处理器节点之间的互连,对应的互连通道即为处理器通道;所述g个全局端口用于实现路由器组之间的互连,对应的互连通道即为全局通道。
4.如权利要求3所述的互连网络系统,其特征在于,所述每个路由器组内路由器个数m=a+1,所述系统内路由器组数n=mg+1,所述每个路由器组的等效端口数k’=m(p+g)。
5.一种互连网络系统的部分自适应路由方法,其特征在于,包括以下步骤:
S1:对互连网络系统的路由器进行标号,其中n个路由器组依次标号为G0,G1,…,Gn-1,每个路由器组中的m个路由器依次标号为R0,R1,…,Rm-1,标号时使得系统内的任一路由器组Gs中最大标号的路由器GsRm-1与路由器组Gt中最小标号的路由器GtR0互连,其中t=(s+1)mod n,即t为s+1除以n的余数,路由器组Gs中最小标号的路由器GsR0与路由器组Gu中最大标号的路由器GuRm-1互连,其中u=(s-1)mod n,即u为s-1除以n的余数;
S2:根据互连网络中通道两端路由器标号的大小,通道方向划分为标号减方向和标号增方向;
S3:消息分组在路由时,遵守标号减方向优先的原则,即所有从源节点路由器到目的节点路由器的路径都由w条标号减方向通道紧随v条标号增方向通道组成,或者遵守标号增方向优先的原则,即所有从源节点路由器到目的节点路由器的路径都由w条标号增方向通道紧随v条标号减方向通道组成,其中w和v均为大于或等于零的整数。
6.如权利要求5所述的互连网络系统的部分自适应路由方法,其特征在于,所述步骤S2在将通道方向划分为标号增方向和标号减方向时,遵循如下原则:
对于任一通道(Gi1Rj1,Gx1Ry1),
若i1>x1,该通道定义为标号减方向;
若i1<x1,该通道定义为标号增方向;
若i1=x1且j1>y1,该通道定义为标号减方向;
若i1=x1且j1<y1,该通道定义为标号增方向。
7.如权利要求5所述的互连网络系统的部分自适应路由方法,其特征在于,所述步骤S3的消息分组在路由时,遵守标号减方向优先的原则。
8.如权利要求7所述的互连网络系统的部分自适应路由方法,其特征在于,所述步骤S3包括以下步骤:
S31:消息分组在路由时,设当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch为消息分组的可选输出通道集合,初始值为空集判断当前节点所在路由器组标号i与目的节点所在路由器组标号x的关系,若i=x成立,进入步骤S32,若i<x成立,进入步骤S33,否则进入步骤S34;
S32:首先判断当前节点所在路由器是否为目的节点所在路由器,如果当前节点所在路由器为目的节点所在路由器,即i=x且j=y,则消息分组已经被路由器转发给相应目的节点,算法结束;否则,即i=x且j≠y,提供局部通道(GiRj,GxRy)即可到达目的节点路由器,Ch=Ch+{(GiRj,GxRy)},返回Ch;
S33:设当前节点所在路由器组中GiRa与目的节点所在路由器组中GxRb是连接的,若满足b≤y且a≠j,那么提供从GiRj到GiRa通道进行路由,Ch=Ch+{(GiRj,GiRa)},若满足b≤y且a=j,那么提供从GiRj到GxRb通道进行路由,Ch=Ch+{(GiRj,GxRb)},设当前节点所在路由器组中GiRc与Gx-1Rd是连接的,若c≠j提供从GiRj到GiRc通道进行路由,Ch=Ch+{(GiRj,GiRc)},若c=j提供从GiRj到Gx-1Rd通道进行路由,Ch=Ch+{(GiRj,Gx-1Rd)},返回Ch;
S34:设当前节点所在路由器组中GiRe与目的节点所在路由器组中GxRf是连接的,若满足e<j时提供从GiRj到GiRe通道进行路由,Ch=Ch+{(GiRj,GiRe)},若满足e=j时提供从GiRj到GxRf通道进行路由,Ch=Ch+{(GiRj,GxRf)},设当前节点所在路由器组中GiRg与Gi-1Rh是连接的,g≠j时提供从GiRj到GiRg通道进行路由,Ch=Ch+{(GiRj,GiRg)},g=j时提供从GiRj到Gi-1Rh通道进行路由,Ch=Ch+{(GiRj,Gi-1Rg)},返回Ch。
9.一种互联网络系统的完全自适应路由方法,其特征在于,包括以下步骤:
D1:根据消息分组下一个跳步所使用通道的类型,将其分为安全分组和非安全分组,若消息分组下一个跳步所使用的通道为遵守标号减方向优先原则的通道,那么对于下一跳步上的节点,该消息分组为安全分组,否则为非安全分组;
D2:设置通道缓冲区具有buff个分组大小的缓冲区,即最多可以存储buff个消息分组,其中,buff为大于或等于2的整数;
D3:记当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch1为消息分组的满足标号减方向优先的所有输出通道集合,若i=x且j=y,分组已经到达目的节点,路由结束,否则,调用如权利要求5所述的互连网络系统的部分自适应路由方法,为消息分组提供满足标号减方向优先的所有输出通道集合Ch1;
D4:记当前节点所在路由器为GiRj,目的节点所在路由器为GxRy,Ch2为消息分组的满足最短路径的所有输出通道集合,对于Ch2,若i=x且j=y,分组已经到达目的节点,路由结束,若i=x且j≠y,Ch2={(GiRj,GxRy),若i≠x,设当前路由器组中GiRa与目的组中GxRb是连接的,如果a≠j,那么提供从GiRj到GiRa通道进行路由,Ch2={(GiRj,GiRa)},如果a=j,那么提供从GiRj到GxRb通道进行路由,Ch2={(GiRj,GxRb)};
D5:对于步骤D4中得到的满足最短路径的所有输出通道集合Ch2,分别加以考虑,假设消息分组按照Ch2提供的最短路径到达下一个路由器节点所对应的通道有f个缓冲区空闲,s个缓冲区存储安全分组,有以下流控机制:
若f>1,那么消息分组可以使用Ch2提供的通道前进到下一个节点,
若f=1且s≥1,那么消息分组可以使用Ch2提供的通道前进到下一个节点,
若f=1且s=0,并且消息分组对于Ch2提供的下一跳步通道是安全分组,那么分组可以使用Ch2提供的通道前进到下一个节点,
其他情况下,消息分组不可以利用Ch2提供的通道前进到下一个节点,Ch2路径被清空,即
D6:根据步骤D3提供的输出通道集合Ch1,以及经过步骤D5处理后的Ch2,得到完全自适应路由算法所能够提供的所有输出通道集合Ch3,所述Ch3=Ch1+Ch2,返回Ch3。
10.如权利要求9所述的互联网络系统的完全自适应路由方法,其特征在于,所述步骤D1将消息分组划分为安全分组和非安全分组时,若消息分组下一个跳步所使用的通道为遵守标号增方向优先原则的通道,那么对于下一跳步上的节点,该消息分组为安全分组;否则为非安全分组;所述步骤D3中Ch1为消息分组的满足标号增方向优先的所有输出通道集合,调用如权利要求5所述的互连网络系统的部分自适应路由方法时,为消息分组提供满足标号增方向优先的所有输出通道集合Ch1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310039424.4A CN103973564B (zh) | 2013-01-31 | 2013-01-31 | 互连网络系统的自适应路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310039424.4A CN103973564B (zh) | 2013-01-31 | 2013-01-31 | 互连网络系统的自适应路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973564A true CN103973564A (zh) | 2014-08-06 |
CN103973564B CN103973564B (zh) | 2017-12-15 |
Family
ID=51242626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310039424.4A Active CN103973564B (zh) | 2013-01-31 | 2013-01-31 | 互连网络系统的自适应路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103973564B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196461A1 (en) * | 2014-06-27 | 2015-12-30 | Tsinghua University | Deadlock-free adaptive routing of interconnect network |
CN108011784A (zh) * | 2017-12-11 | 2018-05-08 | 湖南工程学院 | 一种网络最差连通性能的动态优化方法 |
CN108234310A (zh) * | 2016-12-12 | 2018-06-29 | 清华大学 | 多层次互连网络、自适应路由方法及路由设备 |
CN108337196A (zh) * | 2017-12-29 | 2018-07-27 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN110324249A (zh) * | 2018-03-28 | 2019-10-11 | 清华大学 | 一种蜻蜓网络架构及其组播路由方法 |
CN110324243A (zh) * | 2018-03-28 | 2019-10-11 | 清华大学 | 蜻蜓网络架构及其广播路由方法 |
CN117135110A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 一种自适应路由方法、装置、系统、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656808B (zh) * | 2016-10-10 | 2019-08-02 | 清华大学 | 一种二级全连接互连网络的容错完全自适应路由方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100049942A1 (en) * | 2008-08-20 | 2010-02-25 | John Kim | Dragonfly processor interconnect network |
EP2461254A1 (en) * | 2010-11-05 | 2012-06-06 | Cray Inc. | Table-driven routing in a dragonfly processor interconnect network |
US20120144064A1 (en) * | 2010-11-05 | 2012-06-07 | Cray Inc. | Progressive adaptive routing in a dragonfly processor interconnect network |
-
2013
- 2013-01-31 CN CN201310039424.4A patent/CN103973564B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100049942A1 (en) * | 2008-08-20 | 2010-02-25 | John Kim | Dragonfly processor interconnect network |
EP2461254A1 (en) * | 2010-11-05 | 2012-06-06 | Cray Inc. | Table-driven routing in a dragonfly processor interconnect network |
US20120144064A1 (en) * | 2010-11-05 | 2012-06-07 | Cray Inc. | Progressive adaptive routing in a dragonfly processor interconnect network |
Non-Patent Citations (2)
Title |
---|
JOHN KIM 等: "Technology-Driven, Highly-Scalable Dragonfly Topology", 《INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE》 * |
NAN JIANG 等: "Indirect Adaptive Routing on Large Scale Interconnection Networks", 《ISCA’09》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196461A1 (en) * | 2014-06-27 | 2015-12-30 | Tsinghua University | Deadlock-free adaptive routing of interconnect network |
CN108234310A (zh) * | 2016-12-12 | 2018-06-29 | 清华大学 | 多层次互连网络、自适应路由方法及路由设备 |
CN108234310B (zh) * | 2016-12-12 | 2021-06-15 | 清华大学 | 多层次互连网络、自适应路由方法及路由设备 |
CN108011784A (zh) * | 2017-12-11 | 2018-05-08 | 湖南工程学院 | 一种网络最差连通性能的动态优化方法 |
CN108011784B (zh) * | 2017-12-11 | 2020-09-08 | 湖南工程学院 | 一种网络最差连通性能的动态优化方法 |
CN108337196A (zh) * | 2017-12-29 | 2018-07-27 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN110324249A (zh) * | 2018-03-28 | 2019-10-11 | 清华大学 | 一种蜻蜓网络架构及其组播路由方法 |
CN110324243A (zh) * | 2018-03-28 | 2019-10-11 | 清华大学 | 蜻蜓网络架构及其广播路由方法 |
CN110324249B (zh) * | 2018-03-28 | 2023-05-26 | 清华大学 | 一种蜻蜓网络架构及其组播路由方法 |
CN117135110A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 一种自适应路由方法、装置、系统、设备及存储介质 |
CN117135110B (zh) * | 2023-10-25 | 2024-03-01 | 苏州元脑智能科技有限公司 | 一种自适应路由方法、装置、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103973564B (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103973564A (zh) | 互连网络系统及自适应路由方法 | |
US7555001B2 (en) | On-chip packet-switched communication system | |
JP5083464B2 (ja) | ネットワークオンチップとネットワークルーティング方法とシステム | |
US9600440B2 (en) | Network topology of hierarchical ring with recursive shortcuts | |
Escudero-Sahuquillo et al. | A new proposal to deal with congestion in InfiniBand-based fat-trees | |
Wang et al. | RPNoC: A ring-based packet-switched optical network-on-chip | |
CN104079490B (zh) | 多层次的dragonfly互连网络及自适应路由方法 | |
CN108234310A (zh) | 多层次互连网络、自适应路由方法及路由设备 | |
Alshahrani et al. | Modeling and simulation of data center networks | |
CN111224883B (zh) | 一种高阶路由器的瓦片结构及其构建的高阶路由器 | |
CN104022950B (zh) | 一种可共享和自配置缓存的路由器结构 | |
CN110460546B (zh) | 一种基于片上网络的数据采集方法 | |
Escudero-Sahuquillo et al. | Cost-effective congestion management for interconnection networks using distributed deterministic routing | |
Ebrahimi et al. | Partitioning methods for unicast/multicast traffic in 3D NoC architecture | |
Cai et al. | Design and OPNET implementation of routing algorithm in 3D optical network on chip | |
WO2015196461A1 (en) | Deadlock-free adaptive routing of interconnect network | |
CN110198268A (zh) | 高维度Torus网络架构及自适应路由方法 | |
Thamarakuzhi et al. | 2-dilated flattened butterfly: A nonblocking switching topology for high-radix networks | |
Escudero-Sahuquillo et al. | FBICM: Efficient congestion management for high-performance networks using distributed deterministic routing | |
Yébenes et al. | Modeling a switch architecture with virtual output queues and virtual channels in HPC-systems simulators | |
Mirjalily et al. | An approach to select the best spanning tree in Metro Ethernet networks | |
JP2004147060A (ja) | ネットワークシステム | |
Zhang et al. | A DFTR router architecture for 3D network on chip | |
Hassan et al. | DPSB: Dual port shared buffer mechanism for efficient buffer utilization in Network on Chip routers | |
Chi et al. | Tree-Based Routing for Faulty On-Chip Networks with Mesh Topology |
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 |