一种混合网络拓扑结构及其路由方法

文档序号:32617414发布日期:2022-12-20 21:44阅读:53来源:国知局
一种混合网络拓扑结构及其路由方法

1.本发明属于网络技术领域,具体涉及一种混合网络拓扑结构及其路由方法。


背景技术:

2.当前高性能计算集群正在向e级计算规模发展,网络拓扑结构代表了集群中的各类节点的连接规则,也面临更加严峻的性能挑战,需要设计一个扩展性和通信性能更好的网络拓扑结构,来保证高性能计算集群拥有更大的计算节点规模以及更好的通信性能。
3.网络拓扑结构与应用的通信特征相匹配,则可以显著提升网络的通信性能和网络资源利用率,降低资源成本和能耗开销。高性能计算应用普遍都包括点对点通信和全局通信两种通信模式,应用向大规模扩展时,其核心算法部分的点对点通信的时间占比高,有显著的通信局部性特征;同时全局通信对程序运行时间的影响也越来越大,这就要求网络拓扑结构节点度高、网络直径低。
4.直接网络3d-torus和间接网络fat-tree是高性能互连领域常用的两种网络拓扑,例如美国的blue gene/l的网络拓扑是3d-torus,中国的神威
·
太湖之光的网络拓扑是fat-tree。但是3d-torus的网络直径会随着节点规模的增大而线性增大,极大地影响通信的性能。而fat-tree每个终端节点只连接一个边缘交换机,当该交换机无法使用时,会有一组终端节点无法使用,容错性不高;且终端节点之间不互联,不适合局部通信占比高或alltoall集合通信类型的高性能应用。


技术实现要素:

5.为了克服现有技术的不足,本发明提供了一种混合网络拓扑结构及其路由方法,混合网络拓扑结构,包括直接子网络3d-torus结构和间接子网络多层交换机组成的树状网络结构,其中多个直接子网络之间通过间接子网络连接;直接子网络为规模是n
×n×
n且删除部分连接的3d-torus结构,间接子网络为两层交换机构成的树状网络结构;在混合网络拓扑结构中对报文采用路由方法进行传输。本发明具有结构规整、网络直径小、带宽高、传输时延低的优点,既适合局部通信,也适合全局通信,并且可支持大规模高效通信。
6.本发明解决其技术问题所采用的技术方案包括如下步骤:
7.一种混合网络拓扑结构,包括间接子网络和k个直接子网络;所述k个直接子网络通过间接子网络连接;
8.单个直接子网络为规模是n
×n×
n且删除部分连接的3d-torus结构,用x、y、z表示直接子网络的节点在3d-torus结构中的坐标,x、y、z的取值均为0,1,

,n-1;删除部分连接的规则如下:将3d-torus结构中由边界节点之间的互连产生了横跨整个3d-torus结构的链路定义为长连接;删除所有y方向的长连接,x方向上删除y=1~n-2时的长连接,z方向删除x=1~n-2且y=1~n-2时的长连接;
9.所述间接子网络为两层交换机构成的树状网络结构;第一层交换机称为边缘交换机,边缘交换机与直接子网络直接连接;第二层交换机称为核心交换机,核心交换机与边缘
交换机直接连接;
10.定义直接子网络中x、y、z任意一个坐标值为0或者n-1的节点为边缘节点,直接子网络中只有边缘节点连接边缘交换机,处于直接子网络内部的(n-2)3个节点不连接边缘交换机,直接子网络与(n
3-(n-2)
3-2*(n-2)2)/2n+1=2n-1个边缘交换机连接,边缘交换机的编号为a,a=1,2,

,2n-1,直接子网络与2n-1个边缘交换机共同组成一个pod;k个直接子网络构成k个pod;
11.每个pod中,直接子网络中的边缘节点均会与边缘交换机连接,2n-2个边缘交换机每个连接2n个边缘节点,另1个边缘交换机会连接2(n-2)2个边缘节点,具体连接方式如下:
12.首先对于x、z任意一个方向的值等于0或者n-1的节点,通过x+(-1)
[((x-z)*2)/n+1]
*z+[(n+1)/2]计算其连接的边缘交换机序号,而剩下节点的坐标为:y=0时x=1~n-2、z=1~n-2,总共(n-2)2个节点以及坐标为:y=n-1时x=1~n-2、z=1~n-2,总共(n-2)2个节点,连接至编号为2n-1的边缘交换机,设定节点属于与其连接的边缘交换机;对于直接子网络内部没有连接边缘交换机的节点,在与它距离最短的边缘节点中选择负载最小的边缘交换机作为目的节点所属的边缘交换机;
[0013]
边缘交换机与核心交换机组成树状网络,连接方式如下:pod个数为k,边缘交换机总数为(2n-1)
×
k,核心交换机的总数也为(2n-1)
×
k;将核心交换机分为(2n-1)组,每组包括k个核心交换机,核心交换机的组编号为c,c=1,2,

,2n-1;第c组的每个核心交换机均会分别连接每个pod中的编号为a=c的边缘交换机。
[0014]
优选地,所述n=4。
[0015]
一种应用于上述混合网络拓扑结构的路由方法,包括如下步骤:
[0016]
步骤1:定义自适应维序路由算法;
[0017]
报文按照x、y、z维的顺序进行路由,先测试x方向上的通道状态,若x方向通道空闲,则沿x方向通道传输报文;若发现x方向通道拥塞时,再测试y、z方向通道的状态,y、z方向通道哪个空闲就沿该方向进行报文的传输;
[0018]
步骤2:在进行报文传输时,当源节点和目的节点位于同一pod内时,路由包括以下步骤:
[0019]
步骤2-1:判断源节点与目的节点之间的直接子网络路径是否大于2跳,若不大于2跳,则通过直接子网络路由到目的节点;若大于2跳,比较源节点与目的节点所属的边缘交换机的编号是否相同;
[0020]
步骤2-2:若相同,则报文路由到目的节点所属的边缘交换机,如果目的节点与边缘交换机直接连接,则报文由边缘交换机路由至目的节点;否则边缘交换机将报文发送至其直接连接的节点中距离目的节点最近的节点,再经过直接子网络路由到目的节点;
[0021]
步骤2-3:若不同,源节点与目的节点不属于同一个边缘交换机,则源节点先通过直接子网络的自适应维序路由到与目的节点属于同一个边缘交换机的节点,后续的步骤同步骤2-2;
[0022]
步骤3:当源节点和目的节点位于不同pod内时,此时报文需跨pod进行路由,包括以下步骤:
[0023]
步骤3-1:判断源节点与目的节点所连接的边缘交换机编号是否相同,若相同,报文直接在间接子网络内进行传输,直接转到步骤3-3,若不同,则先在直接子网络内进行传
输,转到步骤3-2;
[0024]
步骤3-2:报文在直接子网络内进行传输,源节点通过直接子网络的自适应维序路由传输到最近的与目的节点所属边缘交换机编号相同的节点,然后报文在间接子网络内进行传输;
[0025]
步骤3-3:报文在间接子网络内进行传输,报文先传输到当前节点所属的边缘交换机上,边缘交换机再根据上行链路的拥塞程度,采用自适应路由选择空闲的核心交换机作为下一跳路由的地址;报文到达核心交换机后,核心交换机将报文传送至与目的节点所在pod对应的边缘交换机;最后通过边缘交换机判断能否直接发送至目的节点,若能则直接传输;若不能则发送至距离目的节点最近的节点,再经过直接子网络路由到目的节点。
[0026]
本发明的有益效果如下:
[0027]
本发明采用3d-torus拓扑和树状多层交换机相结合的方法构建混合网络拓扑结构。可发挥直接子网络拓扑torus的结构规整、网络直径低、节点度高、容错性高以及间接子网络扩展性好、带宽高的优势。所提出的混合网络拓扑具有结构规整、网络直径小、带宽高、传输时延低的优点,既适合局部通信,也适合全局通信,并且可支持大规模高效通信。同时,针对混合网络拓扑结构特点提出使用直接子网络链路时采用自适应维序路由,使用间接子网络链路时采用自适应路由的路由策略,能有效防止死锁,降低拥塞。
附图说明
[0028]
图1是本发明提出的混合网络拓扑的直接子网络当n=4时的结构示意图。
[0029]
图2是本发明提出的混合网络拓扑的pod结构示意图。
[0030]
图3是本发明提出的混合网络拓扑的直接子网络xz平面示意图。
[0031]
图4是本发明提出的混合网络拓扑的pod数量为8时的整体拓扑结构示意图。
[0032]
图5是本发明提出的路由策略的pod内路由流程示意图。
[0033]
图6是本发明提出的路由策略的pod间路由流程示意图。
具体实施方式
[0034]
下面结合附图和实施例对本发明进一步说明。
[0035]
本发明的目的是:面对高性能计算集群日益增长的需求,设计出匹配高性能计算应用通信特征的、扩展性好和网络直径低的网络拓扑结构并设计相应的路由策略。由于混合网络拓扑可以结合直接网络和间接网络的优势,其逐渐成为一种网络拓扑设计的新趋势。所以本发明采用了混合网络拓扑结构,由直接子网络和间接子网络构成。
[0036]
一种混合网络拓扑结构,包括间接子网络和k个直接子网络;所述k个直接子网络通过间接子网络连接;
[0037]
单个直接子网络为规模是n
×n×
n且删除部分连接的3d-torus结构,用x、y、z表示直接子网络的节点在3d-torus结构中的坐标,x、y、z的取值均为0,1,

,n-1;删除部分连接的规则如下:将3d-torus结构中由边界节点之间的互连产生了横跨整个3d-torus结构的链路定义为长连接;删除所有y方向的长连接,x方向上删除y=1~n-2时的长连接,z方向删除x=1~n-2且y=1~n-2时的长连接;
[0038]
所述间接子网络为两层交换机构成的树状网络结构;第一层交换机称为边缘交换
机,边缘交换机与直接子网络直接连接;第二层交换机称为核心交换机,核心交换机与边缘交换机直接连接;
[0039]
定义直接子网络中x、y、z任意一个坐标值为0或者n-1的节点为边缘节点,直接子网络中只有边缘节点连接边缘交换机,处于直接子网络内部的(n-2)3个节点不连接边缘交换机,直接子网络与(n
3-(n-2)
3-2*(n-2)2)/2n+1=2n-1个边缘交换机连接,边缘交换机的编号为a,a=1,2,

,2n-1,直接子网络与2n-1个边缘交换机共同组成一个pod;k个直接子网络构成k个pod;
[0040]
每个pod中,直接子网络中的边缘节点均会与边缘交换机连接,2n-2个边缘交换机每个连接2n个边缘节点,另1个边缘交换机会连接2(n-2)2个边缘节点,具体连接方式如下:
[0041]
首先对于x、z任意一个方向的值等于0或者n-1的节点,通过x+(-1)
[((x-z)*2)/n+1]
*z+[(n+1)/2]计算其连接的边缘节点序号,而剩下节点的坐标为:y=0时x=1~n-2、z=1~n-2,总共(n-2)2个节点以及坐标为:y=n-1时x=1~n-2、z=1~n-2,总共(n-2)2个节点,连接至编号为2n-1的边缘交换机,设定节点属于与其连接的边缘交换机;对于直接子网络内部没有连接边缘交换机的节点,在与它距离最短的边缘节点中选择负载最小的边缘交换机作为目的节点所属的边缘交换机。
[0042]
边缘交换机与核心交换机组成树状网络,连接方式如下:pod个数为k,边缘交换机总数为(2n-1)
×
k,核心交换机的总数也为(2n-1)
×
k;将核心交换机分为(2n-1)组,每组包括k个核心交换机,核心交换机的组编号为c,c=1,2,

,2n-1;第c组的每个核心交换机均会分别连接每个pod中的编号为a=c的边缘交换机;这样保证每个边缘交换机均连接k个核心交换机,同时每个核心交换机均连接k个边缘交换机,组成树状网络。
[0043]
一种应用于上述混合网络拓扑结构的路由方法,包括如下步骤:
[0044]
步骤1:定义自适应维序路由算法;
[0045]
报文按照x、y、z维的顺序进行路由,先测试x方向上的通道状态,若x方向通道空闲,则沿x方向通道传输报文;若发现x方向通道拥塞时,再测试y、z方向通道的状态,y、z方向通道哪个空闲就沿该方向进行报文的传输;
[0046]
步骤2:在进行报文传输时,当源节点和目的节点位于同一pod内时,路由包括以下步骤:
[0047]
步骤2-1:判断源节点与目的节点之间的直接子网络路径是否大于2跳,若不大于2跳,则通过直接子网络路由到目的节点;若大于2跳,比较源节点与目的节点所属的边缘交换机的编号是否相同;
[0048]
步骤2-2:若相同,则报文路由到目的节点所属的边缘交换机,如果目的节点与边缘交换机直接连接,则报文由边缘交换机路由至目的节点;否则边缘交换机将报文发送至其直接连接的节点中距离目的节点最近的节点,再经过直接子网络路由到目的节点;
[0049]
步骤2-3:若不同,源节点与目的节点不属于同一个边缘交换机,则源节点先通过直接子网络的自适应维序路由到与目的节点属于同一个边缘交换机的节点,后续的步骤同步骤2-2;
[0050]
步骤3:当源节点和目的节点位于不同pod内时,此时报文需跨pod进行路由,包括以下步骤:
[0051]
步骤3-1:判断源节点与目的节点所连接的边缘交换机编号是否相同,若相同,报
文直接在间接子网络内进行传输,直接转到步骤3-3,若不同,则先在直接子网络内进行传输,转到步骤3-2;
[0052]
步骤3-2:报文在直接子网络内进行传输,源节点通过直接子网络的自适应维序路由传输到最近的与目的节点所属边缘交换机编号相同的节点,然后报文在间接子网络内进行传输;
[0053]
步骤3-3:报文在间接子网络内进行传输,报文先传输到当前节点所属的边缘交换机上,边缘交换机再根据上行链路的拥塞程度,采用自适应路由选择空闲的核心交换机作为下一跳路由的地址;报文到达核心交换机后,核心交换机将报文传送至与目的节点所在pod对应的边缘交换机;最后通过边缘交换机判断能否直接发送至目的节点,若能则直接传输;若不能则发送至距离目的节点最近的节点,再经过直接子网络路由到目的节点。
[0054]
具体实施例:
[0055]
本实施例提供了一种混合网络拓扑结构,包括:直接子网络3d-torus结构和间接子网络多层交换机组成的树状网络结构。其中多个直接子网络之间通过间接子网络连接。
[0056]
本实施例采用直接网络和间接网络结合的方法,采用3d-torus拓扑和树状多层交换机相结合的方法构建混合网络拓扑结构。可发挥直接子网络拓扑torus的结构规整、网络直径低、节点度高、容错性高以及间接子网络扩展性好、带宽高的优势,如图1所示。所提出的混合网络拓扑具有结构规整、网络直径小、带宽高、传输时延低的优点,既适合局部通信,也适合全局通信,并且可支持大规模高效通信。同时,针对混合网络拓扑结构特点提出使用直接子网络链路时采用自适应维序路由,使用间接子网络链路时采用自适应路由的路由策略,能有效防止死锁,降低拥塞。
[0057]
具体来说torus拓扑结构适合局部通信特征强烈的高性能计算应用,并且小规模的torus具有网络直径低,结构对称等优势,其中以规模大小为4
×4×
4的结构最优;多层交换机组成的树状结构可以保证拓扑具有良好的可扩展性,同时网络规模增大时,网络直径只与间接子网络的层数有关,因此采用多层交换机组成的树状网络结构作为间接子网络,torus直接子网络之间以树状多层交换机的间接子网络连接起来,构成混合网络拓扑kns-3dtf。并且在torus网络的基础之上,删除部分长连接用于与间接子网络连接,保证不需要额外增加torus中节点的端口,可有效降低系统部署成本。据此,本发明提出了混合网络结构kns-3dtf。通过三个参数表示其结构,分别为k、n、s。k为pod数量;n为直接子网络3d-torus的每一维的节点个数;s表示间接子网络的层数。
[0058]
直接子网络由4*4*4,且删除了部分连接的3d-torus构成。将3d-torus结构中边界节点之间的互连产生了横跨整个结构的链路称为长连接,其删除连接的规则为,删除所有y方向的长连接,x方向上删除y=1~2时的长连接,z方向删除x=1~2且y=1~2时的长连接。保证直接子网络中的节点在连接边缘交换机后,其节点度均为6。
[0059]
所述的间接子网络为多层交换机构成的树状网络结构。一般由两层交换机组成,第一层交换机与直接子网络直接相连,称为边缘交换机。直接子网络3d-torus中只有处于边缘的节点连接边缘交换机,处于中心的8个节点不连接边缘交换机,每个直接子网络都有7个边缘交换机与之连接,共同组成一个pod,如图2所示。每个pod之间的边缘交换机之间通过上一层的交换机连接,称为核心交换机。
[0060]
每个pod中,边缘交换机与直接子网络连接方式如下:将x,z固定不变时,y方向的4
个节点称为一组。同时定义x,y,z任意一个方向的值等于0或者3(即处在3d-torus边缘)的节点为边缘节点。直接子网络中的边缘节点均会与边缘交换机连接,6个边缘交换机每个会分别连接8个节点,1个边缘交换机会连接8个节点。为了方便描述,从3d-torus的xz方向来描述连接情况,用坐标(x,z)来表示y方向的一组n个节点。
[0061]
首先对于x,z任意一个方向的值等于0或者3的节点,通过x+(-1)
[((x-z)*2)/4+1]
*z+[(4+1)/2]计算其连接的边缘节点序号。而剩下的节点的坐标为y=0时x=1~2、z=1~2,总共4个节点以及坐标为y=3时x=1~2、z=1~2,总共4个节点,连接至序号为7的边缘交换机。当内部节点没有连接边缘交换机时,由于每个节点相邻的节点分别连接三个不同的边缘交换机,在三个边缘交换机中选择负载最小的交换机,作为目的节点所属的边缘交换机。如图3所示,为一个4
×
4的矩阵,图中数字标号相同的节点代表连接同一个边缘交换机的编号,并且除了数字标号为7的节点,其余节点均代表一组y方向上的4个节点。而数字标号为7的4个节点为y=0、3的8个边缘节点所连接的边缘交换机编号。从图看出,我们以z=(n-1)/2=1.5或者x=(n-1)/2=1.5为分界线,在同一分界线内的2组边缘节点,分别连接不同的交换机,并且包含所有的边缘交换机编号,这样保证消息可以在3跳之内,到达任意编号的边缘交换机,这有效减小了跳数。
[0062]
边缘交换机与核心交换机组成树状网络,连接方式如下:当拓扑中的pod个数为8时,边缘交换机总数为56,边缘交换机上有一层核心交换机,每个边缘交换机会连接8个不同的核心交换机。核心交换机的节点度均为8,每个核心交换机均会连接8个pod中的相同编号的边缘交换机,故核心交换机的总数也为56。这样可保证每个边缘交换机均连接8个核心交换机,同时每个核心交换机均连接8个边缘交换机,组成树状网络。详细连接情况如图4所示,为本发明提出的混合网络拓扑的pod数量为8时的整体拓扑结构示意图。此时网络中的终端规模为512,每个pod内边缘交换机数量为7,总数为56,核心交换机总数为56。
[0063]
kns-3dtf中,每个终端节点可以用坐标(p,x,y,z,a)标识,p代表pod编号,x、y、z代表在3d-torus中的坐标,a代表边缘交换机的编号,从1开始编号。相应的边缘交换机编号,用坐标(p,a)表示,其中p表示pod编号;a表示边缘交换机在该pod内的编号,从1开始编号。图4中被选中的节点标号为(0,3,0,0,5),表示该节点位于第0号pod内,在3d-torus中的坐标为(3,0,0),连接边缘交换机编号为5,坐标为(0,5)。
[0064]
根据本发明的技术方案,提供了一种匹配该网络拓扑结构的路由策略,包括:判断源节点和目的节点是否位于同一pod内,当源节点和目的节点位于同一pod内时,则根据跳数判断报文通过直接子网络链路采用自适应维序路由算法还是经过边缘交换机路由。当源节点和目的节点位于不同pod内时,经过边缘交换机路由,该过程可分为直接子网络路由和间接子网络路由两部分。直接子网络路由采用自适应维序路由,报文在此过程到达中间节点。随后进行间接子网络路由,报文从中间节点发送到其所属的边缘交换机,再通过自适应路由到达目的节点所在pod内的边缘交换机,最后由边缘交换机判断目的节点是否是其直接连接的节点,若是则直接发送到目的节点,否则发送至直接连接的节点中距离目的节点最近的节点,再经过直接子网络路由到目的节点。
[0065]
自适应维序路由算法中维序的意思是:报文按照x、y、z维的顺序进行路由。先测试x方向上的通道状态,若x维通道空闲,则沿x维通道传输报文,若发现x维通道拥塞时,再测试y、z通道的状态,遇到某一维度的通道空闲就进行报文的传输,灵活改变传输维度。采用
维序的方式能在传输过程中避免网络的死锁现象。而配合自适应路由,可以提升网络中数据传输路径的多样性,有效减少维序路由带来的传输路径重合问题,一定程度上避免网络拥塞,具有平衡网络负载的能力。同时为了避免给边缘交换机带来更大压力,导致pod间通信受到影响,一般pod内的通信,报文会优先考虑直接子网络的链路,除非通过边缘交换机路由能获得更短的路径。
[0066]
为了便于路由策略的说明,设报文的源节点编号为(p
src
,x
src
,y
src
,z
src
,a
src
),所连接的边缘交换机编号为(p
src
,a
src
);目的节点编号为(p
dst
,x
dst
,y
dst
,z
dst
,a
dst
),所连接的边缘交换机编号为(p
dst
,a
dst
)。
[0067]
当源节点和目的节点位于同一pod内时,即p
src
=p
dst
时,路由包括以下步骤,其详细流程图如图5所示:
[0068]
1)先判断当前节点与目的节点之间的直接子网络路径是否大于2跳,若不大于2跳,则通过直接子网络链路到指定的节点。若大于2跳,比较当前节点与目的节点的所属的边缘交换机的编号a
src
、a
dst
是否相同。
[0069]
2)若相同,则报文路由到目的节点所属的边缘交换机,如果目的节点与边缘交换机直接连接,则报文由边缘交换机路由至目的节点;否则边缘交换机将报文发送至其直接连接的节点中距离目的节点最近的节点,再经过直接子网络路由到目的节点。
[0070]
3)若不同,两个节点不属于同一个边缘交换机,则源节点先通过直接子网络的自适应维序路由到与目的节点属于同一个边缘交换机的节点。由于一个边缘交换机一般有2组8个y方向的节点连接至一个交换机,由图3可知,以z=1.5或者x=1.5为分界线,在同一分界线内的2组边缘节点,分别连接不同的交换机,并且包含所有的边缘交换机编号,有效减少了跳数,所以此过程的跳数最大不超过3跳。后续的步骤同1)。
[0071]
当源节点和目的节点位于不同pod时,即p
src
≠p
dst
时,此时报文需跨pod进行路由,路由包括以下步骤,其详细流程图如图6所示:
[0072]
1)首先需要判断源节点与目的节点所连接的边缘交换机编号a
src
、a
dst
是否相同,若相同,报文直接在多级间接子网络中进行传输,见步骤3),若不同先在直接子网络内进行传输,见步骤2)。
[0073]
2)报文在直接子网络内进行传输,该过程与源节点和目的节点位于同一pod内的类似,源节点通过直接子网络链路经过自适应维序路由传输到最近的与目的节点所属边缘交换机编号相同的节点。
[0074]
3)报文在间接子网络内进行传输,报文先路由到当前节点所属的边缘交换机上,边缘交换机再根据上行链路的拥塞程度,采用自适应算法选择空闲的核心交换机作为下一跳路由的地址。报文到达核心交换机后,核心交换机将报文传送至与目的节点所在pod对应的边缘交换机。最后边缘交换机判断目的节点是否是其直接连接的节点,若是则直接发送到目的节点,若不是则发送至直接连接的节点中距离目的节点最近的节点,再经过直接子网络路由到目的节点。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1