CN105224501B - 改进圆环面网络及其确定数据包传输路径的方法和装置 - Google Patents
改进圆环面网络及其确定数据包传输路径的方法和装置 Download PDFInfo
- Publication number
- CN105224501B CN105224501B CN201510555744.4A CN201510555744A CN105224501B CN 105224501 B CN105224501 B CN 105224501B CN 201510555744 A CN201510555744 A CN 201510555744A CN 105224501 B CN105224501 B CN 105224501B
- Authority
- CN
- China
- Prior art keywords
- node
- transmission path
- hop count
- data packet
- torus networks
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
Abstract
本发明实施例提供了一种改进圆环面网络及在圆环面网络中确定数据包传输路径的方法和装置。该方法包括获取N维Torus网络中的至少一个第一节点,其中,N大于或者等于2,根据第一节点确定距离第一节点的最小跳数值大于门限值的第二节点,在第一节点和第二节点上分别增加端口,通过增加的端口用跳线直接连接第一节点和第二节点。本发明实施例通过在节点处增加端口以与距离该节点最小跳数值最大的节点连接,这样能够减少数据传输路径上的传输跳数,从而可以减小网络的传输时延。
Description
技术领域
本发明涉及通信领域,并且更具体地,涉及改进圆环面网络及其确定数据包传输路径的方法和装置。
背景技术
直连网络(Direct Interconnection Network,DIN)是一种常见的网络拓扑形式,广泛应用于多处理器系统(Multi-processor)、多计算机系统(Multi-computer),以及集群系统(cluster)中。圆环面(Torus)网络是一种在超级计算机和数据中心中常用的网络互联结构,具有完全对称的直连网络拓扑形式。近年来针对它的研究越来越多。Torus网络具有很多优秀的网络特性,例如基建开销低、容错性好、高度的对称性以及良好的拓展性等。因此,Torus网络广泛应用于许多系统中,例如,世界上第一台太比特路由器中采用Torus网络作为其交换网络拓扑。
N维Torus网络是由k0×k1×k2×…×kN-1个节点构成,其中ki表示第i维的节点数,其中,N为正整数,1≤i≤N,ki为正整数。网络上的每一个节点都可用一个N维向量(x0,x1,…,xN-1)表示。一般地,k0,k1,k2…kN-1的值可以都相同,例如,都为k,此时Torus网络可以表示为N维k元Torus网络。
在网络中较远的节点之间进行数据传输时所经过的节点数目增多,跳数增加,使得网络传输时延变长。现有技术中可以在原有节点之间连线的基础上通过增加端口以增加原有节点之间连线的数目,即将原有节点之间的一条连线连接方式改为一组连线,这样可以增加节点之间的带宽,降低节点之间拥塞的可能,从而降低排队时延。但是,这种改进方法得到的网络传输路径并未改变,网络跳数未改变,无法从根本上降低网络传输时延。
发明内容
本发明实施例提供一种改进圆环面网络及其确定数据包传输路径的方法和装置,能够降低网络传输时延。
第一方面,提供了一种改进圆环面Torus网络的方法,包括:获取N维Torus网络中的至少一个第一节点,其中,N大于或者等于2;根据所述第一节点确定距离所述第一节点的最小跳数值大于门限值的第二节点;在所述第一节点和所述第二节点上分别增加端口,通过增加的所述端口用跳线直接连接所述第一节点和所述第二节点。
结合第一方面,在第一方面的一种实现方式中,所述根据所述第一节点确定距离所述第一节点的最小跳数值大于门限值的第二节点包括:根据所述第一节点确定距离所述第一节点的最小跳数值最大的第二节点。
结合第一方面及其上述实现方式,在N维k元Torus网络中,k为正整数且k≥2,所述根据所述第一节点确定距离所述第一节点的最小跳数值最大的第二节点包括:当k为奇数时,根据所述第一节点从所述N维k元Torus网络中的N维前k-1元的节点中确定距离所述第一节点的最小跳数值最大的第二节点;当k为偶数时,根据所述第一节点从所述N维k元Torus网络中的所有节点中确定距离所述第一节点的最小跳数值最大的第二节点。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述根据所述第一节点确定距离所述第一节点的最小跳数值最大的第二节点包括:当所述第一节点的位置坐标为(a0,a1,…,aN-1)时,所述第二节点的位置坐标如下:
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述方法还包括:获取需要由源节点传输到目的节点的多个数据包,所述源节点为所述至少一个第一节点之一;根据所述源节点和所述目的节点确定所述多个数据包的多条最短传输路径及其每条最短传输路径所需的跳数;根据所述每条最短传输路径所需的跳数确定使用所述每条最短传输路径进行数据包传输的概率;根据所述概率分配所述每个数据包的传输路径。
第二方面,提供了一种确定数据包传输路径的方法,所述方法用于圆环面Torus网络,所述方法包括:获取需要由源节点传输到目的节点的多个数据包;根据所述源节点和所述目的节点确定所述多个数据包的多条最短传输路径及其每条最短传输路径所需的跳数;根据所述每条最短传输路径所需的跳数确定使用所述每条最短传输路径进行数据包传输的概率;根据所述概率分配所述每个数据包的传输路径。
结合第二方面,在第二方面的一种实现方式中,所述根据所述每条最短传输路径所需的跳数确定使用所述每条传输路径进行数据包传输的概率包括:假设第i条最短传输路径所需的跳数Δi,其中1≤i≤M,M为最短传输路径的条数,M大于或者等于2,那么第i条最短传输路径进行数据包传输的概率为:
第三方面,提供了一种改进圆环面Torus网络的装置,所述装置包括:第一获取单元,用于获取N维Torus网络中的至少一个第一节点,其中,N大于或者等于2;第一确定单元,用于根据所述第一获取单元获取的所述第一节点确定距离所述第一节点的最小跳数值大于门限值的第二节点;连接单元,用于在所述第一节点和所述第一确定单元确定的所述第二节点上分别增加端口,通过增加的所述端口用跳线直接连接所述第一节点和所述第二节点。
结合第三方面,在第三方面的一种实现方式中,所述确定单元具体用于根据所述第一节点确定距离所述第一节点的最小跳数值最大的第二节点。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,在N维k元Torus网络中,k为正整数且k≥2,所述确定单元具体用于当k为奇数时,根据所述第一节点从所述N维k元Torus网络中的N维前k-1元的节点中确定距离所述第一节点的最小跳数值最大的第二节点,当k为偶数时,根据所述第一节点从所述N维k元Torus网络中的所有节点中确定距离所述第一节点的最小跳数值最大的第二节点。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述确定单元具体用于当所述第一节点的位置坐标为(a0,a1,…,aN-1)时,所述第二节点的位置坐标如下:
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述装置还包括:第二获取单元,用于获取需要由源节点传输到目的节点的多个数据包,所述源节点为所述至少一个第一节点中的一个;第二确定单元,用于根据所述获取单元获取的多个数据包的所述源节点和所述目的节点确定所述多个数据包的多条传输路径及其每条传输路径所需的跳数;第三确定单元,用于根据所述第一确定单元确定的所述每条传输路径所需的跳数确定使用所述每条传输路径进行数据包传输的概率;分配单元,用于根据所述第二确定单元确定的所述概率分配所述每个数据包的传输路径。
第四方面,提供了一种确定数据包传输路径的装置,所述装置用于圆环面Torus网络,其特征在于,所述装置包括:获取单元,用于获取需要由源节点传输到目的节点的多个数据包;第一确定单元,用于根据所述获取单元获取的多个数据包的所述源节点和所述目的节点确定所述多个数据包的多条传输路径及其每条传输路径所需的跳数;第二确定单元,用于根据所述第一确定单元确定的所述每条传输路径所需的跳数确定使用所述每条传输路径进行数据包传输的概率;分配单元,用于根据所述第二确定单元确定的所述概率分配所述每个数据包的传输路径。
结合第四方面,在第四方面的一种实现方式中,所述第二确定单元具体用于假设第i条最短传输路径所需的跳数Δi,其中1≤i≤M,M为最短传输路径的条数,M大于或者等于2,那么第i条最短传输路径进行数据包传输的概率为:
本发明实施例通过将Torus网络中的至少一个第一节点与距第一节点最小跳数值较大的第二节点用跳线直接连接,这样在该网络中以第一节点为源节点进行数据包传输,且源节点和目的节点距离较大,但目的节点和第二节点距离较小时,可以由源节点通过跳线一跳到达第二节点,然后再由第二节点传输到目的节点,从而能够减少数据包的传输跳数,进而可以减小传输时延。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一个一维Torus网络的示意图。
图2是一个二维Torus网络的示意图。
图3是一个三维Torus网络的示意图。
图4是本发明一个实施例的改进圆环面Torus网络的方法的示意性流程图。
图5是本发明另一实施例的改进的二维Torus网络的示意图。
图6是本发明一个实施例的确定数据包传输路径的方法的示意性流程图。
图7是本发明一个实施例的确定数据包传输路径的方法的Torus网络示意图。
图8是本发明一个实施例的改进圆环面Torus网络的装置的示意图。
图9是本发明一个实施例的确定数据包传输路径的装置的示意图。
图10是本发明另一实施例的改进圆环面Torus网络的装置的示意图。
图11是本发明另一实施例的确定数据包传输路径的装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
Torus网络拓扑结构可以有不同的维度,N维非对称Torus网络由k0×k1×k2×…×kN-1个节点构成,N维对称k元Torus网络由kN个节点构成。其中,N为正整数,k为正整数,1≤i≤N,ki为正整数,ki表示第i维的节点数。N维Torus网络上的每一个节点都可用一个N维向量(x0,x1,…,xN-1)表示。Torus网络上的节点可以为网络设备。
图1是一个一维Torus网络的示意图。
如图1所示的是一维Torus网络,其中包括3个网络设备。网络设备之间的连接方式为相邻节点之间两两连接,并首尾连接。
图2是一个二维Torus网络的示意图。
如图2所示的是二维对称Torus网络,其中包括9个网络设备。9个网络设备可以分别用下列的二维向量表示:(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)。图2所示的二维Torus可以看作是将如图1所示的一维Torus网络复制三份后,连接相应的网络设备后形成的。
图3是一个三维Torus网络的示意图。
如图3所示的是三维对称Torus网络,其中包括27个网络设备,即3x3x3个网络设备。为了使得连线更清楚,图3中仅示出了立方体表面的连线。图3所示的三维Torus网络可以看作是将图2所示的二维Torus网络复制三份后连接相应的节点形成的。
以此类推,可以将任意一个N-1维的Torus网络扩展到N维Torus网络。Torus网络中的每个网络设备可以同时收发数据,并且都具有存储转发能力。这里不再一一列出。本发明实施例可以用于任意维度的Torus网络。
图4是本发明一个实施例的改进圆环面Torus网络的方法的示意性流程图。
401,获取N维Torus网络中的至少一个第一节点,其中,N大于或者等于2。
402,根据第一节点确定距离第一节点的最小跳数值大于门限值的第二节点。
403,在第一节点和第二节点上分别增加端口,通过增加的端口用跳线直接连接第一节点和第二节点。
本发明实施例通过将Torus网络中的至少一个第一节点与距第一节点最小跳数值较大的第二节点用跳线直接连接,这样在该网络中以第一节点为源节点进行数据包传输,且源节点和目的节点距离较大,但目的节点和第二节点距离较小时,可以由源节点通过跳线一跳到达第二节点,然后再由第二节点传输到目的节点,从而能够减少数据包的传输跳数,进而可以减小传输时延。
在Torus网络中,当网络规模增大时,从而使得网络中较远的两个节点之间数据传输所需的跳数增大,导致网络传输时延增大。例如,N维k元的Torus网络中的网络直径为其中,k为正整数且k≥2,网络直径为网络中最远两个节点之间的最短距离。当网络规模增大时,网络直径增大,造成网络中最远的两个节点之间数据传输所需的跳数增大,导致网络传输时延增大。
本发明实施例通过对Torus网络的拓扑结构进行改进,通过在节点中增加端口增加节点之间的连线,从而减小数据传输的跳数,缩短数据的传输时延。
应理解,本发明实施例中的第二节点可以为距离第一节点的最小跳数值超过门限值的节点。例如,第二节点可以为距离第一节点的最小跳数值最大的节点,也可以为距离第一节点的最小跳数值次大的节点,或者其它相距最小跳数值较大的节点。其中,最小跳数值为两个节点之间通过不同路径相互到达对方节点所需要经过的最小跳数。
可选地,作为一个实施例,步骤402根据第一节点确定距离第一节点的最小跳数值大于门限值的第二节点可以包括:根据第一节点确定距离第一节点的最小跳数值最大的第二节点。此时,用跳线直接连接第一节点和第二节点即用跳线直接连接第一节点和距离该节点的最小跳数值最大的节点,换句话说,将两个最小跳数值相距最大的两个节点用跳线直接连接。这样,第一节点和第二节点之间需要传输数据时,只需要经过一跳即可完成数据传输。或者,假设第三节点距离第二节点最小跳数值较小、但距离第一节点最小跳数值较大,当第一节点和第三节点之间需要进行数据传输时,可以将数据由第一节点通过跳线一跳传输到第二节点,然后再由第二节点传输到第三节点。这样可以减小数据传输的跳数,缩短数据的传输时延。
作为本发明的一个实施例,根据第一节点确定距离第一节点的最小跳数值最大的第二节点包括:当第一节点的位置坐标为(a0,a1,…,aN-1)时,第二节点的位置坐标如下:
本发明实施例中的第一节点可以为N维k元Torus网络中的至少一个节点。对称的N维k元Torus网络共有kN个节点,当k为偶数时,距离最远的节点对互为唯一,即共kN/2个节点对。这时,第一节点可以为N维k元Torus网络中的任意一个节点。在本发明的一个实施例中,可以找出距离任意一个第一节点最小跳数值最大的第二节点,并将该第一节点和第二节点用跳线直接连接。
对称的N维k元Torus网络共有kN个节点,当k为奇数时,kN为奇数。Torus网络中距离任意一个节点最小跳数值最大的节点不能保证唯一。这时,第一节点可以为N维k元Torus网络中N维前k-1元的任意一个节点,即保持每个维度上的最后一行或最后一列的节点不变,类比k为偶数的情况,此时k-1为偶数,从(k-1)N个节点中确定个节点对,并用跳线直接连接每个节点对。其余kN-(k-1)N个节点保持不变。
这里的N维前k-1元表示的是N维k元Torus网络中除去任一维度的最后一行或最后一列的节点后剩余的所有节点。例如,在二维七元Torus网络中,保持第七行和第七列的节点不变,二维前六元表示的是前六行六列的所有节点。此时获得至少一个第一节点位于该网络的前六行六列的节点中,由第一节点确定的距离第一节点最小跳数值最大的第二节点也位于前六行六列的节点中。
在改进的Torus网络中进行数据包传输时,可以获取需要由源节点传输到目的节点的多个数据包,源节点为至少一个第一节点之一。并根据源节点和目的节点确定多个数据包的多条最短传输路径及其每条最短传输路径所需的跳数。然后根据每条最短传输路径所需的跳数确定使用每条最短传输路径进行数据包传输的概率。最后根据概率分配每个数据包的传输路径。这样,可以在降低数据传输时延的同时达到负载均衡的效果。
本发明的实施例的改进圆环面网络的方法这里以对称的N维k元Torus网络为例进行示例性说明,但对非对称的Torus网络同样适用。在非对称Torus网络中,同样可以找出至少一个节点的距离该节点最小跳数值最大的节点,并连接这两个节点。
图5是本发明另一实施例的改进的二维Torus网络的示意图。
如图5所示的改进的二维六元Torus网络,图5中以虚线表示增加的跳线,但图5中并未画出全部的跳线。
这里假设用跳线连接相距最小跳数值最大的两个节点。可以根据下列公式确定距离第一节点最小跳数值最大的第二节点。例如,第一节点的位置坐标为(a0,a1,…,aN-1)时,第二节点的位置坐标为:
当N=2,k=6时,第一节点的位置坐标为(a0,a1),第二节点的位置坐标为:
((a0+3)mod6,(a1+3)mod6)。
例如,图5中一个小圆圈表示一个节点,图中给出的是每个节点的坐标。当第一节点为第一个元素(0,0)时,距离该第一节点的最小跳数值最大的第二节点的位置坐标为(3,3),直接连接节点(0,0)和(3,3)。当第一节点为元素(2,0)时,距离该第一节点的最小跳数值最大的第二节点的位置坐标为(5,3),直接连接节点(2,0)和(5,3)。同理,可以将图5中节点(1,1)和(4,4)直接连接,节点(3,1)和(0,4)直接连接,节点(4,2)和(1,5)直接连接,节点(5,2)和(2,5)直接连接。为避免线条混乱,图5中未画出全部的跳线。
图6是本发明一个实施例的确定数据包传输路径的方法的示意性流程图。图6的方法可以用于圆环面Torus网络。
601,获取需要由源节点传输到目的节点的多个数据包。
602,根据源节点和目的节点确定多个数据包的多条传输路径及其每条传输路径所需的跳数。
603,根据每条传输路径所需的跳数确定使用每条传输路径进行数据包传输的概率。
604,根据概率分配每个数据包的传输路径。
Torus网络中通过在节点与距离该节点最小跳数值最大的节点之间引入跳线,这样在多个数据包需要传输时,可以根据源节点到目的节点的每条传输路径所需要的跳数得到每条传输路径进行数据传输的概率,然后根据概率对每个数据包的传输路径进行分配,这样可以在降低数据传输时延的同时达到负载均衡的效果。
数据包从源节点传输到目的节点的传输路径有很多条,但不同传输路径所需的跳数不同。步骤602中的多条传输路径可以包括以源节点和目的节点为原点将Torus网络划分为多个象限,通过每个象限进行数据包传输所需的最短传输路径,还可以包括从源节点直接将数据包传输至距离该源节点最小跳数值最大的节点,然后再传输至目的节点的路径。
假设与源节点直接连接的节点数目为M,M为大于或者等于2的正整数,那么最短传输路径的条数为M,假设第i条最短传输路径所需的跳数Δi,其中1≤i≤M,那么第i条最短传输路径进行数据包传输的概率为:
本发明实施例可以用于标准的Torus网络,也可以用于改进后的Torus网络中。例如,本发明实施例中确定数据包传输路径的方法可以用于如图1、图2和图3所示的Torus网络,也可以用于图5所示的改进的Torus网络,还可以用于现有对Torus网络进行改进之后的网络。
根据各条传输路径的概率对同一源节点到同一目的节点的多个数据包的传输路径进行负载分担,尽可能保证消耗流量较大的数据包走最短路径,以减少整个网络的数据包的传输时延。此外,由于在节点上增加端口,增加了节点之间连接线的数量,这样还可以增加网络的吞吐量。
当数据包数目较少时,可以选择跳数最短的传输路径进行数据传输。但是当数据包数目较多时,为避免造成拥塞,可以将多个数据包根据概率进行负载分担,这样可以使得每条传输路径传输一定数目的数据包,以保证负载均衡的效果。
下面以图7为例详细说明Torus网络中确定数据包传输路径的方法。
图7是本发明一个实施例的确定数据包传输路径的方法的Torus网络示意图。图7的Torus网络为二维八元Torus网络。这里以S为源节点、D为目的节点为例进行示例性说明。图7中S和M之间通过跳线直接连接,M为距离S的最小跳线值最大的节点。为避免线多混乱,Torus网络中其它节点之间的跳线未画出。
以源节点S为原点,将Torus网络分为如图7所示的四个象限。其中,以S为原点,S-B-D-A-S为第一象限,S-A-C-E-S为第二象限,S-E-F-G-S为第三象限,S-G-H-B-S为第四象限。结合Torus网络的连线规则可知,B-I-P-H-B为第三象限,B-I-Z-D-B为第二象限,D-Z-K-L-D为第三象限,A-D-L-Q-A为第四象限,A-Q-N-C-A为第三象限。
数据包由S传输至D时,共有五条最短传输路径,包括从第一、第二、第三、第四象限分别发送数据包的四条最短传输路径以及经过SM之间的跳线发送数据包的传输路径。当使用维序路由(Dimension-order Routing,DOR)的方法从第一、第二、第三、第四象限分别发送数据包,即S分别经过S1、S2、S3和S4到达D时,从源节点出发所经过的最小跳数值依次为:5、9、11、7。S直接经过SM之间的跳线再通过M到达目的节点的最小跳数值为4。例如,数据包经过S1通过第一象限发送数据包的最短传输路径可以为S-S1-B-R-S-D,共五跳。数据包经过S2通过第二象限发送数据包的最短传输路径可以为S-S2-T-A-U-C-Z-V-W-D,共九跳。
本发明的一个实施例中共五跳最短传输路径,假设第i条最短传输路径所需的跳数Δi,其中1≤i≤M,M为最短传输路径的条数,M大于或者等于2,那么第i条最短传输路径进行数据包传输的概率为:
那么,从源节点由第一象限、第二象限、第三象限、第四象限、经过SM之间的跳线五种传输路径分别发送数据包的Δi依次为5、9、11、7、4。所以,五种传输路径的进行数据包传输的概率依次为:27.86%、8.60%、5.78%、14.21%、43.54%。
由计算结果可知,跳数值小的传输路径用于传输数据包的概率大,即当数据包多时,跳数值较小的传输路径用于传输更多的数据包。
当数据包的数目较少,例如仅有一个数据包需要传输时,可以选用跳数值最小的传输路径进行数据包的传输。
本发明实施例中,对于同一个数据包可以选择多次跳线进行传输,但为避免多次选择跳线传输,使得距离目的节点越来越远,所以,一般地同一个数据流可以只选用一次跳线跨过半个网络。这样能够减少数据包传输的跳数,从而减小网络数据的传输时延。
图8是本发明一个实施例的改进圆环面Torus网络的装置的示意图。图8的装置可以执行图4所示的方法。图8的装置10包括第一获取单元11、第一确定单元12和连接单元13。
第一获取单元11用于获取N维Torus网络中的至少一个第一节点,其中,N大于或者等于2。
第一确定单元12用于根据第一获取单元获取的第一节点确定距离第一节点的最小跳数值大于第一阈值的第二节点。
连接单元13用于在第一节点和第一确定单元确定的第二节点上分别增加端口,通过增加的端口用跳线直接连接第一节点和第二节点。
本发明实施例通过将Torus网络中的至少一个第一节点与距第一节点最小跳数值较大的第二节点用跳线直接连接,这样在该网络中以第一节点为源节点进行数据包传输,且源节点和目的节点距离较大,但目的节点和第二节点距离较小时,可以由源节点通过跳线一跳到达第二节点,然后再由第二节点传输到目的节点,从而能够减少数据包的传输跳数,进而可以减小传输时延。
可选地,作为一个实施例,确定单元具体用于根据第一节点确定距离第一节点的最小跳数值最大的第二节点。
可选地,作为一个实施例,在N维k元Torus网络中,k为正整数且k≥2,确定单元具体用于当k为奇数时,根据第一节点从所述N维k元Torus网络中的N维前k-1元的节点中确定距离第一节点的最小跳数值最大的第二节点,当k为偶数时,根据第一节点从N维k元Torus网络中的所有节点中确定距离第一节点的最小跳数值最大的第二节点。
可选地,作为一个实施例,确定单元具体用于当第一节点的位置坐标为(a0,a1,…,aN-1)时,第二节点的位置坐标如下:
可选地,作为一个实施例,装置还包括第二获取单元、第二确定单元、第三确定单元和分配单元。其中,第二获取单元用于获取需要由源节点传输到目的节点的多个数据包,源节点为所述至少一个第一节点中的一个。第二确定单元用于根据获取单元获取的多个数据包的源节点和目的节点确定多个数据包的多条传输路径及其每条传输路径所需的跳数。第三确定单元用于根据第一确定单元确定的每条传输路径所需的跳数确定使用每条传输路径进行数据包传输的概率。分配单元用于根据第二确定单元确定的概率分配每个数据包的传输路径。
图9是本发明一个实施例的确定数据包传输路径的装置的示意图。图9的装置可以执行图6和图7所示的方法。图9的装置20可以用于圆环面Torus网络,装置20包括获取单元21、第一确定单元22、第二确定单元23和分配单元24。
获取单元21用于获取需要由源节点传输到目的节点的多个数据包。
第一确定单元22用于根据获取单元获取的多个数据包的源节点和目的节点确定多个数据包的多条传输路径及其每条传输路径所需的跳数。
第二确定单元23用于根据第一确定单元确定的每条传输路径所需的跳数确定使用每条传输路径进行数据包传输的概率。
分配单元24用于根据第二确定单元确定的概率分配每个数据包的传输路径。
Torus网络中通过在节点与距离该节点最小跳数值最大的节点之间引入跳线,这样在多个数据包需要传输时,可以根据源节点到目的节点的每条传输路径所需要的跳数得到每条传输路径进行数据传输的概率,然后根据概率对每个数据包的传输路径进行分配,这样可以在降低数据传输时延的同时可以达到负载均衡的效果。
可选地,作为一个实施例,第二确定单元具体用于假设第i条最短传输路径所需的跳数Δi,其中1≤i≤M,M为最短传输路径的条数,M大于或者等于2,那么第i条最短传输路径进行数据包传输的概率为:
图10是本发明另一实施例的改进圆环面Torus网络的装置的示意图。图10的装置包括处理器31和存储器32。处理器31控制装置30的操作,并可用于处理信号。存储器32可以包括只读存储器和随机存取存储器,并向处理器31提供指令和数据。装置30的各个组件通过总线系统33耦合在一起,其中总线系统33除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统33。
上述本发明实施例揭示的方法可以应用于处理器31中,或者由处理器31实现。在实现过程中,上述方法的各步骤可以通过处理器31中的硬件的集成逻辑电路或者软件形式的指令完成。处理器31可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器32,处理器31读取存储器32中的信息,结合其硬件完成上述方法的步骤。
具体地,处理器31可以获取N维Torus网络中的至少一个第一节点,其中,N大于或者等于2,根据第一节点确定距离第一节点的最小跳数值大于第一阈值的第二节,在第一节点和第二节点上分别增加端口,通过增加的端口用跳线直接连接第一节点和第二节点。
本发明实施例通过将Torus网络中的至少一个第一节点与距第一节点最小跳数值较大的第二节点用跳线直接连接,这样在该网络中以第一节点为源节点进行数据包传输,且源节点和目的节点距离较大,但目的节点和第二节点距离较小时,可以由源节点通过跳线一跳到达第二节点,然后再由第二节点传输到目的节点,从而能够减少数据包的传输跳数,进而可以减小传输时延。
可选地,作为一个实施例,处理器31可以根据第一节点确定距离第一节点的最小跳数值最大的第二节点。
可选地,作为一个实施例,处理器31可以在N维k元Torus网络中,k为正整数且k≥2,当k为奇数时,根据第一节点从N维k元Torus网络中的N维前k-1元的节点中确定距离第一节点的最小跳数值最大的第二节点,当k为偶数时,根据第一节点从所述N维k元Torus网络中的所有节点中确定距离第一节点的最小跳数值最大的第二节点。
可选地,作为一个实施例,处理器31可以当第一节点的位置坐标为(a0,a1,…,aN-1)时,确定第二节点的位置坐标如下:
可选地,作为一个实施例,处理器31可以获取需要由源节点传输到目的节点的多个数据包,源节点为至少一个第一节点中的一个。并根据获取的多个数据包的源节点和目的节点确定多个数据包的多条传输路径及其每条传输路径所需的跳数。再根据每条传输路径所需的跳数确定使用每条传输路径进行数据包传输的概率。然后根据概率分配每个数据包的传输路径。
图11是本发明另一实施例的确定数据包传输路径的装置的示意图。图11的装置包括处理器41和存储器42。处理器41控制装置40的操作,并可用于处理信号。存储器42可以包括只读存储器和随机存取存储器,并向处理器41提供指令和数据。装置40的各个组件通过总线系统43耦合在一起,其中总线系统43除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统43。
上述本发明实施例揭示的方法可以应用于处理器41中,或者由处理器41实现。在实现过程中,上述方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形式的指令完成。处理器41可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器42,处理器41读取存储器42中的信息,结合其硬件完成上述方法的步骤。
具体地,处理器41可以获取需要由源节点传输到目的节点的多个数据包,根据源节点和目的节点确定多个数据包的多条传输路径及其每条传输路径所需的跳数,根据每条传输路径所需的跳数确定使用每条传输路径进行数据包传输的概率,并根据概率分配所述每个数据包的传输路径。
本发明实施例通过将Torus网络中的至少一个节点与距离该节点最小跳数值较大的节点用跳线直接连接,这样在以该节点为源节点的数据进行传输时,可以直接由源节点通过跳线一跳到达距离源节点较远而距离目的节点较近的节点,这样能够减少数据传输路径上的传输跳数,从而可以减小网络的传输时延。
可选地,作为一个实施例,处理器41可以用于假设第i条最短传输路径所需的跳数Δi,其中1≤i≤M,M为最短传输路径的条数,M大于或者等于2,那么第i条最短传输路径进行数据包传输的概率为:
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或步骤可以用硬件、处理器执行的软件程序,或者二者的结合来实施。软件程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内。
Claims (14)
1.一种改进圆环面Torus网络的方法,其特征在于,所述方法包括:
获取N维Torus网络中的至少一个第一节点,其中,N大于或者等于2;
根据所述第一节点确定距离所述第一节点的最小跳数值大于门限值的第二节点;
在所述第一节点和所述第二节点上分别增加端口,通过增加的所述端口用跳线直接连接所述第一节点和所述第二节点。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一节点确定距离所述第一节点的最小跳数值大于门限值的第二节点包括:
根据所述第一节点确定距离所述第一节点的最小跳数值最大的第二节点。
3.如权利要求2所述的方法,其特征在于,在N维k元Torus网络中,k为正整数且k≥2,所述根据所述第一节点确定距离所述第一节点的最小跳数值最大的第二节点包括:
当k为奇数时,根据所述第一节点从所述N维k元Torus网络中的N维前k-1元的节点中确定距离所述第一节点的最小跳数值最大的第二节点;
当k为偶数时,根据所述第一节点从所述N维k元Torus网络中的所有节点中确定距离所述第一节点的最小跳数值最大的第二节点。
4.如权利要求3所述的方法,其特征在于,所述根据所述第一节点确定距离所述第一节点的最小跳数值最大的第二节点包括:
当所述第一节点的位置坐标为(a0,a1,…,aN-1)时,所述第二节点的位置坐标如下:
5.如权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
获取需要由源节点传输到目的节点的多个数据包,所述源节点为所述至少一个第一节点之一;
根据所述源节点和所述目的节点确定所述多个数据包的多条最短传输路径及所述多条最短传输路径中每条最短传输路径所需的跳数;
根据所述每条最短传输路径所需的跳数确定使用所述每条最短传输路径进行数据包传输的概率;
根据所述概率分配所述多个数据包中每个数据包的传输路径。
6.一种圆环面Torus网络中确定数据包传输路径的方法,其特征在于,所述圆环面Torus网络为权利要求1中所述的圆环面Torus网络,所述确定数据包传输路径的方法包括:
获取需要由源节点传输到目的节点的多个数据包;
根据所述源节点和所述目的节点确定所述多个数据包的多条最短传输路径及所述多条最短传输路径中每条最短传输路径所需的跳数;
根据所述每条最短传输路径所需的跳数确定使用所述每条最短传输路径进行数据包传输的概率;
根据所述概率分配所述多个数据包中每个数据包的传输路径。
7.如权利要求6所述的方法,其特征在于,所述根据所述每条最短传输路径所需的跳数确定使用所述每条传输路径进行数据包传输的概率包括:
假设第i条最短传输路径所需的跳数Δi,其中1≤i≤M,M为最短传输路径的条数,M大于或者等于2,那么第i条最短传输路径进行数据包传输的概率为:
8.一种改进圆环面Torus网络的装置,其特征在于,所述装置包括:
第一获取单元,用于获取N维Torus网络中的至少一个第一节点,其中,N大于或者等于2;
第一确定单元,用于根据所述第一获取单元获取的所述第一节点确定距离所述第一节点的最小跳数值大于门限值的第二节点;
连接单元,用于在所述第一节点和所述第一确定单元确定的所述第二节点上分别增加端口,通过增加的所述端口用跳线直接连接所述第一节点和所述第二节点。
9.如权利要求8所述的装置,其特征在于,所述第一确定单元具体用于根据所述第一节点确定距离所述第一节点的最小跳数值最大的第二节点。
10.如权利要求9所述的装置,其特征在于,在N维k元Torus网络中,k为正整数且k≥2,所述第一确定单元具体用于当k为奇数时,根据所述第一节点从所述N维k元Torus网络中的N维前k-1元的节点中确定距离所述第一节点的最小跳数值最大的第二节点,当k为偶数时,根据所述第一节点从所述N维k元Torus网络中的所有节点中确定距离所述第一节点的最小跳数值最大的第二节点。
11.如权利要求10所述的装置,其特征在于,所述第一确定单元具体用于当所述第一节点的位置坐标为(a0,a1,…,aN-1)时,所述第二节点的位置坐标如下:
12.如权利要求8-11中任一项所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于获取需要由源节点传输到目的节点的多个数据包,所述源节点为所述至少一个第一节点中的一个;
第二确定单元,用于根据所述第二获取单元获取的多个数据包的所述源节点和所述目的节点确定所述多个数据包的多条传输路径及所述多条最短传输路径中每条传输路径所需的跳数;
第三确定单元,用于根据所述第一确定单元确定的所述每条传输路径所需的跳数确定使用所述每条传输路径进行数据包传输的概率;
分配单元,用于根据所述第二确定单元确定的所述概率分配所述多个数据包中每个数据包的传输路径。
13.一种圆环面Torus网络中确定数据包传输路径的装置,其特征在于,所述圆环面Torus网络为权利要求8中所述的圆环面Torus网络,所述确定数据包传输路径的装置包括:
获取单元,用于获取需要由源节点传输到目的节点的多个数据包;
第一确定单元,用于根据所述获取单元获取的多个数据包的所述源节点和所述目的节点确定所述多个数据包的多条传输路径及所述多条最短传输路径中每条传输路径所需的跳数;
第二确定单元,用于根据所述第一确定单元确定的所述每条传输路径所需的跳数确定使用所述每条传输路径进行数据包传输的概率;
分配单元,用于根据所述第二确定单元确定的所述概率分配所述多个数据包中每个数据包的传输路径。
14.如权利要求13所述的装置,其特征在于,所述第二确定单元具体用于假设第i条最短传输路径所需的跳数Δi,其中1≤i≤M,M为最短传输路径的条数,M大于或者等于2,那么第i条最短传输路径进行数据包传输的概率为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510555744.4A CN105224501B (zh) | 2015-09-01 | 2015-09-01 | 改进圆环面网络及其确定数据包传输路径的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510555744.4A CN105224501B (zh) | 2015-09-01 | 2015-09-01 | 改进圆环面网络及其确定数据包传输路径的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105224501A CN105224501A (zh) | 2016-01-06 |
CN105224501B true CN105224501B (zh) | 2018-10-02 |
Family
ID=54993480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510555744.4A Active CN105224501B (zh) | 2015-09-01 | 2015-09-01 | 改进圆环面网络及其确定数据包传输路径的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224501B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107995047B (zh) * | 2017-12-22 | 2023-05-23 | 上海浪潮云计算服务有限公司 | 一种数据中心的拓扑组网方法及装置 |
JP7167687B2 (ja) * | 2018-12-18 | 2022-11-09 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
CN114363241B (zh) * | 2019-05-15 | 2023-02-28 | 清华大学 | 高维度Torus网络架构及自适应路由方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1188984C (zh) * | 2003-07-11 | 2005-02-09 | 清华大学 | 基于路径延时概率分布的选路方法 |
DE102006014308A1 (de) * | 2006-03-10 | 2007-09-13 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren zur Multi-Hop-Datenübertragung in einem ad-hoc-Netz mit versteckten Knoten |
CN101483614B (zh) * | 2008-10-20 | 2011-07-27 | 电子科技大学 | 三维片上网络架构方法 |
CN101515893B (zh) * | 2009-03-26 | 2011-03-30 | 浙江大学 | 确定rdt片上网络最短路由的方法 |
US8139490B2 (en) * | 2009-12-21 | 2012-03-20 | Google Inc. | Deadlock prevention in direct networks of arbitrary topology |
WO2014018890A1 (en) * | 2012-07-27 | 2014-01-30 | Huawei Technologies Co., Ltd. | Recursive, all-to-all network topologies |
US9258191B2 (en) * | 2012-12-13 | 2016-02-09 | Microsoft Technology Licensing, Llc | Direct network having plural distributed connections to each resource |
DK3022879T3 (da) * | 2013-08-29 | 2021-01-18 | Rockport Networks Inc | Fremgangsmåde og anordning til forvaltning af direkte forbindelsesomkoblingskabelføring og vækst i computernetværk |
-
2015
- 2015-09-01 CN CN201510555744.4A patent/CN105224501B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105224501A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8819611B2 (en) | Asymmetric mesh NoC topologies | |
JP6060316B2 (ja) | NoCを構成するための方法及びシステム並びにコンピュータ可読記憶媒体 | |
JP6093867B2 (ja) | インターコネクトにおける不均一なチャネル容量 | |
US10554496B2 (en) | Heterogeneous SoC IP core placement in an interconnect to optimize latency and interconnect performance | |
US9253085B2 (en) | Hierarchical asymmetric mesh with virtual routers | |
US9160627B2 (en) | Multiple heterogeneous NoC layers | |
CN102685017A (zh) | 一种基于fpga的片上网络路由器 | |
CN105224501B (zh) | 改进圆环面网络及其确定数据包传输路径的方法和装置 | |
US11005724B1 (en) | Network topology having minimal number of long connections among groups of network elements | |
CN102780628A (zh) | 面向多核微处理器的片上互连网络路由方法 | |
Xiang | Deadlock-free adaptive routing in meshes with fault-tolerance ability based on channel overlapping | |
CN116915708A (zh) | 路由数据包的方法、处理器及可读存储介质 | |
Hollstein et al. | Mixed-criticality NoC partitioning based on the NoCDepend dependability technique | |
Furhad et al. | A shortly connected mesh topology for high performance and energy efficient network-on-chip architectures | |
US9762474B2 (en) | Systems and methods for selecting a router to connect a bridge in the network on chip (NoC) | |
CN110198268A (zh) | 高维度Torus网络架构及自适应路由方法 | |
Lei et al. | Vertical-mesh-conscious-dynamic routing algorithm for 3D NoCs | |
US20170063610A1 (en) | Hierarchical asymmetric mesh with virtual routers | |
Momeni et al. | Improved-XY: A High Performance Wormhole-Switched Routing Algorithm for Irregular 2-D Mesh NoC | |
Dai et al. | An efficient deadlock-free adaptive routing algorithm for 3D network-on-chips | |
Cai et al. | Deadlock-free adaptive routing based on the repetitive turn model for 3D network-on-chip | |
US10084725B2 (en) | Extracting features from a NoC for machine learning construction | |
Tang et al. | A case study of the odd-even turn model | |
Sasakawa et al. | LEF: long edge first routing for two-dimensional mesh network on chip | |
US20240048508A1 (en) | Mixed-Dimension Order Routing |
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 |