CN113079094B - 多处理器网络的处理路径确定方法、装置及存储介质 - Google Patents
多处理器网络的处理路径确定方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113079094B CN113079094B CN202110312857.7A CN202110312857A CN113079094B CN 113079094 B CN113079094 B CN 113079094B CN 202110312857 A CN202110312857 A CN 202110312857A CN 113079094 B CN113079094 B CN 113079094B
- Authority
- CN
- China
- Prior art keywords
- vertex
- dimensional
- target
- starting
- path
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/128—Shortest path evaluation for finding disjoint paths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/128—Shortest path evaluation for finding disjoint paths
- H04L45/1283—Shortest path evaluation for finding disjoint paths with disjoint links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/128—Shortest path evaluation for finding disjoint paths
- H04L45/1287—Shortest path evaluation for finding disjoint paths with disjoint nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种多处理器网络的处理路径确定方法、装置及存储介质,属于计算机技术领域,该方法包括:对于n维局部扭立方体结构中的起始顶点和目标顶点,根据n的取值从局部扭立方体结构中,确定从起始顶点至目标顶点的n条顶点不相交路径,n条顶点不相交路径的路径长度均小于或等于局部扭立方体结构的直径加2;可以解决由于现有的构建顶点不相交路径的算法求得的n条顶点不相交路径组中最长的一条路径为n+1,导致数据延时较大的问题;由于可以将n条顶点不相交路径组中最长的一条路径缩短为局部扭立方体结构的直径加2,因此,可以缩短路径长度,提高数据传输速度。
Description
技术领域
本申请涉及一种多处理器网络的处理路径确定方法、装置及存储介质,属于计算机技术领域。
背景技术
随着高性能并行计算机性能的不断提高,它所拥有的处理器(或称处理机)数量变得越来越庞大。将若干个处理器以特定的方式连接起来所得到的网络称为互连网络(Interconnection Network),一个互连网络可以用一个简单图G=(V,E)来表示,其中V代表图的顶点集合,该顶点集合中的每个顶点代表互连网络中的处理器结点;而E代表边集,该边集中的边则代表处理器结点间的连接链路。
超立方体网络是一种典型的互连网络拓扑结构,已经被用作多种高性能并行计算机的底层拓扑结构。局部扭立方体是超立方体的一种重要变型,它的直径约为超立方体的一半,比超立方体具有更好的通行性能。
然而,对任意的整数n≥2,目前的局部扭立方体上任意两个顶点间构造n条顶点不相交路径的算法求得的n条顶点不相交路径组中最长的那条的长度为n+1。由于最长的那条路径为n+1,所以用于数据并行传输时,数据延时会较大。
发明内容
本申请提供了一种多处理器网络的处理路径确定方法、装置及存储介质,可以解决由于现有的构建顶点不相交路径的算法求得的n条顶点不相交路径组中最长的一条路径为n+1,导致数据延时较大的问题。本申请提供如下技术方案:
第一方面,提供一种多处理器网络的处理路径确定方法,所述多处理器网络的网络拓扑结构包括具有2n个顶点的n维局部扭立方体结构,所述2n个顶点中的每个顶点表示所述多处理器网络中的一个处理节点,所述n为大于1的整数,所述方法包括:
获取n的取值;
对于所述局部扭立方体结构中的起始顶点和目标顶点,根据所述n的取值从所述局部扭立方体结构中,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,所述n条顶点不相交路径的路径长度均小于或等于所述局部扭立方体结构的直径加2。
可选地,在所述n的取值为2时,所述根据所述n的取值从所述局部扭立方体结构中,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
通过枚举法确定所述n条顶点不相交路径。
可选地,在所述n的取值属于第一集合时,所述第一集合为{3,4,5}与大于或等于6的偶数的并集,所述根据所述n的取值从所述局部扭立方体结构中,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
确定所述起始顶点与所述目标顶点是否属于同一n-1维的低维子图;
在所述起始顶点与所述目标顶点属于同一n-1维的低维子图时,基于递归算法从所述n-1维的低维子图中确定所述n-1的低维子图的n-1条顶点不相交路径,所述n-1条顶点不相交路径的路径长度均小于或等于所述n-1维的低维子图的直径加2;在另一n-1维的低维子图中,确定所述起始顶点的邻接顶点和所述目标顶点的邻接顶点,且所述起始顶点的邻接顶点与所述目标顶点的邻接顶点之间的路径长度小于或等于所述另一n-1维的低维子图的直径;将所述起始顶点至所述起始顶点的邻接顶点至所述目标顶点的邻接顶点至所述目标顶点之间的路径作为第n条顶点不相交路径;
在所述起始顶点与所述目标顶点不属于同一n-1维的低维子图时,基于递归算法和所述局部扭立方体结构的强弱邻居性质,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径。
可选地,所述局部扭立方体结构中的强弱邻居性质是指:对于位于不同n-1维的低维子图中、且邻接的第一顶点和第二顶点,在所述第一顶点所在n-1维的低维子图中确定所述第一顶点的邻接顶点,在所述第二顶点所在n-1维的低维子图中确定所述邻接顶点的邻接顶点,若所述第二顶点与所述邻接顶点的邻接顶点邻接,则所述第一顶点与所述邻接顶点为强邻居;若所述第二顶点与所述邻接顶点的邻接顶点不邻接,则所述第一顶点与所述邻接顶点弱邻居;在所述局部扭立方体结构中,所述第一顶点具有n-2个强邻居和1个弱邻居;
所述基于递归算法和所述局部扭立方体结构的强弱邻居性质,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
在所述起始顶点所在n-1维的低维子图中,确定所述目标顶点的邻接顶点;
在所述起始顶点所在n-1维的低维子图中确定所述邻接顶点的n-2个强邻居和1个弱邻居;
对于每个强邻居,确定所述起始顶点至所述强邻居至所述强邻居的邻接顶点至所述目标顶点构成的顶点不相交路径,得到n-2条顶点不相交路径;所述强邻居的邻接顶点位于所述目标顶点所在n-1维的低维子图中;
确定所述起始顶点至所述弱邻居至所述目标顶点的邻接顶点至所述目标顶点构成的顶点不相交路径,得到第n-1条顶点不相交路径;
在所述目标顶点所在n-1维的低维子图中,确定所述起始顶点的邻接顶点,所述起始顶点的邻接顶点与所述目标顶点之间的路径长度小于或等于所述n-1维的低维子图的直径加2;
确定所述起始顶点至所述起始顶点的邻接顶点至所述目标顶点构成的顶点不相交路径,得到第n条顶点不相交路径。
可选地,在所述n的取值属于第二集合时,所述第二集合为大于或等于7的奇数的集合,所述根据所述n的取值从所述局部扭立方体结构中,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
确定所述目标顶点是否属于所述起始顶点所在n-2维的低维子图的n维顶点集;所述n为顶点集是与所述n-2维的低维子图中的顶点相邻接的顶点的集合;
在所述目标顶点属于所述n维顶点集时,基于递归算法确定从所述起始顶点至所述目标顶点的n条顶点不相交路径;
在所述目标顶点不属于所述n维顶点集时,按照预设的路由算法确定从所述起始顶点至所述目标顶点的n条顶点不相交路径。
可选地,所述基于递归算法确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
确定所述起始顶点与所述目标顶点是否属于同一n-2维的低维子图;
在所述起始顶点与所述目标顶点属于同一n-2维的低维子图时,基于递归算法从所述n-2维的低维子图中确定所述n-2的低维子图的n-2条顶点不相交路径,所述n-2条顶点不相交路径的路径长度均小于或等于所述n-2维的低维子图的直径加2;分别在另外两个n-2维的低维子图中,分别确定所述起始顶点的邻接顶点和所述目标顶点的邻接顶点,且所述起始顶点的邻接顶点与所述目标顶点的邻接顶点之间的路径长度小于或等于所述另外两个n-2维的低维子图的直径;对于所述另外两个n-2维的低维子图中任意一个n-2维的低维子图,将所述起始顶点至所述起始顶点的邻接顶点至所述目标顶点的邻接顶点至所述目标顶点之间的路径构成顶点不相交路径,得到第n-1条顶点不相交路径和第n条顶点不相交路径;
在所述起始顶点与所述目标顶点不属于同一n-2维的低维子图时,基于递归算法和所述局部扭立方体结构的强弱邻居性质,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径。
可选地,所述基于递归算法和所述局部扭立方体结构的强弱邻居性质,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
在所述起始顶点所在n-2维的低维子图中,确定所述目标顶点的邻接顶点;
在所述起始顶点所在n-2维的低维子图中确定所述邻接顶点的n-3个强邻居和1个弱邻居;
对于每个强邻居,确定所述起始顶点至所述强邻居至所述强邻居的邻接顶点至所述目标顶点构成的顶点不相交路径,得到n-3条顶点不相交路径;所述强邻居的邻接顶点位于所述目标顶点所在n-2维的低维子图中;
确定所述起始顶点至所述弱邻居至所述目标顶点的邻接顶点至所述目标顶点构成的顶点不相交路径,得到第n-2条顶点不相交路径;
在与所述起始顶点所在n-2维的低维子图不同的其它两个n-2维的低维子图中,确定所述起始顶点的邻接顶点,所述起始顶点的邻接顶点与所述目标顶点之间的路径长度小于或等于所述n-2维的低维子图的直径加2;
分别确定所述起始顶点至所述起始顶点的邻接顶点至所述目标顶点构成的顶点不相交路径,得到第n-1条顶点不相交路径和第n条顶点不相交路径。
可选地,所述按照预设的路由算法确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
创建第一跳转元素和第二跳转元素,所述第一跳转元素和所述第二跳转元素均是n位二进制字符串;其中,第p个第一跳转元素ep的第p位为1、其余位为0,p依次为小于或等于n的正整数;第q个第二跳转元素Eq的第q位和第q+1位为1、其余位为0,q依次为小于n-1的正整数,第n-1个第二跳转元素En-1与第n-1个第一跳转元素相同en-1、且第n个第二跳转元素En与第n个第一跳转元素相同en;
对于第i条路径,基于所述标号分组创建所述第i条路径对应的跳转集合,所述跳转集合包括所述第二跳转元素、或者包括所述第二跳转元素和所述第一跳转元素;所述i依次为小于或等于n的正整数;
在所述跳转集合中不存在所述第一跳转元素时,调用预设顶点跳转方式进行路由,得到第i条顶点不相交路径;
在所述跳转集合中存在所述第一跳转元素时,选择所述跳转集合中下标记最小的第一跳转元素;
确定所述下标记最小的第一跳转元素的下标记j是否与i的值相等;
在j与i相等时,从所述起始顶点跳转到所述起始顶点的顶点标号与所述下标记最小的第一跳转元素进行叠加后所对应的顶点;再依次利用所述跳转集合中的其它各个第一跳转元素进行跳转,接着利用第n个第一跳转元素进行跳转;之后,利用所述跳转集合中各个第二跳转元素进行跳转,最后利用第n个第一跳转元素进行跳转,得到第i条顶点不相交路径;
在j与i不相等时,调用所述预设顶点跳转方式进行路由,得到第i条顶点不相交路径。
可选地,所述调用所述预设顶点跳转方式进行路由,包括:
在i与n相等时,从所述起始顶点跳转至所述起始顶点的顶点标号与第n个第一跳转元素进行叠加后所对应的顶点,接着利用所述跳转集合中各个第二跳转元素进行跳转,接着利用第n个第一跳转元素进行跳转,最后利用所述跳转集合中各个第一跳转元素进行跳转,得到第i条顶点不相交路径;
在i与n不相等时,从所述起始顶点跳转至所述起始顶点的顶点标号与第i个第一跳转元素进行叠加后所对应的顶点,确定所述跳转集合中是否存在第二跳转元素;
在所述跳转集合中存在第二跳转元素时,利用第n个第一跳转元素进行跳转,接着利用所述跳转集合中的各个第二跳转元素进行跳转,再利用第n个第一跳转元素进行跳转,之后利用所述跳转集合中的各个第一跳转元素进行跳转,最后将i所在组对应的一位跳转为0,得到第i条顶点不相交路径;
在所述跳转集合中不存在第二跳转元素时,利用所述跳转集合中的各个第一跳转元素进行跳转,最后将i所在组中为1的一位跳转为0,得到第i条顶点不相交路径。
可选地,所述对于第i条路径,基于所述标号分组创建所述第i条路径对应的跳转集合,包括:
初始化所述跳转集合为空集;
在当前所在顶点的顶点标号各位均不为0时,则对于起始顶点的顶点标号,从i所在组之后的一位开始至倒数第二位寻找第一个为1的位;若i所在组之后的所有位均为0,则在i所在组之前从第一位开始寻找,找到所述第一个为1的位;将所述第一个为1的位的下标记为r;r为小于或等于n的正整数;
在r等于n-1时,将第r个第一跳转元素加入所述跳转集合;
在r为奇数时,若r小于或等于n-2、且所述起始顶点的第r+1位为0,则将第r个第一跳转元素加入所述跳转集合;若r小于或等于n-2、且所述起始顶点的第r+1位为1,则将第r个第二跳转元素加入所述跳转集合;
在r为偶数时,若r小于或等于n-2,则将第r个第一跳转元素加入所述跳转集合。
第二方面,提供一种多处理器网络的处理路径确定装置,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面提供的多处理器网络的处理路径确定方法。
第三方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序被处理器执行时用于实现第一方面提供的多处理器网络的处理路径确定方法。
本申请的有益效果至少包括:通过对于局部扭立方体结构中的起始顶点和目标顶点,根据n的取值从局部扭立方体结构中,确定从起始顶点至目标顶点的n条顶点不相交路径,n条顶点不相交路径的路径长度均小于或等于局部扭立方体结构的直径加2;可以解决由于现有的构建顶点不相交路径的算法求得的n条顶点不相交路径组中最长的一条路径为n+1,导致数据延时较大的问题;由于可以将n条顶点不相交路径组中最长的一条路径缩短为局部扭立方体结构的直径加2,因此,可以缩短路径长度,提高数据传输速度。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的局部扭立方体LTQ3和LTQ4的结构示意图;
图2是本申请一个实施例提供的多处理器网络的处理路径确定方法的流程图;
图3是本申请一个实施例提供的u和v不在同一n-1维的低维子图中时,确定n条顶点不相交路径的示意图;
图4是本申请一个实施例提供的v属于n维顶点集时,确定n条顶点不相交路径的示意图;
图5是本申请一个实施例提供的多处理器网络的处理路径确定装置的框图;
图6是本申请又一个实施例提供的多处理器网络的处理路径确定装置的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
首先,对本申请涉及的若干名词进行介绍。
超立方体:是一种多处理器互联网络拓扑结构。具有高连通性、对称性、正则性等。超立方体是一个正则图,它的每一个顶点具有相同的度。每个顶点的度均为k的图。
顶点度(Node Degree),简称为度(Degree):图中与某个顶点相关联的边的数目。
正则(d-Regular):如果图中每个顶点的度都为d,那么图为d-正则图。
邻接(或称相邻):如果两个顶点之间有边相连,则两个顶点邻接,这两个顶点之间互为邻居;如果两条边有一个共同的端点,则两条边相邻。
顶点不相交(Node-Disjoint)路径:一个多处理器网络上的n条路径如果具有相同的起点和终点,且其它顶点都不重复,则这n条路径为顶点不相交路径。n为正整数。
路径(Path):图G中的路径是顶点序列<v1,v2,…,vn-1,vn>,使得对于1≤i≤n-1,(vi,vi+1)是G中的边。路径的长度是路径中边的数目。顶点vi和vi+1称为路径的端点。以顶点vi和vi+1为端点的路径记为P(vi,vi+1)。
距离:任一顶点u和v之间的最短路径的长度就是它们之间的距离,记为dist(G,u,v),简写为dist(u,v)。
直径(Diameter):图的直径定义为D(G)=max{dist(G,u,v)|u,v∈V(G)并且u≠v}。
局部扭立方体:是超立方体的一种变型。和n维超立方体类似,n维局部扭立方体LTQn是一个有2n个顶点的n-正则图。LTQn的每一个顶点用一个唯一的长度为n的二进制串来标识。一个长度为n的二进制串x被表示为:x1x2…xn-1x,其中,x1为最高位,xn为最低位。LTQn的递归定义如下:
对于任意的整数n≥2,一个n-维局部扭立方体LTQn,被递归定义如下:
(1)LTQ2是一个图,由4个顶点组成,标号分别为00,01,10和11,且这4个顶点由4条边相连:(00,01),(00,10),(01,11)和(10,11)。
(2)对于任意的整数n≥3,LTQn由两个LTQn-1的拷贝构造。LTQ(n-1) 0表示在其中一个拷贝中的每个顶点标号前加0,而LTQ(n-1) 1表示在另一个拷贝中的每个顶点标号前加1。将LTQ(n-1) 0的每个顶点x=0x2x3…xn和LTQ(n-1) 1的每个顶点y=1(x2+xn)x3…xn用边连接,其中+代表了模2加。参考图1左侧所示的局部扭立方体LTQ3和图1右侧所示的局部扭立方体LTQ4。
局部扭立方体的直径为:D(LTQ2)=D(LTQ3)=2,D(LTQ4)=3;对于任意的整数n≥5,因此,D(LTQ5)=4,D(LTQ6)=5,D(LTQ7)=5,D(LTQ8)=6,D(LTQ9)=6,D(LTQ10)=7,D(LTQ11)=7,……,依次循环。
在局部扭立方体中,对于任意的整数n≥2,n维的局部扭立方体的任意一对顶点对间存在n条顶点不相交路径。其中,顶点对间的n条顶点不相交路径中最长的路径最短的那一组被称为“顶点对间最优顶点不相交路径组”。
“顶点对间最优顶点不相交路径组”中最长的那条路径的长度就是局部扭立方体的图的宽直径。换句话说,宽直径:是指图中任意两顶点的顶点对间最优顶点不相交路径组中最长路径的长度。若宽直径越小,则数据在多路径传输中的传输延迟就越小。本申请中,为了缩短多路径传输中的传输延迟,局部扭立方体的图的宽直径为局部扭立方体的直径加2,即,等于
可选地,本申请以各个实施例的执行主体为电子设备为例进行说明,该电子设备可以为终端或服务器等具有计算能力的设备。
下面对本申请提供的多处理器网络的处理路径确定方法进行介绍。本实施例中,多处理器网络的网络拓扑结构包括具有2n个顶点的n维局部扭立方体结构,2n个顶点中的每个顶点表示多处理器网络中的一个处理节点,n为大于1的整数。多处理器网络中的每个处理节点可以为计算机、服务器、手机等具有传输能力和数据处理能力的设备,本实施例不对处理节点的实现方式作限定。
图2是本申请一个实施例提供的多处理器网络的处理路径确定方法的流程图。该方法至少包括以下几个步骤:
步骤201,获取n的取值。
n的值可以是在部署多处理器网络结束后存储在电子设备中的,或者是其它设备发送的,或者是用户输入的,本实施例不对n的获取方式作限定。
步骤202,对于局部扭立方体结构中的起始顶点和目标顶点,根据n的取值从局部扭立方体结构中,确定从起始顶点至目标顶点的n条顶点不相交路径,n条顶点不相交路径的路径长度均小于或等于局部扭立方体结构的直径加2。
在一个示例中,在n的取值为2时,根据n的取值从局部扭立方体结构中,确定从起始顶点至目标顶点的n条顶点不相交路径,包括:通过枚举法确定n条顶点不相交路径。
此时,由于n的取值较小,因此可以通过枚举法找到2条顶点不相交路径,使得每条不相交路径均小于或等于局部扭立方体结构的直径加2。
比如:LTQ2是一个图,由4个顶点组成,4个顶点的顶点标号分别为00,01,10和11,且这4个顶点由4条边相连:(00,01),(00,10),(01,11)和(10,11)。以起始顶点u=00、目标顶点v=01为例进行说明,P1=00→01;P2=00-→10→01,其中,|P1|≤|P2|≤D(LTQ2)+2=4。
在一个示例中,在n的取值属于第一集合时,第一集合为{3,4,5}与大于或等于6的偶数的并集。此时,D(LTQn)=D(LTQn-1)+1。
相应地,根据n的取值从局部扭立方体结构中,确定从起始顶点至目标顶点的n条顶点不相交路径,包括:确定起始顶点与目标顶点是否属于同一n-1维的低维子图;在起始顶点与目标顶点属于同一n-1维的低维子图时,基于递归算法从n-1维的低维子图中确定n-1的低维子图的n-1条顶点不相交路径,n-1条顶点不相交路径的路径长度均小于或等于n-1维的低维子图的直径加2;在另一n-1维的低维子图中,确定起始顶点的邻接顶点和目标顶点的邻接顶点,且起始顶点的邻接顶点与目标顶点的邻接顶点之间的路径长度小于或等于另一n-1维的低维子图的直径;将起始顶点至起始顶点的邻接顶点至目标顶点的邻接顶点至目标顶点之间的路径作为第n条顶点不相交路径;在起始顶点与目标顶点不属于同一n-1维的低维子图时,基于递归算法和局部扭立方体结构的强弱邻居性质,确定从起始顶点至目标顶点的n条顶点不相交路径。
其中,局部扭立方体结构中的强弱邻居性质是指:对于位于不同n-1维的低维子图中、且邻接的第一顶点和第二顶点,在第一顶点所在n-1维的低维子图中确定第一顶点的邻接顶点,在第二顶点所在n-1维的低维子图中确定邻接顶点的邻接顶点,若第二顶点与邻接顶点的邻接顶点邻接,则第一顶点与邻接顶点为强邻居;若第二顶点与邻接顶点的邻接顶点不邻接,则第一顶点与邻接顶点弱邻居;在局部扭立方体结构中,第一顶点具有n-2个强邻居和1个弱邻居。
相应地,基于递归算法和局部扭立方体结构的强弱邻居性质,确定从起始顶点至目标顶点的n条顶点不相交路径,包括:在起始顶点所在n-1维的低维子图中,确定目标顶点的邻接顶点;在起始顶点所在n-1维的低维子图中确定邻接顶点的n-2个强邻居和1个弱邻居;对于每个强邻居,确定起始顶点至强邻居至强邻居的邻接顶点至目标顶点构成的顶点不相交路径,得到n-2条顶点不相交路径;强邻居的邻接顶点位于目标顶点所在n-1维的低维子图中;确定起始顶点至弱邻居至目标顶点的邻接顶点至目标顶点构成的顶点不相交路径,得到第n-1条顶点不相交路径;在目标顶点所在n-1维的低维子图中,确定起始顶点的邻接顶点,起始顶点的邻接顶点与目标顶点之间的路径长度小于或等于n-1维的低维子图的直径加2;确定起始顶点至起始顶点的邻接顶点至目标顶点构成的顶点不相交路径,得到第n条顶点不相交路径。
可选地,在n=3时,电子设备也可以通过枚举法找到3条顶点不相交路径,且每条顶点不相交路径的路径长度均小于或等于D(LTQ3)+2=4。
由于LTQ3是顶点对称的,因此,本实施例中,以起始顶点u=000为例进行说明,此时,可以被分成下面的7种情况,下面列出从顶点u=000到LTQ3中其它7个目标顶点v的3条顶点不相交路径。
情况1:v=100,可以找到三条路径如下:P1:000→100;P2:000→010→110→100;P3:000→001→111→101→100。
情况2:v=010,可以找到三条路径如下:P1:000→010;P2:000→100→110→010;P3:000→001→011→010。
情况3:v=110,可以找到三条路径如下:P1:000→100→110;P2:000→010→110;P3:000→001→111→110。
情况4:v=111,可以找到三条路径如下:P1:000→001→111;P2:000→010→110→111;P3:000→100→101→111。
情况5:v=011,可以找到三条路径如下:P1:000→100→101→011;P2:000→001→011;P3:000→010→011。
情况6:v=001,可以找到三条路径如下:P1:000→001;P2:000→010→011→001;P3:000→100→110→111→001。
情况7:v=101,可以找到三条路径如下:P1:000→100→101;P2:000→010→011→101;P3:000→001→111→101。
下面对上述n属于第一集合的路径确定方式举例进行说明。对于或即起始顶点和目标顶点属于同一低维子图。由于在中的顶点u和v间有n-1条顶点不相交的路径,表示为P1,P2,...,Pn-1且|P1|≤|P2|≤...≤|Pn-1|≤D(LTQn-1)+2≤D(LTQn)+2。因此,只需通过下述的FindPn(u,v,n)再找一条顶点不相交的路径,即可得到n条顶点不相交的路径。
FindPn(u,v,n):顶点u有它的邻接点u′在中,顶点v有它的邻接点v′在中。因此,可以容易的找到在中顶点u′到v′的一条路径dist(u′,v′)≤D(LTQn-1)。用SP(u′,v′)来表示u′和v′间的最短路径,用dist(u′,v′)来表示SP(u′,v′)的长度。可以得到第n条路径Pn:u→SP(u′,v′)→v。|Pn|=|P(u,v)|=2+dist(u′,v′)≤D(LTQn-1)+2≤D(LTQn)+2。很明显,Pn和P1,P2,...,Pn-1顶点不相交,因此P1,P2,...,Pn是顶点不相交的。
u和v不在LTQn-1的同一个低维子图中,如图3所示。这种情况可以根据强弱邻居的性质进行分析。强弱邻居性质描述如下:图令uL表示L中的顶点,并且uR表示R中的顶点。令uL和vL是L中的相邻顶点,且uR是uL的邻居,vR是vL的邻居。如果uR和vR在R中是邻居,则vL是uL的强邻居。如果uR和vR在R中不是邻居,则vL是uL的弱邻居。已知对于任意的整数n≥4,对于任意中的顶点u,u在中有n-2个强邻居和一个弱邻居。其中,圈加是异或的意思,即两个参与运算的数,不同则结果为1,相同则结果为零。
参考图3,假设根据LTQn中强弱邻居的性质,可以构建如图2所示的路径。构建过程如下:首先,将v在LTQn-1 0中的相邻结点记为u’。因为u’与v是邻居,所以可以找到u’的n-2个强邻居记作u2’…un-1’,这n-2个顶点与LTQn-1 1中的v2’…vn-1’分别相邻。将u在LTQn-1 1中的相邻顶点记作u”。假设u与u’间存在n-1条顶点不相交的路径,并且u”与v间存在n-1条顶点不相交的路径,这些路径的长度都小于等于D(LTQn-1)+2。因此可以得到u和v间的n条顶点不相交路径长度小于等于D(LTQn)+2。这n条路径如下:
(1)首先,构造n-2条顶点不相交路径P1,P2...Pn-2,|P1|≤|P2|≤...≤|Pn-2|≤D(LTQn-1)+2-1+2=D(LTQn-1)+2+1=D(LTQn)+2。
P1=<P(u,u2’),v2’,v>,
P2=<P(u,u3'),v3',v>,
…
Pn-2=<P(u,un-1'),vn-1',v>.
(2)找到第n-1条路径,并计算长度;
Pn-1=<P(u,u1'),u',v>,|P_{n-1}|=|P(u,u')|+1=D(LTQn-1)+2+1=(LTQn)+2。
(3)根据假设且u”与v间存在n-1条顶点不相交的路径,这些路径的长度都小于等于D(LTQn-1)+2,因此,可以获得第n条路径:
Pn=<u,P(u”,v)>,|Pn|=|SP(u”,v)|+2=D(LTQn-1)+2≤D(LTQn)+2。
基于上述内容可以确定出在n的取值属于第一集合时,均可以确定出n条顶点不相交路径,路径的长度都小于等于D(LTQn)+2。
比如:对于5维的局部扭立方体LTQ5,以顶点对00000和11101为例,按照上述方式来构造顶点对00000和11101间的5条顶点不相交路径。令u=00000,v=11101,因为u在LTQ4 0中,v在LTQ4 1中,两个顶点不在同一个子图中。因此,首先找到v在LTQ4 0中的邻居u’=00101,根据LTQ中强弱邻居的性质,可以找到v的三个邻居v2’=11111,v3’=11011,v4’=10001,这三个点在LTQ4 0有三个邻居分别为u2’=00111,u3’=00011,u4’=01001,u’在LTQ4 0中的第4个邻居是u1’=00100,根据递归基础,在LTQ4 0中u和u’间存在4条顶点不相交的路径,利用这四条顶点不相交路径,可以构造LTQ5中前四条顶点不相交路径如下:
P1:P(u,u2’),11111,11101
P2:P(u,u3’),11011,11101
P3:P(u,u4’),10001,11101
P4:P(u,u1’),00101,11101
u在LTQ41中有邻居u”=10000,因此可以构造5条顶点不相交路径:
P5:u,P(u”,v1’),v
由此,可以找到5条顶点不相交路径:
P1:00000→00001→00111→11111→11101,经过的边为(00000,00001)、(00001,00111)、(00111,11111)和(11111,11101)。
P2:00000→00010→00011→11011→11101,经过的边为(00000,00010)(00010,00011)(00011,11011)(11011,11101)。
P3:00000→01000→01001→10001→11101,经过的边为(00000,01000)、(01000,01001)、(01001,10001)、(10001,11101)。
P4:00000→00100→00101→11101,经过的边为(00000,00100)、(00100,00101)、(00101,11101)。
P5:00000→10000→11000→11100→11101,经过的边为(00000,10000)、(10000,11000)、(11000,11100)、(11100,11101)。
在一个示例中,在n的取值属于第二集合时,第二集合为大于或等于7的奇数的集合。此时,D(LTQn)=D(LTQn-1)。
相应地,根据n的取值从局部扭立方体结构中,确定从起始顶点至目标顶点的n条顶点不相交路径,包括:确定目标顶点是否属于起始顶点所在n-2维的低维子图的n维顶点集;n为顶点集是与n-2维的低维子图中的顶点相邻接的顶点的集合;在目标顶点属于n维顶点集时,基于递归算法确定从起始顶点至目标顶点的n条顶点不相交路径;在目标顶点不属于n维顶点集时,按照预设的路由算法确定从起始顶点至目标顶点的n条顶点不相交路径。
其中,基于递归算法确定从起始顶点至目标顶点的n条顶点不相交路径,包括:确定起始顶点与目标顶点是否属于同一n-2维的低维子图;在起始顶点与目标顶点属于同一n-2维的低维子图时,基于递归算法从n-2维的低维子图中确定n-2的低维子图的n-2条顶点不相交路径,n-2条顶点不相交路径的路径长度均小于或等于n-2维的低维子图的直径加2;分别在另外两个n-2维的低维子图中,分别确定起始顶点的邻接顶点和目标顶点的邻接顶点,且起始顶点的邻接顶点与目标顶点的邻接顶点之间的路径长度小于或等于另外两个n-2维的低维子图的直径;对于另外两个n-2维的低维子图中任意一个n-2维的低维子图,将起始顶点至起始顶点的邻接顶点至目标顶点的邻接顶点至目标顶点之间的路径构成顶点不相交路径,得到第n-1条顶点不相交路径和第n条顶点不相交路径;在起始顶点与目标顶点不属于同一n-2维的低维子图时,基于递归算法和局部扭立方体结构的强弱邻居性质,确定从起始顶点至目标顶点的n条顶点不相交路径。
基于递归算法和局部扭立方体结构的强弱邻居性质,确定从起始顶点至目标顶点的n条顶点不相交路径,包括:在起始顶点所在n-2维的低维子图中,确定目标顶点的邻接顶点;在起始顶点所在n-2维的低维子图中确定邻接顶点的n-3个强邻居和1个弱邻居;对于每个强邻居,确定起始顶点至强邻居至强邻居的邻接顶点至目标顶点构成的顶点不相交路径,得到n-3条顶点不相交路径;强邻居的邻接顶点位于目标顶点所在n-2维的低维子图中;确定起始顶点至弱邻居至目标顶点的邻接顶点至目标顶点构成的顶点不相交路径,得到第n-2条顶点不相交路径;在与起始顶点所在n-2维的低维子图不同的其它两个n-2维的低维子图中,确定起始顶点的邻接顶点,起始顶点的邻接顶点与目标顶点之间的路径长度小于或等于n-2维的低维子图的直径加2;分别确定起始顶点至起始顶点的邻接顶点至目标顶点构成的顶点不相交路径,得到第n-1条顶点不相交路径和第n条顶点不相交路径。
按照预设的路由算法确定从起始顶点至目标顶点的n条顶点不相交路径,包括:创建第一跳转元素和第二跳转元素,第一跳转元素和第二跳转元素均是n位二进制字符串;其中,第p个第一跳转元素ep的第p位为1、其余位为0,p依次为小于或等于n的正整数;第q个第二跳转元素Eq的第q位和第q+1位为1、其余位为0,q依次为小于n-1的正整数,第n-1个第二跳转元素En-1与第n-1个第一跳转元素相同en-1、且第n个第二跳转元素En与第n个第一跳转元素相同en;对起始顶点对应的顶点标号从左至右两两分组,得到组标号分组;对于第i条路径,基于标号分组创建第i条路径对应的跳转集合,跳转集合包括第二跳转元素、或者包括第二跳转元素和第一跳转元素;i依次为小于或等于n的正整数;在跳转集合中不存在第一跳转元素时,调用预设顶点跳转方式进行路由,得到第i条顶点不相交路径;在跳转集合中存在第一跳转元素时,选择跳转集合中下标记最小的第一跳转元素;确定下标记最小的第一跳转元素的下标记j是否与i的值相等;在j与i相等时,从起始顶点的顶点标号跳转至起始顶点标号与下标记最小的第一跳转元素进行叠加后对应的顶点;再依次利用跳转集合中的其它各个第一跳转元素进行跳转,接着利用第n个第一跳转元素进行跳转;之后,利用跳转集合中各个第二跳转元素进行跳转,最后利用第n个第一跳转元素进行跳转,得到第i条顶点不相交路径;在j与i不相等时,调用预设顶点跳转方式进行路由,得到第i条顶点不相交路径。
调用预设顶点跳转方式进行路由,包括:在i与n相等时,从起始顶点的顶点标号跳转到起始顶点标号与第n个第一跳转元素进行叠加后对应的顶点,接着利用跳转集合中各个第二跳转元素进行跳转,接着利用第n个第一跳转元素进行跳转,最后利用跳转集合中各个第一跳转元素进行跳转,得到第i条顶点不相交路径;在i与n不相等时,从起始顶点的顶点标号跳转到起始顶点标号与第i个第一跳转元素进行叠加后对应的顶点,确定跳转集合中是否存在第二跳转元素;在跳转集合中存在第二跳转元素时,利用第n个第一跳转元素进行跳转,接着利用跳转集合中的各个第二跳转元素进行跳转,再利用第n个第一跳转元素进行跳转,之后利用跳转集合中的各个第一跳转元素进行跳转,最后将i所在组对应的一位跳转为0,得到第i条顶点不相交路径;在跳转集合中不存在第二跳转元素时,利用跳转集合中的各个第一跳转元素进行跳转,最后将i所在组中为1的一位跳转为0,得到第i条顶点不相交路径。
其中,利用跳转元素(第一跳转元素或者第二跳转元素)进行跳转是指跳转至当前顶点的顶点标号与跳转元素进行叠加(对应位进行模2加)后对应的顶点。
对于第i条路径,基于标号分组创建第i条路径对应的跳转集合,包括:初始化跳转集合为空集;在当前所在顶点的顶点标号各位均不为0时,则对于起始顶点的顶点标号,从i所在组之后的一位开始至倒数第二位寻找第一个为1的位;若i所在组之后的所有位均为0,则在i所在组之前从第一位开始寻找,找到第一个为1的位;将第一个为1的位的下标记为r;r为小于或等于n的正整数;在r等于n-1时,将第r个第一跳转元素加入跳转集合;在r为奇数时,若r小于或等于n-2、且起始顶点的第r+1位为0,则将第r个第一跳转元素加入跳转集合;若r小于或等于n-2、且起始顶点的第r+1位为1,则将第r个第二跳转元素加入跳转集合;在r为偶数时,若r小于或等于n-2,则将第r个第一跳转元素加入跳转集合。
下面n属于第二集合情况进行举例说明,如果且的n维顶点集。由于un=0和un=1类似,下面以un=0的情况进行举例说明。在un=0的情况下,考虑vn=0和vn=1两种子情形类似,下面以vn=1为例进行举例说明。由于un=0,vn=1。那么v是LTQn-2 11中的顶点。这种情况可以通过递归算法来找到n条顶点不相交路径。
参考图4,递归算法以n=5作为基础,n=5,可以构造5条顶点不相交路径P1,P2,P3,P4,和P5,使得|P1|≤|P2|≤|P3|≤|P4|≤|P5|≤D(LTQ5)+2。假设n-2时,在LTQn-2中存在n-2条顶点不相交的路径,表示为P1,P2,...,Pn-2且|P1|≤|P2|≤...≤|Pn-2|≤D(LTQn-2)+2=D(LTQn)+1。下面构造LTQn中的n条顶点不相交的路径P1,P2,...,Pn,并且使得|P1|≤|P2|≤...≤|Pn|≤D(LTQn)+2。
对于且的n维顶点集的子情形。因为v属于LTQn-2 00的n维顶点集,所以v与LTQn-2 00的某个顶点相邻,且这个相邻的顶点是v的n维顶点。如图4所示,可以将v的邻接点记作u'。因为u'是LTQn-10中的顶点,而v是u'在LTQn-11中的邻居,根据LTQ的强弱邻居性质,可以构造如图3所示的n条顶点不相交路径:
根据假设u和u'间存在n-2条顶点不相交路径,不失一般性,令|P1|≤|P2|≤...≤|Pn-2|≤D(LTQn-2)+2,因此能找到n-2条顶点不相交路径为:P(u,v)=<P(u,u’),vi,v>,这里i属于1,2,3,…,n-2。我们可以计算得到|P(u,v)|≤D(LTQn-2)+2-1+2=D(LTQn)+2。
第n-1条路径为p’=<u,un,…,vn-1,v>,长度为|p’|=D(LTQn-1)+2=D(LTQn)+2。
第n条路径为p”=<v,u’,u’n-1,…,un-1,u>,长度为|p”|=D(LTQn-2)+3=D(LTQn)+2。
需要补充说明的是,图4中以u和v属于不同的n-2维低维子图为例进行说明,在u和v属于同一n-2维低维子图时,寻找n条顶点不相交路径与n属于第一集合时类似,本实施例在此不再赘述。
对于且的n维顶点集的情况,无法通过递归构造给出算法。针对这种情况给出路由算法,通过路由算法计算求得两个顶点间的n条路径,其长度不超过D(LTQn)+2。路由算法思想为:将起始顶点的顶点标号从左到右两两成对分成对。比如:起始顶点包括6位,因为n=6所以可以分为三对。又比如:起始顶点包括9位,因为n=9所以可以分为四对,最后一位舍弃。寻找顶点x和顶点y间的第i条顶点不相交路径,在这种情况下,以顶点x的顶点标号为n个0(下文中通过0n)为例进行说明。
令第一跳转元素ei为长度为n的一串0和1组成的串,其中第i位为1。举例:e1=1000…00,e2=0100…00,…en=0000…01。令En-1=en-1,En=en,其余的Ei为长度为n的一串0和1组成的串,其中第i位和第i+1位为1。E1=1100…00,E2=0110…0000,E3=0011…0000,…,En-2=0000…110,,En-1=0000…010,En=0000…001。根据LTQ的定义,如果要通过跳转一步使得顶点标号改变两位,那么顶点标号的最后一位必须为1。下面列出构造第i条路径的路由算法findPath(y,i)。
路由算法findPath(y,i)构造第i条路径:
步骤1:利用子算法Mset(y,i)获取构造第i条路径需要用到的跳转集合M,M是由Ei和ei所构成的集合。
其中,子算法Mset(y,i)构造第i条路径需要用到的跳转集合M。
M初始化为空集,从左到右遍历y顶点标号字符串,因为字符串从左到右两两成对分组。如果i为奇数,那么i和k=i+1为一组;如果i为偶数,那么i和k=i-1为一组。算法采用递归构造方法。
如果y=0n则返回;
如果y≠0n则从i所在组后面到倒数第二位,寻找第一个为1的位,把该位的下标数j记为r;如果i组后所有位都为0,则从i所在组之前从第一位开始寻找,找到第一个1的位,把该位的下标数记为r;
如果r=n-1,那么将er加入集合M,递归调用Mset(y+er,i);
如果r是奇数,那么:
如果r≤n-2并且yr+1=0,那么将er加入集合M,递归调用Mset(y+er,i);
如果r≤n-2并且yr+1=1,那么将Er加入集合M,递归调用Mset(y+Er,i);
如果r是偶数,那么如果r≤n-2那么将er加入集合M,递归调用Mset(y+er,i)。
步骤2:如果M中没有元素e,那么调用预设顶点跳转方式route(y,i,M)进行路由,否则取M中e的最小下标记为j。如果i=j,那么首先从y跳转到y+ej,然后依次利用M中的所有e元素进行跳转,接着跳转en,下一步利用M中的所有E元素进行跳转,最后跳转en;否则,如果i和j不相等,则调用子算法route(y,i,M)进行路由。
预设顶点跳转方式route(y,i,M):
如果i=n,那么该条路径按照下列方式路由:跳转en,接着跳转M中所有E,跳转en,接着跳转M中所有e。
如果i≠n,那么跳转ei,然后判断M中有无E:
如果M存在E,那么跳转en,跳转M中所有E,跳转en,跳转M中所有e。将i所在对中为1的那一位跳转为0。
如果M不存在E,跳转M中所有e。将i所在对中为1的那一位跳转为0。
经计算,通过上述路由算法findPath(y,i)构造的n条路径的长度上界D(LTQn)+2。由于y顶点下标被两两分对,分对一共分为四种情况00,01,10,11,分别考虑yi在四种不同分对中,可以分析出这样构造的n条路径是顶点不相交的。
因此,通过上面的方法可以找到LTQn中任意一对顶点间的n条顶点不相交路径的长度上界为D(LTQn)+2。
对于7维的局部扭立方体LTQ7,对于且的7维顶点集的特殊情形,以顶点对y=1111110和x=0000000为例,构造7条顶点不相交路径。根据路由算法findPath(y,i),首先利用子算法Mset(y,i)获取构造第i条路径需要用到的跳转集合M,得到:i=1时M={E3,E5,E1};i=2时M={E3,E5,E1};i=3时M={E5,E1,E3};i=4时M={E5,E1,E3};i=5时M={E1,E3,E5};i=6时M={E1,E3,E5};i=7时M={E1,E3,E5}。
i=1时求P1,根据findPath(y,i),由于M中没有e,直接调用子算法route(y,i,M),第一步是从y跳转到y+e1,跳转后y从1111110变为了0111110;由于M中有元素E,因此第二步是从y跳转到y+en,跳转后y从0111110变成了0111111;下面三步分别是跳转M中的E3,E5和E1,也就是y依次跳转为0100111,0100001,1000001;下一步是从y跳转到y+en,跳转后y从1000001变成了1000000;最后将i=1所在对中为1的那一位跳转为0,也就是跳转到0000000。此时,P1构造完毕。P1:0111110→0111111→0100111→0100001→1000001→1000000→0000000,经过的边为(0111110,0111111)、(0111111,0100111)、(0100111,0100001)、(0100001,1000001)、(1000001,1000000)和(1000000,0000000)。
当i=2,i=3,i=4,i=5,i=6,i=7时,根据findPath(y,i)利用子算法Mset(y,i)构造的跳转集合M,分别可以构造出P2,P3,P4,P5,P6和P7。这7条顶点不相交路径如下:
P1:
0111110→0111111→0100111→0100001→1000001→1000000→0000000
经过的边为(0111110,0111111)、(0111111,0100111)、(0100111,0100001)、(0100001,1000001)、(1000001,1000000)和(1000000,0000000)。
P2:
1011110→1011111→1000111→1000001→0100001→0100000→0000000
经过的边为(1011110,1011111)、(1011111,1000111)、(1000111,1000001)、(1000001,0100001)、(0100001,0100000)和(0100000,0000000)。
P3:
1101110→1101111→1101001→0001001→0010001→0010000→0000000
经过的边为(1101110,1101111)、(1101111,1101001)、(1101001,0001001)、(0001001,0010001)、(0010001,0010000)和(0010000,0000000)。
P4:
1110110→1110111→1110001→0010001→0001001→0001000→0000000
经过的边为(1110110,1110111)、(1110111,1110001)、(1110001,0010001)、(0010001,0001001)、(0001001,0001000)和(0001000,0000000)。
P5:
1111010→1111011→0011011→0000011→0000101→0000100→0000000
经过的边为(1111010,1111011)、(1111011,0011011)、(0011011,0000011)、(0000011,0000101)、(0000101,0000100)和(0000100,0000000)。
P6:
1111100→1111101→0011101→0000101→0000011→0000010→0000000
经过的边为(1111100,1111101)、(1111101,0011101)、(0011101,0000101)、(0000101,0000011)、(0000011,0000010)和(0000010,0000000)。
P7:
1111111→0011111→0000111→0000001→000000
经过的边为(1111111,0011111)、(0011111,0000111)、(0000111,0000001)和(0000001,0000000)。
可选地,在电子设备的计算能力足够强大时,电子设备也可以通过枚举法枚举出各种局部扭立方体结构的n条顶点不相交路径,使得n条顶点不相交路径的路径长度均小于或等于局部扭立方体结构的直径加2。
在确定出n条顶点不相交路径后,可以通过n条顶点不相交路径实现从起始顶点至目标顶点的并行数据传输。
综上所述,本实施例提供的多处理器网络的处理路径确定方法,通过对于局部扭立方体结构中的起始顶点和目标顶点,根据n的取值从局部扭立方体结构中,确定从起始顶点至目标顶点的n条顶点不相交路径,n条顶点不相交路径的路径长度均小于或等于局部扭立方体结构的直径加2;可以解决由于现有的构建顶点不相交路径的算法求得的n条顶点不相交路径组中最长的一条路径为n+1,导致数据延时较大的问题;由于可以将n条顶点不相交路径组中最长的一条路径缩短为局部扭立方体结构的直径加2,因此,可以缩短路径长度,提高数据传输速度。
图5是本申请一个实施例提供的多处理器网络的处理路径确定装置的框图。该装置至少包括以下几个模块:获取模块510和确定模块520。
获取模块510,用于获取n的取值;
确定模块520,用于对于所述局部扭立方体结构中的起始顶点和目标顶点,根据所述n的取值从所述局部扭立方体结构中,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,所述n条顶点不相交路径的路径长度均小于或等于所述局部扭立方体结构的直径加2。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的多处理器网络的处理路径确定装置在进行多处理器网络的处理路径确定时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将多处理器网络的处理路径确定装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多处理器网络的处理路径确定装置与多处理器网络的处理路径确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本申请一个实施例提供的多处理器网络的处理路径确定装置的框图。该装置至少包括处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的多处理器网络的处理路径确定方法。
在一些实施例中,多处理器网络的处理路径确定装置还可选包括有:外围设备接口和至少一个外围设备。处理器601、存储器602和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,多处理器网络的处理路径确定装置还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的多处理器网络的处理路径确定方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的多处理器网络的处理路径确定方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种多处理器网络的处理路径确定方法,其特征在于,所述多处理器网络的网络拓扑结构包括n维具有2n个顶点的局部扭立方体结构,所述2n个顶点中的每个顶点表示所述多处理器网络中的一个处理节点,所述n为大于1的整数,所述方法包括:
获取n的取值;
对于所述局部扭立方体结构中的起始顶点和目标顶点,根据所述n的取值从所述局部扭立方体结构中,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,所述n条顶点不相交路径的路径长度均小于或等于所述局部扭立方体结构的直径加2。
2.根据权利要求1所述的方法,其特征在于,在所述n的取值为2时,根据所述n的取值从所述局部扭立方体结构中,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
通过枚举法确定所述n条顶点不相交路径。
3.根据权利要求1所述的方法,其特征在于,在所述n的取值属于第一集合时,所述第一集合为{3,4,5}与大于或等于6的偶数的并集,所述根据所述n的取值从所述局部扭立方体结构中,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
确定所述起始顶点与所述目标顶点是否属于同一n-1维的低维子图;
在所述起始顶点与所述目标顶点属于同一n-1维的低维子图时,基于递归算法从所述n-1维的低维子图中确定所述n-1的低维子图的n-1条顶点不相交路径,所述n-1条顶点不相交路径的路径长度均小于或等于所述n-1维的低维子图的直径加2;在另一n-1维的低维子图中,确定所述起始顶点的邻接顶点和所述目标顶点的邻接顶点,且所述起始顶点的邻接顶点与所述目标顶点的邻接顶点之间的路径长度小于或等于所述另一n-1维的低维子图的直径;将所述起始顶点至所述起始顶点的邻接顶点至所述目标顶点的邻接顶点至所述目标顶点之间的路径作为第n条顶点不相交路径;
在所述起始顶点与所述目标顶点不属于同一n-1维的低维子图时,基于递归算法和所述局部扭立方体结构的强弱邻居性质,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径。
4.根据权利要求3所述的方法,其特征在于,所述局部扭立方体结构中的强弱邻居性质是指:对于位于不同n-1维的低维子图中、且邻接的第一顶点和第二顶点,在所述第一顶点所在n-1维的低维子图中确定所述第一顶点的邻接顶点,在所述第二顶点所在n-1维的低维子图中确定所述邻接顶点的邻接顶点,若所述第二顶点与所述邻接顶点的邻接顶点邻接,则所述第一顶点与所述邻接顶点为强邻居;若所述第二顶点与所述邻接顶点的邻接顶点不邻接,则所述第一顶点与所述邻接顶点弱邻居;在所述局部扭立方体结构中,所述第一顶点具有n-2个强邻居和1个弱邻居;
所述基于递归算法和所述局部扭立方体结构的强弱邻居性质,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
在所述起始顶点所在n-1维的低维子图中,确定所述目标顶点的邻接顶点;
在所述起始顶点所在n-1维的低维子图中确定所述邻接顶点的n-2个强邻居和1个弱邻居;
对于每个强邻居,确定所述起始顶点至所述强邻居至所述强邻居的邻接顶点至所述目标顶点构成的顶点不相交路径,得到n-2条顶点不相交路径;所述强邻居的邻接顶点位于所述目标顶点所在n-1维的低维子图中;
确定所述起始顶点至所述弱邻居至所述目标顶点的邻接顶点至所述目标顶点构成的顶点不相交路径,得到第n-1条顶点不相交路径;
在所述目标顶点所在n-1维的低维子图中,确定所述起始顶点的邻接顶点,所述起始顶点的邻接顶点与所述目标顶点之间的路径长度小于或等于所述n-1维的低维子图的直径加2;
确定所述起始顶点至所述起始顶点的邻接顶点至所述目标顶点构成的顶点不相交路径,得到第n条顶点不相交路径。
5.根据权利要求1所述的方法,其特征在于,在所述n的取值属于第二集合时,所述第二集合为大于或等于7的奇数的集合,所述根据所述n的取值从所述局部扭立方体结构中,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
确定所述目标顶点是否属于所述起始顶点所在n-2维的低维子图的n维顶点集;所述n为顶点集是与所述n-2维的低维子图中的顶点相邻接的顶点的集合;
在所述目标顶点属于所述n维顶点集时,基于递归算法确定从所述起始顶点至所述目标顶点的n条顶点不相交路径;
在所述目标顶点不属于所述n维顶点集时,按照预设的路由算法确定从所述起始顶点至所述目标顶点的n条顶点不相交路径。
6.根据权利要求5所述的方法,其特征在于,所述基于递归算法确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
确定所述起始顶点与所述目标顶点是否属于同一n-2维的低维子图;
在所述起始顶点与所述目标顶点属于同一n-2维的低维子图时,基于递归算法从所述n-2维的低维子图中确定所述n-2的低维子图的n-2条顶点不相交路径,所述n-2条顶点不相交路径的路径长度均小于或等于所述n-2维的低维子图的直径加2;分别在另外两个n-2维的低维子图中,分别确定所述起始顶点的邻接顶点和所述目标顶点的邻接顶点,且所述起始顶点的邻接顶点与所述目标顶点的邻接顶点之间的路径长度小于或等于所述另外两个n-2维的低维子图的直径;对于所述另外两个n-2维的低维子图中任意一个n-2维的低维子图,将所述起始顶点至所述起始顶点的邻接顶点至所述目标顶点的邻接顶点至所述目标顶点之间的路径构成顶点不相交路径,得到第n-1条顶点不相交路径和第n条顶点不相交路径;
在所述起始顶点与所述目标顶点不属于同一n-2维的低维子图时,基于递归算法和所述局部扭立方体结构的强弱邻居性质,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径。
7.根据权利要求6所述的方法,其特征在于,所述基于递归算法和所述局部扭立方体结构的强弱邻居性质,确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
在所述起始顶点所在n-2维的低维子图中,确定所述目标顶点的邻接顶点;
在所述起始顶点所在n-2维的低维子图中确定所述邻接顶点的n-3个强邻居和1个弱邻居;
对于每个强邻居,确定所述起始顶点至所述强邻居至所述强邻居的邻接顶点至所述目标顶点构成的顶点不相交路径,得到n-3条顶点不相交路径;所述强邻居的邻接顶点位于所述目标顶点所在n-2维的低维子图中;
确定所述起始顶点至所述弱邻居至所述目标顶点的邻接顶点至所述目标顶点构成的顶点不相交路径,得到第n-2条顶点不相交路径;
在与所述起始顶点所在n-2维的低维子图不同的其它两个n-2维的低维子图中,确定所述起始顶点的邻接顶点,所述起始顶点的邻接顶点与所述目标顶点之间的路径长度小于或等于所述n-2维的低维子图的直径加2;
分别确定所述起始顶点至所述起始顶点的邻接顶点至所述目标顶点构成的顶点不相交路径,得到第n-1条顶点不相交路径和第n条顶点不相交路径。
8.根据权利要求5所述的方法,其特征在于,所述按照预设的路由算法确定从所述起始顶点至所述目标顶点的n条顶点不相交路径,包括:
创建第一跳转元素和第二跳转元素,所述第一跳转元素和所述第二跳转元素均是n位二进制字符串;其中,第p个第一跳转元素ep的第p位为1、其余位为0,p依次为小于或等于n的正整数;第q个第二跳转元素Eq的第q位和第q+1位为1、其余位为0,q依次为小于n-1的正整数,第n-1个第二跳转元素En-1与第n-1个第一跳转元素相同en-1、且第n个第二跳转元素En与第n个第一跳转元素相同en;
对于第i条路径,基于所述标号分组创建所述第i条路径对应的跳转集合,所述跳转集合包括所述第二跳转元素、或者包括所述第二跳转元素和所述第一跳转元素;所述i依次为小于或等于n的正整数;
在所述跳转集合中不存在所述第一跳转元素时,调用预设顶点跳转方式进行路由,得到第i条顶点不相交路径;
在所述跳转集合中存在所述第一跳转元素时,选择所述跳转集合中下标记最小的第一跳转元素;
确定所述下标记最小的第一跳转元素的下标记j是否与i的值相等;
在j与i相等时,将从所述起始顶点跳转到所述起始顶点的顶点标号与所述下标记最小的第一跳转元素进行叠加后所得标号所对应的顶点;再依次利用所述跳转集合中的其它各个第一跳转元素进行跳转,接着利用第n个第一跳转元素进行跳转;之后,利用所述跳转集合中各个第二跳转元素进行跳转,最后利用第n个第一跳转元素进行跳转,得到第i条顶点不相交路径;
在j与i不相等时,调用所述预设顶点跳转方式进行路由,得到第i条顶点不相交路径。
9.根据权利要求8所述的方法,其特征在于,所述调用所述预设顶点跳转方式进行路由,包括:
在i与n相等时,将从所述起始顶点跳转到所述起始顶点的顶点标号与第n个第一跳转元素进行叠加后所得标号所对应的顶点,接着利用所述跳转集合中各个第二跳转元素进行跳转,接着利用第n个第一跳转元素进行跳转,最后利用所述跳转集合中各个第一跳转元素进行跳转,得到第i条顶点不相交路径;
在i与n不相等时,将从所述起始顶点跳转到所述起始顶点的顶点标号与第i个第一跳转元素进行叠加后所得标号所对应的顶点,确定所述跳转集合中是否存在第二跳转元素;
在所述跳转集合中存在第二跳转元素时,利用第n个第一跳转元素进行跳转,接着利用所述跳转集合中的各个第二跳转元素进行跳转,再利用第n个第一跳转元素进行跳转,之后利用所述跳转集合中的各个第一跳转元素进行跳转,最后将i所在组对应的一位跳转为0,得到第i条顶点不相交路径;
在所述跳转集合中不存在第二跳转元素时,利用所述跳转集合中的各个第一跳转元素进行跳转,最后将i所在组中为1的一位跳转为0,得到第i条顶点不相交路径。
10.根据权利要求8所述的方法,其特征在于,所述对于第i条路径,基于所述标号分组创建所述第i条路径对应的跳转集合,包括:
初始化所述跳转集合为空集;
在当前所在顶点的顶点标号各位均不为0时,则对于起始顶点的顶点标号,从i所在组之后的一位开始至倒数第二位寻找第一个为1的位;若i所在组之后的所有位均为0,则在i所在组之前从第一位开始寻找,找到所述第一个为1的位;将所述第一个为1的位的下标记为r;r为小于或等于n的正整数;
在r等于n-1时,将第r个第一跳转元素加入所述跳转集合;
在r为奇数时,若r小于或等于n-2、且所述起始顶点的第r+1位为0,则将第r个第一跳转元素加入所述跳转集合;若r小于或等于n-2、且所述起始顶点的第r+1位为1,则将第r个第二跳转元素加入所述跳转集合;
在r为偶数时,若r小于或等于n-2,则将第r个第一跳转元素加入所述跳转集合。
11.一种多处理器网络的处理路径确定装置,其特征在于,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现如权利要求1至10任一项所述的多处理器网络的处理路径确定方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有程序,所述程序被处理器执行时用于实现如权利要求1至10任一项所述的多处理器网络的处理路径确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312857.7A CN113079094B (zh) | 2021-03-24 | 2021-03-24 | 多处理器网络的处理路径确定方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312857.7A CN113079094B (zh) | 2021-03-24 | 2021-03-24 | 多处理器网络的处理路径确定方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113079094A CN113079094A (zh) | 2021-07-06 |
CN113079094B true CN113079094B (zh) | 2022-07-26 |
Family
ID=76613793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110312857.7A Active CN113079094B (zh) | 2021-03-24 | 2021-03-24 | 多处理器网络的处理路径确定方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113079094B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741217B (zh) * | 2022-05-06 | 2023-03-14 | 苏州大学 | 网络结构容错性确定方法、装置、设备及存储介质 |
CN116226026B (zh) * | 2023-03-06 | 2024-08-13 | 苏州工业园区服务外包职业学院(苏州市服务外包人才培养实训中心) | 一种多处理器互连网络的非对称判断方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595603B (zh) * | 2018-04-20 | 2021-07-02 | 深圳神图科技有限公司 | 图数据库中查询无权图中两点间最短路径的方法及应用 |
CN109617800B (zh) * | 2019-01-18 | 2021-06-01 | 福建师范大学 | 一种基于平衡超立方体的数据中心网络容错安全路由方法 |
CN110519170B (zh) * | 2019-08-30 | 2021-07-09 | 苏州大学 | 一种数据安全分发方法 |
CN110580323A (zh) * | 2019-09-20 | 2019-12-17 | 河南工业大学 | 基于割点分割机制的城市交通网络最大车流量的加速算法 |
-
2021
- 2021-03-24 CN CN202110312857.7A patent/CN113079094B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113079094A (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8427980B2 (en) | Methods and apparatus to determine and implement multidimensional network topologies | |
CN113079094B (zh) | 多处理器网络的处理路径确定方法、装置及存储介质 | |
Huang et al. | On the fault-tolerant hamiltonicity of faulty crossed cubes | |
Chen et al. | Topological properties, communication, and computation on WK‐recursive networks | |
Hsieh et al. | Conditional edge-fault Hamiltonicity of augmented cubes | |
CN115168281B (zh) | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 | |
CN114785696A (zh) | 复杂网络节点的重要度评估方法及装置 | |
Dekker et al. | The maximum degree & diameter-bounded subgraph and its applications | |
CN114741217B (zh) | 网络结构容错性确定方法、装置、设备及存储介质 | |
Pai et al. | A two-stages tree-searching algorithm for finding three completely independent spanning trees | |
Rodriguez-Tello et al. | Tabu search for the cyclic bandwidth problem | |
Chang et al. | Fault-tolerant bipancyclicity of faulty hypercubes under the generalized conditional-fault model | |
Li et al. | The shuffle-cubes and their generalization | |
Gulzari et al. | A new cross-by-pass-torus architecture based on CBP-mesh and torus interconnection for on-chip communication | |
Tsai et al. | Optimal edge congestion of exchanged hypercubes | |
Guo et al. | Embedding hierarchical cubic networks into k-rooted complete binary trees for minimum wirelength | |
Lin et al. | On the spanning w‐wide diameter of the star graph | |
Lau et al. | Sudoku number of graphs | |
CN112634989A (zh) | 基于片段重叠群的双面基因组片段填充方法及装置 | |
Hung et al. | Embedding two edge-disjoint Hamiltonian cycles and two equal node-disjoint cycles into twisted cubes | |
Das et al. | Star-coloring of graphs for conflict-free access to parallel memory systems | |
Heun et al. | Efficient embeddings into hypercube-like topologies | |
Du et al. | A memetic algorithm to optimize critical diameter | |
Chen | The R-Hyper-Panconnectedness of Faulty Crossed Cubes. | |
Yasudo | Theoretical Design Methodology for Practical Interconnection Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |