CN110198268A - 高维度Torus网络架构及自适应路由方法 - Google Patents
高维度Torus网络架构及自适应路由方法 Download PDFInfo
- Publication number
- CN110198268A CN110198268A CN201910408017.3A CN201910408017A CN110198268A CN 110198268 A CN110198268 A CN 110198268A CN 201910408017 A CN201910408017 A CN 201910408017A CN 110198268 A CN110198268 A CN 110198268A
- Authority
- CN
- China
- Prior art keywords
- data packet
- node
- dimension
- computing unit
- coordinate
- 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.)
- Pending
Links
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
-
- 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/14—Routing performance; Theoretical aspects
-
- 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/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种高维度Torus网络架构及自适应路由方法。所述高维度Torus网络架构包括:由低维到高维依次排列的N个三单元维度,其中,N为大于或等于7的正整数;所述三单元维度包括三个计算单元,三个所述计算单元的节点坐标分别为0,1,2;计算单元0、计算单元1、计算单元2按照第一方向顺次连接形成闭环;所述高维度Torus网络架构还包括:由低维到高维依次排列的多单元维度;其中,所述多单元维度包括K个计算单元,K个所述计算单元的节点坐标分别为0,1,……,k‑1;计算单元0、计算单元1、……,计算单元k‑1按照所述第一方向顺次连接形成闭环。本发明实施例解决了现有技术中,在Torus网络中的路由方法普遍存在效率低,等分带宽低的问题。
Description
技术领域
本发明实施例涉及分布式计算技术领域,尤其涉及一种高维度Torus网络架构及自适应路由方法。
背景技术
互连网络(Interconnection Networks)是一种总线技术,其突破了由于电气限制而达到的性能极限,成为解决现代数字系统的系统级通信问题的通用方案。互连网络是影响整个多处理器系统的性能和扩展性的重要模块,目前,如何在现有技术基础上,为互连网络的处理节点之间的提供低延迟、高效率的通信成为互连网络亟待解决的关键问题。
互连网络主要由三个要素来描述:拓扑结构、交换机制和路由方法。高性能互连是搭建超级计算机的核心技术。高性能互连主要从两方向发展:(1)低度网络,每个计算节点(或处理器)的度数较低,主要有低维度Torus网络;如Cray Titan的Gemini互连,节点度数为8;IBM Blue/Gene L及P,节点度数为6;(2)高阶网络(High-Radix),主要有胖树,Dragonfly网络等。其中,低度网络的特点是:每个物理通道的吞吐率高,但每个节点的交换机设计简单且网络直径高;高阶网络的特点是网络的直径低,但交换机设计复杂且每个物理通道的吞吐率相对较低。
Torus网络是一种互连网络,其为完全对称的拓扑结构,具有很多优良特性,比如所有节点度相同,结构简单,路径多以及可扩展性好等,因此被广泛应用于商用系统中。Torus网络中的路由方法性能仍然有待提高;而且等分带宽偏低。
发明内容
本发明实施例提供一种高维度Torus网络架构及自适应路由方法,用以解决现有技术中,在Torus网络中的路由方法普遍存在效率低,等分带宽低的问题。
一方面,本发明实施例提供一种高维度Torus网络架构,包括:
由低维到高维依次排列的N个三单元维度,其中,N为大于或等于7的正整数;所述三单元维度包括三个计算单元,三个所述计算单元的节点坐标分别为0,1,2;计算单元0、计算单元1、计算单元2按照第一方向顺次连接形成闭环;
所述高维度Torus网络架构还包括:
由低维到高维依次排列的多单元维度;其中,所述多单元维度包括K个计算单元,K个所述计算单元的节点坐标分别为0,1,......,k-1;计算单元0、计算单元1、......,计算单元k-1按照所述第一方向顺次连接形成闭环;
K为大于或等于4的正整数。
可选地,所述三单元维度在进行路由选择时,所传输的数据包的当前节点坐标ci与目标节点坐标di不相等时,则:
若di-ci=-2,或者di-ci=2,则沿着环绕线传输数据包;
若di-ci=1,则将数据包传输沿着该维度的正方向传输;
若di-ci=-1,则沿着该维度负方向传输数据包;
所述四单元维度在进行路由选择时,所传输的数据包的当前节点坐标ci与目标节点坐标di不相等,则:
若di-ci=-3,或者di-ci=3则沿着环绕线传输数据包;
若di-ci=1或者2则向沿着正的方向传输数据包;
若di-ci=-2,或者-1则向沿着负方向传输数据包。
可选地,所述多单元维度在进行路由选择时,所传输的数据包的当前节点坐标ci与目标节点坐标di不相等,则
若di-ci>k/2或-k/2≤di-ci<0则向所述第一方向的负方向选择下一计算单元作为路由节点;
若0<di-ci<k/2或di-ci<-k/2,则沿着正方向选择下一计算单元作为路由节点;其中,所述下一计算单元选择路由节点时满足流控技术设置的buffer要求。
一方面,本发明实施例还提供一种自适应路由方法,应用于上述高维度Torus网络架构,所述方法包括:
步骤一,在所述高维度Torus网络架构中,设数据包路由时,当前节点的坐标C的集合为(c0,c1,...,ci,...,cn-1),目的节点坐标D的集合为(d0,d1,...,di,...,dn-1),空闲虚拟通道数目f的集合为(f0+,f0-,f1+,f1-,...,fi+,fi-,...,fn-1+,fn-1-),安全数据包数目S的集合为(s0+,s0-,s1+,s1-,...,si+,si-,...,sn-1+,sn-1-);
其中,ci表示消息当前所在节点在第i维上的坐标,di表示消息目的节点在第i维上的坐标,fi+、fi-分别表示当前节点C在第i维正、负方向上的相邻节点的输入端口中空闲虚拟通道的数目,si+、si-分别表示当前节点C在第i维正方向、负方向上的相邻节点的输入端口中安全虚拟通道的数目;
CH为数据包的可选输出通道集合,初始值为空集Φ,最终选择的路径为ch;
步骤二,如果数据包当前所在节点坐标C与目的节点坐标D相等,即C=D,则数据包已经到达目的节点,方法结束;
步骤三,从维度i=1到维度i=n,依次执行以下操作:
若维度i的计算节点为3,di-ci<0且|di-ci|=1,CH=CH∪{chi-};di-ci<0且|di-ci|=2,CH=CH∪{chi+};若di-ci>0,且|di-ci|=1,CH=CH∪{chi+};若di-ci>0,且|di-ci|=2,CH=CH∪{chi-};
若维度i的计算节点为4,di-ci<0且|di-ci|≤2,CH=CH∪{chi-};di-ci<0且|di-ci|>2,CH=CH∪{chi+};若di-ci>0,且|di-ci|≤2,CH=CH∪{chi+};若di-ci>0,且|di-ci|>2,CH=CH∪{chi-};
若di-ci>ki/2或者-ki/2≤di-ci<0,且fi-,si-满足预设动态数据包状态驱动的流控技术中步骤三的条件,则提供数据包沿着当前点C到其第i维负方向上的路径chi-前进,CH=CH∪{chi-};
若0<di-ci≤ki/2或者di-ci<-ki/2,且fi+,si+满足预设动态数据包状态驱动的流控技术中步骤一至步骤三的条件,则提供数据包沿着当前点C到其第i维正方向上的路径chi+前进,CH=CH∪{chi+};
步骤四,经过所述步骤三的操作,得到数据包可选的输出通道的集合CH,从集合CH中自适应地选择一条通道作为最终的输出通道ch。
可选地,所述方法还包括:
为数据包提供到达目的节点的最短路径,包括以下步骤:
步骤S1:定义安全数据包和非安全数据包,如果数据包满足以下条件之一则为安全数据包:
若数据包的下一跳步是通过环绕通道,该维度放置的计算节点数大于4,且环绕通道所在的维度是数据包从当前点到目的节点所需要通过环绕通道中的最低维,对于下一跳步上的节点,该数据包是安全数据包;
若数据包从当前节点到达目的节点不再需要通过任何维度该维度放置的计算节点数大于4环绕通道,并且数据包下一跳步遵循高维度torus网络中的无死锁自适应路由方法,则对于下一跳步上的节点,该数据包是安全数据包;
若数据包对以上两个条件都不满足,则该数据包为非安全数据包;
步骤S2:在虚拟直通VCT交换技术下,任意节点路由器的输入端口包含两条虚拟通道,每条虚拟通道包含一个缓冲区,每个缓冲区可以完整存储一个数据包,两个缓冲区不分类;
设f表示该输入端口中空闲虚拟通道数量,s表示该输入端口中安全虚拟通道资源的数量;缓冲区可以分为空闲、安全和非安全三种状态,空闲虚拟通道表示缓冲区中未存储任何数据包;
相互关系如下:
安全虚拟通道表示缓冲区存储着安全数据包,或者该缓冲区资源原始存储着非安全数据包,该非安全数据包已经申请到了下一跳节点上的缓冲区资源;
非安全虚拟通道表示缓冲区存储着非安全数据包,且该非安全数据包还未申请到下一跳节点上的缓冲区资源;
步骤S3:基于步骤S2提供的缓冲区状态信息,设下一跳路由器节点有f个空闲虚拟通道,s个安全虚拟通道,有以下流控机制:
若f>1,则数据包可以前进下一个节点;
若f=1且s≥1,则数据包可以前进下一个节点;
若f=1且s=0,若从当前点到下一节点遵循p*-cube方法,则该数据包可以前进下一个节点;
其他情况下,数据包不能前进到下一个节点。
可选地,目标节点di和当前节点ci只相差一跳时,采用p*-cube路由,具体如下:
将当前节点ci和目标节点di标号不同的维度划分成两个子集U1及U2,初始U1和U2设置为空集Φ;对所有维度i=0到维度i=n-1,若ci≠di,且ci<di,则U1←U1∪{i};否则,U2←U2∪{i};
其中,p*-cube路由方法如下:从当前节点的坐标C的集合为(c0,c1,...,cn-1)到目的节点坐标D的集合(d0,d1,...,dn-1)的数据包首先跨越U1中的所有维度,当U1所有维度走完后,适应性地选择U2中的维度传输数据包。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述自适应路由方法中的步骤。
再一方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述自适应路由方法中的步骤。
本发明实施例提供的高维度Torus网络架构及自适应路由方法,高维度Torus网络架构包括至少三个三单元维度,三单元维度包括三个计算单元,且每个计算单元在进行路由选择时采用适应性路由的方法,基于最短路径原则选择最优路径,考虑当前网络的计算单元数量,通过改变传输方向,选择最短路径。所设计高维度torus网络可有效地提高网络的等分带宽以及数据传输效率,有利于网络性能的提高。
附图说明
图1为本发明实施例提供的一种高维度Torus网络架构的示意图;
图2为本发明实施例提供的一个3×3×3×3×3的5维torus网络的示意图;
图3本发明实施例提供的从3×3×3×3×3网络中提取的5维超立方子网络的示意图;
图4为本发明实施例提供的自适应路由方法中的步骤流程图;
图5为本发明实施例提供的实现基于动态数据包状态信息的交换机示意图;
图6-1为本发明实施例的示例提供的含偶数个计算节点的、沿着高维度torus网络某一指定维度划分时的等分带宽示意图;
图6-2为本发明实施例的示例提供的含奇数个计算节点的、沿着高维度torus网络某一指定维度划分时的等分带宽示意图;
图7-1、图7-2分别为本发明实施例的示例提供的沿着最高两个维度的等分带宽计算示意图;
图7-3为本发明实施例的示例提供的沿着d0-d7维度的等分带宽计算示意图;
图8为本发明实施例提供的服务器的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
图1以及图2示出了本发明实施例提供的一种Torus网络架构的示意图。
图1中每个dx代表一个维度的网络架构。
如图2所示,本发明实施例提供的高维度Torus网络架构,包括:
由低维到高维依次排列的N个三单元维度,其中,N为大于或等于7的正整数;所述三单元维度包括三个计算单元,三个所述计算单元的节点坐标分别为0,1,2;计算单元0、计算单元1、计算单元2按照第一方向顺次连接形成闭环;
所述高维度Torus网络架构还包括:
由低维到高维依次排列的多单元维度;其中,所述多单元维度包括K个计算单元,K个所述计算单元的节点坐标分别为0,1,......,k-1;计算单元0、计算单元1、......,计算单元k-1按照所述第一方向顺次连接形成闭环;K为大于或等于4的正整数。本发明实施例中,以第一方向为正方向,即计算单元0→计算单元1→计算单元2顺次连接的方向为正方向;
其中,高维度Torus网络架构在进行数据包传输时,需要进行路由选择,而等分带宽是衡量一个网络优劣的重要参数。如果不同维度布置的计算节点数目不同时,相同网络沿着不同维度的等分带宽会不一样;具体地,沿着放置较多计算节点的维度传输,则等分带宽较小;沿着放置较少计算节点的维度均分传输,则等分带宽较大。
路由方法决定了每个消息或分组的数据包在网络中传输的路径,将数据包正确无误的发送到目的节点。通常情况下,消息或分组在任意节点对之间总是提供相同的路径,而与网络状态无关,方法简单,但路径通常不是最优路径。对于三单元维度,为了提高等分带宽,应选择最短路径进行数据包传输,具体地,所述三单元维度在进行路由选择时,且所传输的数据包的当前节点坐标ci与目标节点坐标di不相等,即数据包未传输到目标节点时,存在以下几种情况:
若di-ci=-1,则沿着该维度负方向传输数据包,即向所述第一方向的反方向选择下一计算单元作为路由节点;
其中,参见图2,di-ci=1的场景包括两种组合,组合(1)di=0且ci=1,或组合(2)di=1且ci=2;
对于组合(1)di=0且ci=1时,此时数据包的传输方向为1→0,最短路径应为向所述第一方向的反方向传输,选择下一计算单元作为路由节点;
对于组合(2)di=1且ci=2,此时数据包的传输方向为2→1,最短路径应为向所述第一方向的反方向传输,选择下一计算单元作为路由节点;
di-ci=2的场景包括一种组合,即组合(3)di=2且ci=0,此时数据包的传输方向为0→2,最短路径应为向所述第一方向的反方向传输,选择下一计算单元作为路由节点。
若di-ci=1或di-ci=-2,则向所述第一方向选择下一计算单元作为路由节点。
具体地:di-ci=1的场景包括两种组合(4)di=1且ci=0,或组合(5)di=2且ci=1;组合(4)di=1且ci=0时,此时数据包的传输方向为0→1,最短路径应为向所述第一方向传输,选择下一计算单元作为路由节点,组合(5)与组合(4)情况相同,本发明实施例在此不再赘述。
di-ci=-2的场景包括组合(6)di=0且ci=2,此时数据包的传输方向为2→0,最短路径应为向所述第一方向传输,选择下一计算单元作为路由节点。
本发明上述实施例中,高维度Torus网络架构包括至少三个三单元维度,三单元维度包括三个计算单元,且每个计算单元在进行路由选择时采用适应性路由的方法,基于最短路径原则选择最优路径,考虑当前网络的计算单元数量,通过改变传输方向,选择最短路径,所设计高维度torus网络可有效地提高网络的等分带宽以及数据传输效率,有利于网络性能的提高。本发明实施例解决了现有技术中,在Torus网络中的路由方法普遍存在效率低,等分带宽低的问题。
可选地,作为本发明一种实施例,高维度Torus网络架构还包括:
由低维到高维依次排列的N个所述三单元维度,其中,N为大于或等于7的正整数。
其中,当高维度Torus网络架构为10维时,N为7,此时d0-d9均配置3个计算单元,上述网络架构的直径为10;系统总计算节点数达到310=59049,达到1.6倍E级计算机的计算能力。
当高维度Torus网络架构为11维时,N为8,此时d0-d10均配置3个计算单元,上述网络架构的直径为11;系统总计算节点数达到311=177147,达到4.8倍E级计算机的计算能力。
当高维度Torus网络架构为12维时,N为8,此时d0-d11均配置3个计算单元,上述网络架构的直径为12;系统总计算节点数达到312=531441,达到14.4倍E级计算机的计算能力。
可选地,作为本发明一种实施例,高维度Torus网络架构还包括:
由低维到高维依次排列的一个所述三单元维度、三个k单元维度以及一个四单元维度;其中,所述k单元维度包括k个计算单元,k为大于或等于5的正整数,即d4也为三单元维度,而d5、d6、d7为k单元维度,d8为四单元维度,该高维度Torus网络架构为8维网络;当k等于5时,该高维度Torus网络架构的直径仅为12,此时系统采用该配置的总体计算节点数目为(33)*3*(53)*4=40500,超过E级计算机的计算能力。
可选地,作为本发明一种实施例,高维度Torus网络架构还包括:
由低维到高维依次排列的四个所述三单元维度、两个k单元维度;其中,所述k单元维度包括k个计算单元,k为大于或等于5的正整数,即d0-d7均配置三个计算单元,而d8、d9均配置k单元维度,该高维度Torus网络架构为8维网络;当k等于5时,该高维度Torus网络架构的直径仅为12,此时系统采用该配置的总体计算节点数目为(37)*(52)*4=164025,达到4.5倍E级计算机的计算能力。
可选地,本发明上述实施例中,所述四单元维度在进行路由选择时,执行如下自适应路由方法:
若所传输的数据包的当前节点坐标ci与目标节点坐标di不相等,则
(1)若di-ci<0且|di-ci|≤2或di-ci=3则向所述第一方向的反方向选择下一计算单元作为路由节点。
其中,di-ci<0且|di-ci|≤2的情况,即沿第一方向上,ci在di的前方,此时可能出现的组合包括:di=0且ci=1;di=0且ci=2;di=1且ci=2;di=1且ci=3;di=2且ci=3;di=2且ci=4;di=3且ci=4;以上几种情况中ci应原路返回至di点,即向所述第一方向的反方向选择下一计算单元作为路由节点。
di-ci=3的情况,包括di=3且ci=0,此时应向所述第一方向的反方向选择下一计算单元作为路由节点。
(2)若di-ci=1或2则向所述第一方向选择下一计算单元作为路由节点。
其中,di-ci=1或2情况,即沿第一方向上,di在ci的前方;
di-ci=1时可能出现的组合包括:di=1且ci=0;di=2且ci=1;di=3且ci=2;
di-ci=2时可能出现的组合包括:di=2且ci=0;di=3且ci=1;以上几种情况中向所述第一方向选择下一计算单元作为路由节点。
本发明上述实施例中,所述多单元维度在进行路由选择时,执行如下自适应路由方法:
所传输的数据包的当前节点坐标ci与目标节点坐标di不相等,则
(1)若di-ci>k/2或-k/2≤di-ci<0,则向所述第一方向的反方向选择下一计算单元作为路由节点;
其中,di-ci>k/2时,即沿第一方向上,di在ci的前方,且在第一方向上二者之间距离的节点数目是大于k/2的,则在第一方向的反方向上二者之间距离的节点数目是小于k/2的,因此向第一方向的反方向传输数据包为最短路径;-k/2≤di-ci<0时,同理,本发明实施例在此不再赘述。
(2)若0<di-ci<k/2或di-ci<-k/2,则向所述第一方向选择下一计算单元作为路由节点;
其中,di-ci<k/2时,即沿第一方向上,di在ci的前方,且在第一方向上二者之间距离的节点数目是小于k/2的,则在第一方向的反方向上二者之间距离的节点数目是大于k/2的,因此向第一方向传输数据包为最短路径;di-ci<-k/2时,同理,本发明实施例在此不再赘述。
其中,所述下一计算单元选择路由节点时满足流控技术设置的buffer要求。
具体地,所述预设安全要求为:
若所述下一计算单元包括f个空闲虚拟通道以及s个安全虚拟通道,则:
若f>1,或
f=1且s≥1,或
f=1且s=0,且从当前计算单元到下一计算单元遵循p*-cube方法,
则所述下一计算单元可作为路由节点。
关于预设安全要求,首先定义安全数据包和非安全数据包,如果数据包满足以下条件之一则为安全数据包:
1)如果数据包的下一跳步是通过单元维度内部的环绕通道,该维度放置的计算单元数大于4,且环绕通道所在的维度是数据包从当前节点到目的节点所需要通过环绕通道中的最低维,对于下一跳步上的节点,该数据包是安全数据包。
2)如果数据包从当前节点到达目的节点不再需要通过任何计算单元数大于4的维度的环绕通道,并且数据包下一跳步遵循高维度torus网络中的无死锁自适应路由方法,比如p*-cube路由方法,那么对于下一跳步上的节点,该数据包是安全数据包。
如果数据包对以上两个条件都不满足,那么该数据包为非安全数据包。
此外,关于虚拟通道,在虚拟直通(Virtual-Cut Through,VCT)交换技术下,任意节点路由器的输入端口均包含两条虚拟通道,每条虚拟通道包含一个缓冲区,每个缓冲区可以完整存储一个数据包,两个缓冲区不分类。设f表示该输入端口中空闲虚拟通道数量,s表示该输入端口中安全虚拟通道资源的数量。缓冲区可以分为空闲、安全和非安全三种状态,空闲虚拟通道表示缓冲区中未存储任何数据包。若空闲虚拟通道数量大于1,则所述下一计算单元可作为路由节点。
具体地,安全虚拟通道表示缓冲区存储着安全数据包,或者该缓冲区资源原始存储着非安全数据包,但该非安全数据包已经申请到了下一跳节点上的缓冲区资源;非安全虚拟通道表示缓冲区存储着非安全数据包,且该非安全数据包还未申请到下一跳节点上的缓冲区资源。若空闲虚拟通道数量等于1且安全虚拟通道数量s≥1,则所述下一计算单元可作为路由节点。
每条虚拟通道都对有一个对应的比特位最后位(Last Token,LT),当一个数据包的头微片到达某条虚拟通道的时候,该虚拟通道的LT位设置为1,另外一条虚拟通道的LT位设置为0。LT用于保证数据包的按序传输,如果输入端口中的两条虚拟通道,存储的数据包头微片具有相同的目的节点,那么之前(LT为0对应的那个虚拟通道)的数据包头微片进入虚拟通道分配阶段。否则,两个数据包都进入虚拟通道分配阶段。此外,在每个输入端口的虚拟通道都有一个SAFE比特位,用于表示占用该虚拟通道的数据包是否为安全数据包,该比特位在虚拟通道接收到数据包头微片的时候进行更新。
当头微片传输到下游节点的时候,SAFE比特位将向上游节点传输更新信息。当上游节点接收到所述更新信息的时候,上游节点的路由器将更新其计数器中所计数的安全虚拟通道的数目SAFE,且FREE参数也进行相应的更新。当存储在非安全的虚拟通道的非安全数据包申请到了下游路由节点的虚拟通道时,该非安全虚拟通道将动态变化为安全虚拟通道,相应的SAFE更新信息将传递给上游路由节点,用于上游节点更新SAFE域。
此外,若f=1且s=0,且从当前计算单元到下一计算单元遵循p*-cube方法,则所述下一计算单元可作为路由节点。
关于p*-cube路由方法,p*-cube路由方法是针对超立方网络的一种部分适应行路由方法,对于目标点(d0,d1,...,dn-1)和当前点(c0,c1,...,cn-1)均只相差一跳时,可采用p*-cube路由方法。
将当前节点和目标节点间标号不同的维度划分成两个子集U1及U2,初始U1和U2设置为空集Φ;对所有维度i=0到i=n-1,如果ci≠di,且ci<di,则U1←U1∪{i};否则,U2←U2∪{i}。
p*-cube路由方法如下:从(c0,c1,...,cn-1)到(d0,d1,...,dn-1)的数据包首先跨越U1中的所有维度,当U1所有维度走完后,适应性的选择U2中的维度传输数据包。
作为示例,参见图3,图3为路由器结构内部的示意图,即实现基于动态数据包状态信息的交换机。与传统路由器结构相比,在路由器输出端口需要增加FREE域和SAFE域;FREE域表示下游节点输入端口空闲虚拟通道数量,SAFE域表示下游节点的输入端口缓冲区中存储安全数据包的数量。数据包在前进的时候利用这两个参数,按照上述预设安全要求可以有效避免任一输入端口的两条虚拟通道同时存储非安全数据包,即若f>1,那么数据包可以前进下一个节点;若f=1且s≥1,那么数据包可以前进下一个节点;若f=1且s=0,如果数据包对下一个节点是安全数据包,那么该数据包可以前进下一个节点;其他情况下,数据包不能前进道下一个节点。
可选地,本发明上述实施例中,所述高维度Torus网络架构在选择下一计算单元作为路由节点后,输出可选通道集合;
所述可选通道集合中包括当前计算单元的可选通道以及所述下一计算单元的可选通道。
其中,如果向所述第一方向传输,选择下一计算单元作为路由节点,Chi=CHi∪{chi+},chi为当前计算单元的可选通道集合,ci+为沿第一方向的下一计算单元的可选通道集合,chi为可选通道集合。
如果向所述第一方向的反方向传输,选择下一计算单元作为路由节点,CHi=CHi∪{ci-},CHi为当前计算单元的可选通道集合,ci-为沿第一方向的反方向的下一计算单元的可选通道集合,CHi为可选通道集合。
本发明实施例涉及高维torus网络的互连架构,适用于VCT或者缓存虫孔(Buffered Worm Hole,BWH))交换技术,通过网络布局使得计算节点数达到40500时,网络的直径仅为12;当计算节点数达到164025时,网络直径仍然只为12,此时系统的总体计算能力约为E级计算机的4.5倍;节点数达到177147时,网络直径仅为11,达到4.8E级计算机的计算能力;节点数达到531441时,网络直径仅为12,达到14.4倍E级计算机的计算能力。
以上介绍了本发明实施例提供的高维度Torus网络架构,下面将结合附图介绍本发明实施例提供的自适应路由方法。
参见图4,本发明实施例提供了一种自适应路由方法,所述方法应用于上述高维度Torus网络架构,所述方法包括:
步骤401,在所述高维度Torus网络架构中,设数据包路由时,当前节点的坐标C的集合为(c0,c1,...,ci,...,cn-1),目的节点坐标D的集合为(d0,d1,...,di,...,dn-1),空闲虚拟通道数目f的集合为(f0+,f0-,f1+,f1-,...,fi+,fi-,.,fn-1+,fn-1-),安全数据包数目S的集合为(s0+,s0-,s1+,s1-,...,si+,si-,...,sn-1+,sn-1-);
其中,ci表示消息当前所在节点在第i维上的坐标,di表示消息目的节点在第i维上的坐标,fi+、fi-分别表示当前节点C在第i维正、负方向上的相邻节点的输入端口中空闲虚拟通道的数目,si+、si-分别表示当前节点C在第i维正方向、负方向上的相邻节点的输入端口中安全虚拟通道的数目;
CH为数据包的可选输出通道集合,初始值为空集Φ,最终选择的路径为ch;。
结合图2,本发明实施例提供的高维度Torus网络架构,包括至少三个三单元维度,且所述三单元维度依次位于所述网络架构中的最低三维,三单元维度如图2中d0、d1以及d2所示,每个所述单元维度作为一个维度,由低维到高维依次串联形成高维度高维度Torus网络架构;
所述三单元维度包括三个计算单元,本发明实施例中,计算单元即计算节点;三个所述计算单元的节点坐标分别为0,1,2;计算单元0、计算单元1、计算单元2按照第一方向顺次连接形成闭环,本发明实施例中,以第一方向为正方向,即计算单元0→计算单元1→计算单元2顺次连接的方向为正方向;
其中,高维度Torus网络架构在进行数据包传输时,需要进行路由选择。而等分带宽是衡量一个网络优劣的重要参数。如果不同维度布置的计算节点数目不同时,相同网络沿着不同维度的等分带宽会不一样;具体地,沿着放置较多计算节点的维度传输,则等分带宽较小;沿着放置较少计算节点的维度均分传输,则等分带宽较大。
路由方法决定了每个消息或分组的数据包在网络中传输的路径,将数据包正确无误的发送到目的节点。通常情况下,分组在任意节点对之间总是提供相同的路径,而与网络状态无关,方法简单,但路径通常不是最优路径。对于三单元维度,为了提高等分带宽,应选择最短路径进行数据包传输,具体地,所述三单元维度在进行路由选择时,且所传输的数据包的当前节点坐标ci与目标节点坐标di不相等,即数据包未传输到目标节点时,存在步骤302和步骤303两种情况。
步骤402,如果数据包当前所在节点坐标C与目的节点坐标D相等,即C=D,则数据包已经到达目的节点,方法结束。
其中,参见图2,di-ci=1的场景包括两种组合,组合(1)di=0且ci=1,或组合(2)di=1且ci=2;
对于组合(1)di=0且ci=1时,此时数据包的传输方向为1→0,最短路径应为向所述第一方向的反方向传输,选择下一计算单元作为路由节点;
对于组合(2)di=1且ci=2,此时数据包的传输方向为2→1,最短路径应为向所述第一方向的反方向传输,选择下一计算单元作为路由节点;
di-ci=2的场景包括一种组合,即组合(3)di=2且ci=0,此时数据包的传输方向为0→2,最短路径应为向所述第一方向的反方向传输,选择下一计算单元作为路由节点。
步骤403,从维度i=1到维度i=n,依次执行以下操作:
若维度i的计算节点为3,di-ci<0且|di-ci|=1,CH=CH∪{chi-};di-ci<0且|di-ci|=2,CH=CH∪{chi+};若di-ci>0,且|di-ci|=1,CH=CH∪{chi+};若di-ci>0,且|di-ci|=2,CH=CH∪{chi-};
若维度i的计算节点为4,di-ci<0且|di-ci|≤2,CH=CH∪{chi-};di-ci<0且|di-ci|>2,CH=CH∪{chi+};若di-ci>0,且|di-ci|≤2,CH=CH∪{chi+};若di-ci>0,且|di-ci|>2,CH=CH∪{chi-};
若di-ci>ki/2或者-ki/2≤di-ci<0,且fi-,si-满足预设动态数据包状态驱动的流控技术中步骤三的条件,则提供数据包沿着当前点C到其第i维负方向上的路径chi-前进,CH=CH∪{chi-};
若0<di-ci≤ki/2或者di-ci<-ki/2,且fi+,si+满足预设动态数据包状态驱动的流控技术中步骤一至步骤三的条件,则提供数据包沿着当前点C到其第i维正方向上的路径chi+前进,CH=CH∪{chi+};
具体地:di-ci=1的情况包括两种组合(4)di=1且ci=0,或组合(5)di=2且ci=1;组合(4)di=1且ci=0时,此时数据包的传输方向为0→1,最短路径应为向所述第一方向传输,选择下一计算单元作为路由节点,组合(5)与组合(4)情况相同,本发明实施例在此不再赘述。
di-ci=-2的场景包括组合(6)di=0且ci=2,此时数据包的传输方向为2→0,最短路径应为向所述第一方向传输,选择下一计算单元作为路由节点。
步骤404,经过所述步骤403的操作,得到数据包可选的输出通道的集合CH,从集合CH中自适应地选择一条通道作为最终的输出通道ch。
可选地,所述方法还包括:
为数据包提供到达目的节点的最短路径,包括以下步骤:
步骤S1:定义安全数据包和非安全数据包,如果数据包满足以下条件之一则为安全数据包:
若数据包的下一跳步是通过环绕通道,该维度放置的计算节点数大于4,且环绕通道所在的维度是数据包从当前点到目的节点所需要通过环绕通道中的最低维,对于下一跳步上的节点,该数据包是安全数据包;
若数据包从当前节点到达目的节点不再需要通过任何维度该维度放置的计算节点数大于4环绕通道,并且数据包下一跳步遵循高维度torus网络中的无死锁自适应路由方法,则对于下一跳步上的节点,该数据包是安全数据包;
若数据包对以上两个条件都不满足,则该数据包为非安全数据包;
步骤S2:在虚拟直通VCT交换技术下,任意节点路由器的输入端口包含两条虚拟通道,每条虚拟通道包含一个缓冲区,每个缓冲区可以完整存储一个数据包,两个缓冲区不分类;
设f表示该输入端口中空闲虚拟通道数量,s表示该输入端口中安全虚拟通道资源的数量;缓冲区可以分为空闲、安全和非安全三种状态,空闲虚拟通道表示缓冲区中未存储任何数据包;
相互关系如下:
安全虚拟通道表示缓冲区存储着安全数据包,或者该缓冲区资源原始存储着非安全数据包,该非安全数据包已经申请到了下一跳节点上的缓冲区资源;
非安全虚拟通道表示缓冲区存储着非安全数据包,且该非安全数据包还未申请到下一跳节点上的缓冲区资源;
步骤S3:基于步骤S2提供的缓冲区状态信息,设下一跳路由器节点有f个空闲虚拟通道,s个安全虚拟通道,有以下流控机制:
若f>1,则数据包可以前进下一个节点;
若f=1且s≥1,则数据包可以前进下一个节点;
若f=1且s=0,若从当前点到下一节点遵循p*-cube方法,则该数据包可以前进下一个节点;
其他情况下,数据包不能前进到下一个节点。
可选地,目标节点di和当前节点ci只相差一跳时,采用p*-cube路由,具体如下:
将当前节点ci和目标节点di标号不同的维度划分成两个子集U1及U2,初始U1和U2设置为空集Φ;对所有维度i=0到维度i=n-1,若ci≠di,且ci<di,则U1←U1∪{i};否则,U2←U2∪{i};
其中,p*-cube路由方法如下:从当前节点的坐标C的集合为(c0,c1,...,cn-1)到目的节点坐标D的集合(d0,d1,...,dn-1)的数据包首先跨越U1中的所有维度,当U1所有维度走完后,适应性地选择U2中的维度传输数据包。
本发明上述实施例中,高维度Torus网络架构在进行路由选择时,每个计算单元在进行路由选择时采用适应性路由的方法,基于最短路径原则选择最优路径,考虑当前网络的计算单元数量,通过改变传输方向,选择最短路径,所设计高维度torus网络可有效地提高网络的等分带宽以及数据传输效率,有利于网络性能的提高。本发明实施例解决了现有技术中,在Torus网络中的路由方法普遍存在效率低,等分带宽低的问题。
作为示例,图5示出了一个从一个3-ary 5-立方提取出来的五维超立方子立方。根据从该子立方提取出来的安全信息可以引导可靠通讯。
一个网络的等分带宽是该网络优劣的重要评判标准。
图6-1至图6-2所示表示沿着高维度torus网络某一指定维度划分时的等分带宽计算。
图6-1表示当该维度含偶数个计算节点的情形。对于一个k0×k1×...×ki-1×ki×ki+1×...×kn-1网络,沿着第i维的等分带宽可计算如下:4k0k1...ki-1ki+1...kn-1。
图6-2所示为第i维含奇数个计算节点的情形。这种情况必须多层次的计算等分带宽,假设k0≤k1≤k2≤...≤kn-2≤kn-1,则该n维torus网络的等分带宽可计算如下:
BB=2k0k1...ki-1ki+1...kn-2+2k0k1...ki-1ki+1...kn-3+...+2k0k1+2k0+2
图7-1至图7-3分别示出了计算3×3×3×3×3×3×3×3×5×5网络的等分带宽。图7-1,图7-2分别表示沿着最高两个维度的等分带宽计算。
图7-3为沿着d0-d7维度的等分带宽计算。
图3示出了本发明对应的交换机实现细节。
判断一个网络的优劣有很多特性参数:节点度数,直径,及等分带宽。如表1所示,3×3×3×3×5×5×5×4网络的等分带宽高于IBMBlue/Gene Q采用的16×16×16×12×2网络k-Computer,2×3×2×16×16×32,及IBM Blue/Gene P,64×48×32的等分带宽,并且大幅降低了网络直径。
表1:
高维度torus网络3×3×3×3×3×3×3×3×5×5的等分带宽优于dragonfly网络(28,392)(即每个路由器组含28个路由器,共含392个路由器组),而且每个dragonfly网络中路由器的度数为56,而3×3×3×3×3×3×3×3×5×5网络中的节点度数为20度,因而每条物理通道的带宽近似为(28,392)dragonfly网络的3倍。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述自适应路由方法中的步骤。
举个例子如下,当电子设备为服务器时,图7示例了一种服务器的实体结构示意图。
如图8所示,该服务器可以包括:处理器(Processor)810、通信接口(Communications Interface)820、存储器(Memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线8480完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:
步骤一,在所述高维度Torus网络架构中,设数据包路由时,当前节点的坐标C的集合为(c0,c1,...,ci,...,cn-1),目的节点坐标D的集合为(d0,d1,...,di,...,dn-1),空闲虚拟通道数目f的集合为(f0+,f0-,f1+,f1-,...,fi+,fi-,...,fn-1+,fn-1-),安全数据包数目S的集合为(s0+,s0-,s1+,s1-,...,si+,si-,...,sn-1+,sn-1-);
其中,ci表示消息当前所在节点在第i维上的坐标,di表示消息目的节点在第i维上的坐标,fi+、fi-分别表示当前节点C在第i维正、负方向上的相邻节点的输入端口中空闲虚拟通道的数目,si+、si-分别表示当前节点C在第i维正方向、负方向上的相邻节点的输入端口中安全虚拟通道的数目;
CH为数据包的可选输出通道集合,初始值为空集Φ,最终选择的路径为ch;
步骤二,如果数据包当前所在节点坐标C与目的节点坐标D相等,即C=D,则数据包已经到达目的节点,方法结束;
步骤三,从维度i=1到维度i=n,依次执行以下操作:
若维度i的计算节点为3,di-ci<0且|di-ci|=1,CH=CH∪{chi-};di-ci<0且|di-ci|=2,CH=CH∪{chi+};若di-ci>0,且|di-ci|=1,CH=CH∪{chi+};若di-ci>0,且|di-ci|=2,CH=CH∪{chi-};
若维度i的计算节点为4,di-ci<0且|di-ci|≤2,CH=CH∪{chi-};di-ci<0且|di-ci|>2,CH=CH∪{chi+};若di-ci>0,且|di-ci|≤2,CH=CH∪{chi+};若di-ci>0,且|di-ci|>2,CH=CH∪{chi-};
若di-ci>ki/2或者-ki/2≤di-ci<0,且fi-,si-满足预设动态数据包状态驱动的流控技术中步骤三的条件,则提供数据包沿着当前点C到其第i维负方向上的路径chi-前进,CH=CH∪{chi-};
若0<di-ci≤ki/2或者di-ci<-ki/2,且fi+,si+满足预设动态数据包状态驱动的流控技术中步骤一至步骤三的条件,则提供数据包沿着当前点C到其第i维正方向上的路径chi+前进,CH=CH∪{chi+};
步骤四,经过所述步骤三的操作,得到数据包可选的输出通道的集合CH,从集合CH中自适应地选择一条通道作为最终的输出通道ch。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述自适应路由方法中的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种高维度Torus网络架构,其特征在于,包括:
由低维到高维依次排列的N个三单元维度,其中,N为大于或等于7的正整数;所述三单元维度包括三个计算单元,三个所述计算单元的节点坐标分别为0,1,2;计算单元0、计算单元1、计算单元2按照第一方向顺次连接形成闭环;
所述高维度Torus网络架构还包括:
由低维到高维依次排列的多单元维度;其中,所述多单元维度包括K个计算单元,K个所述计算单元的节点坐标分别为0,1,……,k-1;计算单元0、计算单元1、……,计算单元k-1按照所述第一方向顺次连接形成闭环;
K为大于或等于4的正整数。
2.根据权利要求1所述的高维度Torus网络架构,所述三单元维度在进行路由选择时,所传输的数据包的当前节点坐标ci与目标节点坐标di不相等时,则:
若di-ci=-2,或者di-ci=2,则沿着环绕线传输数据包;
若di-ci=1,则将数据包传输沿着该维度的正方向传输;
若di-ci=-1,则沿着该维度负方向传输数据包;
四单元维度在进行路由选择时,所传输的数据包的当前节点坐标ci与目标节点坐标di不相等,则:
若di-ci=-3,或者di-ci=3则沿着环绕线传输数据包;
若di-ci=1或者2则向沿着正的方向传输数据包;
若di-ci=-2,或者-1则向沿着负方向传输数据包。
3.根据权利要求1所述的高维度Torus网络架构,其特征在于,所述多单元维度在进行路由选择时,所传输的数据包的当前节点坐标ci与目标节点坐标di不相等,则
若di-ci>k/2或-k/2≤di-ci<0则向所述第一方向的负方向选择下一计算单元作为路由节点;
若0<di-ci<k/2或di-ci<-k/2,则沿着正方向选择下一计算单元作为路由节点;
其中,所述下一计算单元选择路由节点时满足流控技术设置的buffer要求。
4.一种自适应路由方法,应用于如权利要求1至3中任一项所述的高维度Torus网络架构,其特征在于,所述方法包括:
步骤一,在所述高维度Torus网络架构中,设数据包路由时,当前节点的坐标C的集合为(c0,c1,...,ci,…,cn-1),目的节点坐标D的集合为(d0,d1,…,di,…,dn-1),空闲虚拟通道数目f的集合为(f0+,f0-,f1+,f1-,...,fi+,fi-,…,fn-1+,fn-1-),安全数据包数目S的集合为(s0+,s0-,s1+,s1-,...,si+,si-,…,sn-1+,sn-1-);
其中,ci表示消息当前所在节点在第i维上的坐标,di表示消息目的节点在第i维上的坐标,fi+、fi-分别表示当前节点C在第i维正、负方向上的相邻节点的输入端口中空闲虚拟通道的数目,si+、si-分别表示当前节点C在第i维正方向、负方向上的相邻节点的输入端口中安全虚拟通道的数目;
CH为数据包的可选输出通道集合,初始值为空集Φ,最终选择的路径为ch;
步骤二,如果数据包当前所在节点坐标C与目的节点坐标D相等,即C=D,则数据包已经到达目的节点,方法结束;
步骤三,从维度i=1到维度i=n,依次执行以下操作:
若维度i的计算节点为3,di-ci<0且|di-ci|=1,CH=CH∪{chi-};di-ci<0且|di-ci|=2,CH=CH∪{chi+};若di-ci>0,且|di-ci|=1,CH=CH∪{chi+};若di-ci>0,且|di-ci|=2,CH=CH∪{chi-};
若维度i的计算节点为4,di-ci<0且|di-ci|≤2,CH=CH∪{chi-};di-ci<0且|di-ci|>2,CH=CH∪{chi+};若di-ci>0,且|di-ci|≤2,CH=CH∪{chi+};若di-ci>0,且|di-ci|>2,CH=CH∪{chi-};
若di-ci>ki/2或者-ki/2≤di-ci<0,且fi-,si-满足预设动态数据包状态驱动的流控技术中步骤三的条件,则提供数据包沿着当前点C到其第i维负方向上的路径chi-前进,CH=CH∪{chi-};
若0<di-ci≤ki/2或者di-ci<-ki/2,且fi+,si+满足预设动态数据包状态驱动的流控技术中步骤一至步骤三的条件,则提供数据包沿着当前点C到其第i维正方向上的路径chi+前进,CH=CH∪{chi+};
步骤四,经过所述步骤三的操作,得到数据包可选的输出通道的集合CH,从集合CH中自适应地选择一条通道作为最终的输出通道ch。
5.根据权利要求4所述的自适应路由方法,其特征在于,所述方法还包括:
为数据包提供到达目的节点的最短路径,包括以下步骤:
步骤S1:定义安全数据包和非安全数据包,如果数据包满足以下条件之一则为安全数据包:
若数据包的下一跳步是通过环绕通道,该维度放置的计算节点数大于4,且环绕通道所在的维度是数据包从当前点到目的节点所需要通过环绕通道中的最低维,对于下一跳步上的节点,该数据包是安全数据包;
若数据包从当前节点到达目的节点不再需要通过任何维度该维度放置的计算节点数大于4环绕通道,并且数据包下一跳步遵循高维度torus网络中的无死锁自适应路由方法,则对于下一跳步上的节点,该数据包是安全数据包;
若数据包对以上两个条件都不满足,则该数据包为非安全数据包;
步骤S2:在虚拟直通VCT交换技术下,任意节点路由器的输入端口包含两条虚拟通道,每条虚拟通道包含一个缓冲区,每个缓冲区可以完整存储一个数据包,两个缓冲区不分类;
设f表示该输入端口中空闲虚拟通道数量,s表示该输入端口中安全虚拟通道资源的数量;缓冲区可以分为空闲、安全和非安全三种状态,空闲虚拟通道表示缓冲区中未存储任何数据包;
相互关系如下:
安全虚拟通道表示缓冲区存储着安全数据包,或者该缓冲区资源原始存储着非安全数据包,该非安全数据包已经申请到了下一跳节点上的缓冲区资源;
非安全虚拟通道表示缓冲区存储着非安全数据包,且该非安全数据包还未申请到下一跳节点上的缓冲区资源;
步骤S3:基于步骤S2提供的缓冲区状态信息,设下一跳路由器节点有f个空闲虚拟通道,s个安全虚拟通道,有以下流控机制:
若f>1,则数据包可以前进下一个节点;
若f=1且s≥1,则数据包可以前进下一个节点;
若f=1且s=0,若从当前点到下一节点遵循p*-cube方法,则该数据包可以前进下一个节点;
其他情况下,数据包不能前进到下一个节点。
6.根据权利要求5所述的自适应路由方法,其特征在于,
目标节点di和当前节点ci只相差一跳时,采用p*-cube路由,具体如下:
将当前节点ci和目标节点di标号不同的维度划分成两个子集U1及U2,初始U1和U2设置为空集Φ;对所有维度i=0到维度i=n-1,若ci≠di,且ci<di,则U1←U1∪{i};否则,U2←U2∪{i};
其中,p*-cube路由方法如下:从当前节点的坐标C的集合为(c0,c1,…,cn-1)到目的节点坐标D的集合(d0,d1,…,dn-1)的数据包首先跨越U1中的所有维度,当U1所有维度走完后,适应性地选择U2中的维度传输数据包。
7.一种电子设备,其特征在于,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求4至6中任一项所述的自适应路由方法中的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求4至6中任一项所述的自适应路由方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210015846.7A CN114363241B (zh) | 2019-05-15 | 2019-05-15 | 高维度Torus网络架构及自适应路由方法 |
CN201910408017.3A CN110198268A (zh) | 2019-05-15 | 2019-05-15 | 高维度Torus网络架构及自适应路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408017.3A CN110198268A (zh) | 2019-05-15 | 2019-05-15 | 高维度Torus网络架构及自适应路由方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210015846.7A Division CN114363241B (zh) | 2019-05-15 | 2019-05-15 | 高维度Torus网络架构及自适应路由方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110198268A true CN110198268A (zh) | 2019-09-03 |
Family
ID=67752788
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210015846.7A Active CN114363241B (zh) | 2019-05-15 | 2019-05-15 | 高维度Torus网络架构及自适应路由方法 |
CN201910408017.3A Pending CN110198268A (zh) | 2019-05-15 | 2019-05-15 | 高维度Torus网络架构及自适应路由方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210015846.7A Active CN114363241B (zh) | 2019-05-15 | 2019-05-15 | 高维度Torus网络架构及自适应路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN114363241B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745345A (zh) * | 2022-04-07 | 2022-07-12 | 中国人民解放军国防科技大学 | 一种片上网络动态调节背压的高效路由方法及装置 |
CN117319308A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 数据传输方法、装置、设备、系统和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267398A (zh) * | 2008-04-18 | 2008-09-17 | 清华大学 | 二维torus网中的无死锁自适应路由方法 |
CN104079491A (zh) * | 2014-07-07 | 2014-10-01 | 中国科学院计算技术研究所 | 一种面向高维度网络的路由器及路由方法 |
CN104539536A (zh) * | 2014-12-01 | 2015-04-22 | 清华大学 | 动态状态驱动的流控及Torus网络自适应路由方法 |
CN105224501A (zh) * | 2015-09-01 | 2016-01-06 | 华为技术有限公司 | 改进圆环面网络及其确定数据包传输路径的方法和装置 |
CN107612746A (zh) * | 2017-10-12 | 2018-01-19 | 曙光信息产业股份有限公司 | 一种构建Torus网络的方法、Torus网络和路由算法 |
CN107959643A (zh) * | 2017-12-29 | 2018-04-24 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170402B (zh) * | 2011-05-31 | 2013-07-10 | 清华大学 | Torus网络中的无死锁自适应路由算法 |
NO2776466T3 (zh) * | 2014-02-13 | 2018-01-20 | ||
CN109561034B (zh) * | 2018-12-25 | 2021-06-04 | 中科曙光信息产业成都有限公司 | 三维网络拓扑结构及其路由算法 |
-
2019
- 2019-05-15 CN CN202210015846.7A patent/CN114363241B/zh active Active
- 2019-05-15 CN CN201910408017.3A patent/CN110198268A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267398A (zh) * | 2008-04-18 | 2008-09-17 | 清华大学 | 二维torus网中的无死锁自适应路由方法 |
CN104079491A (zh) * | 2014-07-07 | 2014-10-01 | 中国科学院计算技术研究所 | 一种面向高维度网络的路由器及路由方法 |
CN104539536A (zh) * | 2014-12-01 | 2015-04-22 | 清华大学 | 动态状态驱动的流控及Torus网络自适应路由方法 |
CN105224501A (zh) * | 2015-09-01 | 2016-01-06 | 华为技术有限公司 | 改进圆环面网络及其确定数据包传输路径的方法和装置 |
CN107612746A (zh) * | 2017-10-12 | 2018-01-19 | 曙光信息产业股份有限公司 | 一种构建Torus网络的方法、Torus网络和路由算法 |
CN107959643A (zh) * | 2017-12-29 | 2018-04-24 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745345A (zh) * | 2022-04-07 | 2022-07-12 | 中国人民解放军国防科技大学 | 一种片上网络动态调节背压的高效路由方法及装置 |
CN114745345B (zh) * | 2022-04-07 | 2023-10-20 | 中国人民解放军国防科技大学 | 一种片上网络动态调节背压的高效路由方法及装置 |
CN117319308A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 数据传输方法、装置、设备、系统和存储介质 |
CN117319308B (zh) * | 2023-11-28 | 2024-02-23 | 苏州元脑智能科技有限公司 | 数据传输方法、装置、设备、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114363241A (zh) | 2022-04-15 |
CN114363241B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11362934B2 (en) | Method to route packets in a distributed direct interconnect network | |
US9698791B2 (en) | Programmable forwarding plane | |
CN103973564A (zh) | 互连网络系统及自适应路由方法 | |
Shim et al. | Static virtual channel allocation in oblivious routing | |
CN110198268A (zh) | 高维度Torus网络架构及自适应路由方法 | |
Erickson et al. | An optimal single-path routing algorithm in the datacenter network DPillar | |
Lee et al. | MRCN: Throughput-oriented multicast routing for customized network-on-chips | |
CN105224501B (zh) | 改进圆环面网络及其确定数据包传输路径的方法和装置 | |
Dehghani et al. | A novel approach to optimize fault-tolerant hybrid wireless network-on-chip architectures | |
Sarbazi-Azad | Performance analysis of wormhole routing in multicomputer interconnection networks | |
Dana et al. | Congestion aware routing algorithm for mesh network-on-chip platform | |
CN106357552B (zh) | 一种拥塞控制方法及网络节点 | |
Somasundaram | Design of a Virtual Channel Router Architecture for Low Power on Mesh-of-Grid Topology for Network on Chip | |
Lei et al. | Vertical-mesh-conscious-dynamic routing algorithm for 3D NoCs | |
Petrini | Total-Exchange on Wormhole k-ary n-cubes with Adaptive Routing | |
Sasakawa et al. | LEF: long edge first routing for two-dimensional mesh network on chip | |
Ferreira et al. | Efficient traffic balancing for NoC routing latency minimization | |
Momeni et al. | A low latency routing algorithm for irregular mesh network-on-chip | |
Manna et al. | An efficient routing technique for mesh-of-tree-based NoC and its performance comparison | |
Bahrebar et al. | Design and exploration of routing methods for NoC-based multicore systems | |
Escobar et al. | Performance evaluation of a Network on a Chip router using SystemC and TLM 2.0 | |
Yuan et al. | CABSR: Congestion Agent Based Source Routing for Network-on-Chip | |
Boppana et al. | A comparison of adaptive packet-routing algorithms for tori | |
Abts et al. | Optimized virtual channel assignment in the cray xt | |
Gadawe et al. | Performance Evaluation of Adaptive Routing Algorithms for 2 DTorus Network |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190903 |
|
RJ01 | Rejection of invention patent application after publication |