CN117135110A - 一种自适应路由方法、装置、系统、设备及存储介质 - Google Patents
一种自适应路由方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117135110A CN117135110A CN202311388227.3A CN202311388227A CN117135110A CN 117135110 A CN117135110 A CN 117135110A CN 202311388227 A CN202311388227 A CN 202311388227A CN 117135110 A CN117135110 A CN 117135110A
- Authority
- CN
- China
- Prior art keywords
- node
- routing
- routing node
- message
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 241000238633 Odonata Species 0.000 claims abstract description 64
- 238000004891 communication Methods 0.000 claims abstract description 19
- 239000000872 buffer Substances 0.000 claims description 93
- 230000005540 biological transmission Effects 0.000 claims description 92
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 32
- 230000003044 adaptive effect Effects 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 15
- 238000010276 construction Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及本发明涉及通信技术领域,公开了一种自适应路由方法、装置、系统、设备及存储介质,方法包括:获取报文出发的源路由节点和报文到达的目的路由节点;根据优先第一方向原则从源路由节点到目的路由节点的路径中规划经过的中间路由节点,得到由源路由节点、中间路由节点和目的路由节点组成的路由路径;根据路由路径将报文从源路由节点传输到目的路由节点。本发明解决了蜻蜓网络进行报文传输时的死锁问题。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种自适应路由方法、装置、系统、设备及存储介质。
背景技术
随着晶体管集成和存储器技术的发展以及对计算性能需求的增长,互连网络中计算节点规模持续增大,互连网络的性能与网络拓扑的构造方式、路由开关等静态因素以及路由算法等动态因素密切相关。网络拓扑的构造方式影响着系统网络所能达到的吞吐率和带宽等网络性能的极限,蜻蜓网络是一种基于高阶路由器的网络拓扑结构,相比同样规模和同样节点度数的Flattened Butterfly结构,蜻蜓网络结构可以节省近一半的全局链路,结合该网络拓扑结构具有网络直径小、吞吐率高、延时较小、性价比高等优点,目前广泛使用。蜻蜓网络拓扑虽然拥有一些比较好的网络特性,但是其拓扑构造特点使得其网络性能特别容易受到死锁问题的影响。为了避免死锁的发生,通常在每个路由节点的本地链路划分2个虚拟通道,全局链路划分为1个虚拟通道,但是虚拟通道存在通道资源使用不均衡的问题,从而损害了网络性能,故亟需一种不需要虚拟通道从而避免死锁问题的路由方法。
发明内容
有鉴于此,本发明提供了一种自适应路由方法、装置、系统、设备及存储介质,以解决蜻蜓网络进行报文传输时的死锁问题。
第一方面,本发明提供了一种自适应路由方法,应用于蜻蜓网络,方法包括:获取报文出发的源路由节点和报文到达的目的路由节点;根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,得到由所述源路由节点、所述中间路由节点和所述目的路由节点组成的路由路径;其中,所述优先第一方向原则包括:优先采用相对于当前节点在第一方向上的中间路由节点作为报文传输点,当前节点是当前报文所在的节点;当不存在第一方向上的中间路由节点时,则采用相对于当前节点能够连续两跳都在第二方向上的中间路由节点作为所述报文传输点;所述第一方向是根据各个路由节点的唯一标识预设的标识流转方向,所述第二方向是所述第一方向的反方向;根据所述路由路径将报文从所述源路由节点传输到所述目的路由节点。
根据本发明实施例提供的方案,按照蜻蜓网络中路由节点的唯一标识预设标识流转方向,从而定义第一方向和与之相反的第二方向,从而在报文传输时,报文到达每个路由节点都优先以第一方向传输,只有所有对接的节点都不满足第一方向时才按照第二方向传输,且采用相对于当前节点能够连续两跳都在第二方向上的中间路由节点作为下一个报文传输点,能够完全避免报文传输过程中依赖环的出现,从而避免蜻蜓网络出现死锁问题。
在一种可选地实施方式中,在根据优先第一方向原则从源路由节点到目的路由节点的路径中规划经过的中间路由节点之前,方法还包括:当源路由节点和目的路由节点直接相连时,判断是否满足最短路径条件;当满足最短路径条件时,采用最短路径进行报文传输; 当不满足最短路径条件时,执行根据优先第一方向原则从源路由节点到目的路由节点的路径中规划经过的中间路由节点的步骤。
根据本发明实施例提供的方案,还引入最短路径路由算法,当源路由节点和目的路由节点直接相连且满足最短路径条件时,直接按照最短路径路由算法传输报文,起到报文最快传输的效果,同时不会出现死锁问题。当不满足最短路径条件时,再利用优先第一方向原则选取对应的中间路由节点,并控制报文从源路由节点到中间路由节点再到目的路由节点,实现无死锁的报文传输方案。
在一种可选地实施方式中,通过下式判断是否满足最短路径条件:
式中,是源路由节点和目的路由节点之间最短路径条件下的路径队列长度,是源路由节点和目的路由节点之间最短路径条件下的报文传输跳数,/>是源路由节点和目的路由节点之间根据优先第一方向原则生成路径的路径队列长度,/>是源路由节点和目的路由节点之间根据优先第一方向原则生成路径的报文传输跳数,T是路由门限值。
根据本发明实施例提供的技术方案,首先评估最短路径条件下每个路由节点等待传输报文排队的路径队列长度和需要经过的全部跳数,然后评估优先第一方向原则生成的路径对应的每个路由节点等待传输报文排队的路径队列长度和需要经过的全部跳数,基于两者的乘积对比最短路径条件下和优先第一方向原则条件下报文的传输时间,选择传输时间最短的方案来控制报文传输,从而显著提高了报文传输效率。
在一种可选地实施方式中,所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,包括:当所述路由路径不唯一时,从多个所述路由路径中确定满足预设最优条件的目标路由路径。
根据本发明实施例提供的技术方案,当采用优先第一方向原则传输报文时,进一步判断按照优先第一方向原则选取的满足条件的路由路径是否有多种可能,如果有多种可能的路由路径,本实施还进一步选择满足预设最优条件的目标路由路径进行报文传输,从而根据预设最优条件的最优限制,能够进一步实现提高报文传输的效率、减少硬件资源损耗等优势。
在一种可选地实施方式中,所述预设最优条件包括所述最短路径条件,所述从多个所述路由路径中确定满足预设最优条件的目标路由路径,包括:判断多个所述路由路径中最短路由路径是否满足所述最短路径条件;当所述最短路由路径满足所述最短路径条件时,将所述最短路由路径作为所述目标路由路径;当所述最短路由路径不满足所述最短路径条件时,从不是最短路由路径的其他路由路径中选择所述目标路由路径。
根据本发明实施例提供的方案,当网络路由策略更追求路由效率时,可以将最短路径条件设定为预设最优条件,从而优先根据最短路径条件判断从源路由节点到目的路由节点经过最短的距离(即经过数量最少的中间路由节点)是否可以达到传输效率最高的效果,如果能达到该效果则将所述最短路由路径作为所述目标路由路径,否则从不是最短路由路径的其他路由路径中选择所述目标路由路径,从而进一步数据路由的效率。
在一种可选地实施方式中,所述预设最优条件还包括最短报文传输时间条件,所述从不是最短路由路径的其他路由路径中选择所述目标路由路径,包括:根据所述最短报文传输时间条件从所述其他路由路径中选择所述目标路由路径。
根据本发明实施例提供的技术方案,如果距离最短的路径报文排队过多,其效率并不够高,则继续从不是最短路由路径的其他路由路径中选择传输时间最短的中间路由节点生成路径,从而进一步保证数据传输的效率。
在一种可选地实施方式中,蜻蜓网络中的每个路由节点至少包括2个缓冲区。
根据本发明实施例提供的技术方案,为每一个路由节点部署至少两个缓冲区,从而当一个缓冲区的排队报文占满时,还可以利用另一个缓冲区传输报文,提高报文传输效率。另外,当某些报文出现死锁风险时,还可以将该报文暂时保存到一个缓冲区来规避死锁风险,并且其他报文可以通过另一缓冲区传输,避免出现路由节点堵死的情况,还保证了路由节点之间的通信通畅。
在一种可选地实施方式中,所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,还包括:当与当前节点连接的中间路由节点都不满足所述优先第一方向原则时,将当前节点等待传输的当前报文保存在当前节点的一个缓冲区中,并将所述当前报文标记为不安全报文,所述不安全报文表示当前报文具有死锁的风险,所述当前节点至少保留一个没有存放所述不安全报文的缓冲区; 等待死锁风险解除进行下一个中间路由节点的规划。
根据本发明实施例提供的技术方案,为每一个路由节点部署至少两个缓冲区,当某个节点所连接的中间路由节点都不满足优先第一方向原则时,则继续发送当前报文具有死锁风险,从而将当前节点等待发送的报文标记为不安全报文,并将不安全报文保存在当前节点的一个缓冲区中,等到死锁风险解除再继续发送当前报文。而至少保留一个缓冲区不再允许保存不安全报文,从而使其他报文能够通过保留的缓冲区继续发送,兼顾了蜻蜓网络的可靠性和高效性。
在一种可选地实施方式中,所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,还包括:若当前节点的当前报文被标记为所述不安全报文,当与当前节点连接的各个中间路由节点中出现一个或多个目标中间路由节点时,将所述目标中间路由节点规划为所述报文传输点;其中,所述目标中间路由节点是满足如下至少一个跳转条件的中间路由节点:所述目标中间路由节点至少包含一个可用的空缓冲区,且所述目标中间路由节点的下一跳中间路由节点符合所述优先第一方向原则;或者,所述目标中间路由节点至少具有两个可用的空缓冲区;或者,所述目标中间路由节点至少具有一个可用的空缓冲区且其他非空缓冲区至少有一个保存的是安全报文,所述安全报文是没有被标记为不安全报文的报文,表示不具备死锁风险的报文。
根据本发明实施例提供的技术方案,若当前节点等待传输的报文是不安全报文,表示与当前节点连接的其他中间路由节点都不符合优先第一方向原则,从而需要按照3个跳转条件来判断报文是否能继续传输到下一个路由节点。只要3个跳转条件中有一个满足时,则说明下一个路由节点既有保存不安全报文的能力,也有继续传输其他报文的能力,从而下一个路由节点既不会出现死锁问题,也不会出现链路中断的问题,继而将满足跳转条件的目标中间路由节点做为所述报文传输点,令它们参与到路径规划中,能够显著提高蜻蜓网络的可靠性。
在一种可选地实施方式中,所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,还包括:若当前节点的报文是所述安全报文,则在与当前节点连接的各个中间路由节点中确定所述报文传输点时优先选择至少包含一个空缓冲区的中间路由节点。
根据本发明实施例提供的技术方案,如果当前节点的报文是所述安全报文,说明与当前节点连接的其他中间路由节点中有一个或者多个符合优先第一方向原则,那么在多个中间路由节点可选时,优先选择至少包含一个空缓冲区的中间路由节点进行路径规划,能够减少等待时间,从而显著提高路径规划和数据传输的效率。
在一种可选地实施方式中,在根据优先第一方向原则从源路由节点到目的路由节点的路径中规划经过的中间路由节点之前,方法还包括:当源路由节点和目的路由节点是同一个路由节点时,在源路由节点内消耗报文。
根据本发明实施例提供的技术方案,当源路由节点和目的路由节点是同一个路由节点时,报文不再经过其他节点传输,避免绕远问题,直接在源路由节点内消耗报文,保证报文的传输效率。
在一种可选地实施方式中,所述路由节点的唯一标识是编号,所述第一方向是路由节点编号从大到小的负方向或者是路由节点编号从小到大的正方向,当所述第一方向是负方向时,所述第二方向是正方向,当所述第一方向是正方向时,所述第二方向是负方向。
本发明实施例以数字编号作为路由节点的唯一标识,便于第一方向和第二方向的识别,避免标识符号过于复杂造成识别困难的问题。
在一种可选地实施方式中,蜻蜓网络包括4个超级节点,每个超级节点包括4个路由节点,每个超级节点内的路由节点两两之间通信连接,每个超级节点均按照相同的编号策略对内部的路由节点从小到大依次编号,各个超级节点之间按照从小到大编号,且各个超级节点之间建立通信连接的路由节点满足如下条件:建立通信连接的两个路由节点的编号求和,等于编号策略中最大编号和最小编号的求和。
根据本发明实施例提供的技术方案,在相关技术提供的蜻蜓网络基础上,丰富了路径多样性,可以有效地降低拥塞的产生,均衡网络负载,提升网络性能,一定程度减小了路由路径长度。
在一种可选地实施方式中,当按照优先第一方向原则规划中间路由节点时,若待规划的下一个中间路由节点和当前节点在同一个超级节点之内,则按照当前节点的编号和下一个中间路由节点的编号判断第一方向;若待规划的下一个中间路由节点和当前节点不在同一个超级节点之内,则按照当前节点和下一个中间路由节点分别对应的超级节点编号判断第一方向。
根据本发明实施例提供的技术方案,第一方向的判断分为两种情况,一种是当前节点和下一个中间路由节点都在同一个超级节点内,则直接按照路由节点本申的编号确定第一方向,另一种情况是当前节点和下一个中间路由节点分别在不同的超级节点内,从而按照超级节点的编号确定第一方向,避免出现不同的超级节点之间的路由节点满足优先第一方向原则但是被误判的问题。
在一种可选地实施方式中,当所述源路由节点和所述目的路由节点直接相连,且所述源路由节点和所述目的路由节点在同一个超级节点之内时,所述路由路径只允许通过当前超级节点之内的路由节点规划生成。
根据本发明实施例提供的技术方案,源路由节点和目的路由节点在同一个超级节点之内时,只允许通过当前超级节点之内的本地链路进行报文传输,从而显著降低路由资源的占用。
在一种可选地实施方式中,蜻蜓网络的各个路由节点部署有隐藏虚拟通道,方法还包括:接收启动指令;响应于启动指令,启用各个路由节点上的隐藏虚拟通道;接收关闭指令;响应于关闭指令,关闭各个路由节点上的隐藏虚拟通道。
根据本发明实施例提供的技术方案,还可以部署虚拟通道,并通过开关来控制虚拟通道是否启用,当虚拟通道启用时能够缓解队首阻塞,当不需要缓解队首阻塞问题时再关闭虚拟通道,降低成本开销。
第二方面,本发明提供了一种自适应路由装置,应用于蜻蜓网络,装置包括:报文信息获取模块,用于获取报文出发的源路由节点和报文到达的目的路由节点;路由路径规划模块,用于根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,得到由所述源路由节点、所述中间路由节点和所述目的路由节点组成的路由路径;其中,所述优先第一方向原则包括:优先采用相对于当前节点在第一方向上的中间路由节点作为报文传输点,当前节点是当前报文所在的节点;当不存在第一方向上的中间路由节点时,则采用相对于当前节点能够连续两跳都在第二方向上的中间路由节点作为所述报文传输点;所述第一方向是根据各个路由节点的唯一标识预设的标识流转方向,所述第二方向是所述第一方向的反方向;路由模块,用于根据路由路径将报文从源路由节点传输到目的路由节点。
第三方面,本发明提供了一种自适应路由系统,包括多个路由节点设备和多个主机设备,每个主机设备与至少一个路由节点设备通信连接,主机设备存储有计算机指令,通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
在一种可选地实施方式中,本发明提供了一种主机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中蜻蜓网络的结构示意图;
图2是相关技术中蜻蜓网络的另一个结构示意图;
图3是相关技术中蜻蜓网络的又一个结构示意图;
图4是相关技术中蜻蜓网络的部分结构示意图;
图5是相关技术中蜻蜓网络的死锁状态示意图;
图6是根据本发明实施例的一种自适应路由方法的流程示意图;
图7是根据本发明实施例的一种自适应路由方法的另一个流程示意图;
图8是根据本发明实施例的一种改进的蜻蜓网络结构示意图;
图9是根据本发明实施例的一种改进的蜻蜓网络另一个结构示意图;
图10是根据本发明实施例的一种自适应路由方法的又一个流程示意图;
图11是根据本发明实施例的一种自适应路由方法的又一个流程示意图;
图12是根据本发明实施例的一种自适应路由方法的又一个流程示意图;
图13是根据本发明实施例的一种自适应路由装置的结构示意图;
图14是根据本发明实施例的一种自适应路由系统的结构示意图;
图15是本发明实施例的主机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着晶体管集成和存储器技术的发展以及对计算性能需求的增长,互连网络中计算节点规模持续增大,互连网络的性能与网络拓扑的构造方式、路由开关等静态因素以及路由算法等动态因素密切相关。网络拓扑的构造方式影响着系统网络所能达到的吞吐率和带宽等网络性能的极限,蜻蜓网络是一种基于高阶路由器的网络拓扑结构,如图1所示,蜻蜓网络的具体构造是将a个路由节点(图1中的方块)通过全互连的方式相连成虚拟的更高阶超级节点(图1中的椭圆),每个路由节点引出a-1条本地链路连接同一个超级节点内的其他路由节点,每个路由节点引出2条全局链路连接其他超级节点内的路由节点。通过在不同层次的网络中采用全互连结构,蜻蜓网络直径只有3,相比同样规模和同样节点度数的Flattened Butterfly网络结构(扁平蝴蝶网络),蜻蜓网络结构可以节省近一半的全局链路,结合该网络拓扑结构具有网络直径小、吞吐率高、延时较小、性价比高等优点,目前广泛使用。
节点之间的通信通常通过发送携带信息的报文来实现。这些报文从源节点到目的节点的过程中,需要在网络中经过多个跳步。对于一个给定的拓扑,路由算法给各报文提供了一条如何从源节点到目的节点的路径。
蜻蜓网络拓扑路由算法根据路由路径长度可分为最短路径路由(minimalrouting)和非最短路径路由(non-minimal routing)。根据路由路径的选择机制,可分为确定性路由 (deterministic routing)、无关路由(Valiant routing,VAL)和自适应路由(adaptive routing)。确定性路由的路由路径是由报文的源节点和目的节点确定的,一旦源节点和目的节点确定,所有报文路由所经过的路径是确定唯一的,自适应路由的路径是根据网络的拥塞、死锁等状态信息动态地确定其路径的。
最短路径路由(Minimal,MIN)是 蜻蜓网络最简单和最基本的路由策略。使用最短路径路由最多只需 3 跳就能将消息包从源节点路由到目的节点,即报文首先从源节点路由器 s 通过本地链路路由到连接有目的节点所在超级节点的组内节点路由器 u,然后报文从 u 节点路由器通过全局链路路由到目的节点路由器所在超级节点的节点路由器 v,最后报文经由节点路由器 v 通过本地链路路由到目的节点路由器d,如图2所示。整个过程只需要通过 2 个本地链路和1个全局链路(本地→全局→本地,local→global→local,l-g-1)。
在均衡负载下,最短路径路由能够获得高吞吐率、低延时等网路性能,但是 蜻蜓网络的每个超级节点之间只有一条全局链路相连接,这条全局链路很容易成为网络拥塞的瓶颈。比如第i个超级节点的节点都想向第 i+n个超级节点的节点发送报文,连接这两个超级节点的全局链路很容易发生数据拥塞,从而影响网络性能。类似地,当某个路由节点所连接的所有计算终端都向其邻接节点发送报文,连接两个路由节点之间的本地链路就很容易发生拥塞。为了应对全局链路拥塞对网络性能所造成的影响,需要采用一些均衡负载的算法,使得拥塞通道的报文分散到其他非拥塞的通道,为了解决这一问题,研究人员提出了VAL路由策略。
VAL路由策略采用非最短路径路由,报文首先被路由到随机选择的中间组超级节点路由器,然后再从中间组超级节点路由器路由到目的节点路由器,通过这种方式的路由能够平衡全局链路的负载,如图 3 所示,其过程的最长路径跳数是5跳(l-g-l-g-l)。在蜻蜓网络上采用VAL 路由策略时,其网络吞吐率和采用最短路径路由策略相比会减半,网络延时会加倍。
在非均衡负载模式下,蜻蜓网络会出现局部的通道拥塞,流经这部分区域的消息报文可采用 VAL 路由策略缓解拥塞,但是其他区非拥塞区域仍然可采用MIN路由策略以获得最好的网络性能。一种根据网络状态来执行 VAL路由或者MIN路由策略的自适应路由机制是UGAL(The Universal Globally-Adaptive Load-balanced routing,通用全局自适应负载平衡路由)。UGAL评估蜻蜓网络状态的指标是路径队列长度(Q)、跳数(H)。若Q和H满足下列不等式,则执行MIN路由,否则执行VAL路由。另外调整执行MIN路由或者VAL路由的偏向T值往往根据经验取值。
其中参数T是路由门限值,下角标min的Q和H表示MIN路由策略对应的路径队列长度和跳数,下角标val的Q和H表示VAL路由策略对应的路径队列长度和跳数。
以上三种路由算法为蜻蜓网络拓扑最基本的三种算法,其他算法大多时在这些算法上的改进,多数情况下蜻蜓网络拓扑算法都会根据网络的拥塞状态来选择路由路径,即VAL路由策略,
蜻蜓网络拓扑虽然拥有一些比较好的网络特性,但是其拓扑构造特点使得其网络性能特别容易受到死锁问题的影响,不论执行MIN路由策略还是VAL路由策略,死锁问题常有发生。自从蜻蜓拓扑结构被正式提出后,研究者们就针对蜻蜓网络拓扑的路由算法、拥塞控制、死锁避免等问题展开研究,这些研究内容也是蜻蜓网络拓扑应用所面临的问题,其中,路由机制与拥塞控制以及死锁避免密切相关。
例如图4和图5所示,在图4中R1、R2、R3、R4是某一网络拓扑中的四个节点路由器,分别通过通道 CH1、CH2、CH3、CH4、CH5、CH6、CH7、CH8 相连接而形成一个环形。图5是一个死锁出现的典型情况,图5中实线表示当前已经占用的通道,虚线表示正在请求的通道,假设在某一时刻,R1有报文P1需要经过R2到达R3,R2有报文P2需要经过R3到达R4,R3有报文P3需要经过R4到达R1,R4有报文P4需要经过R1到达R2,此时,报文P1经过通道CH1传输,请求通道CH3;报文P2经过通道CH3传输,请求通道CH5;报文P3经过通道CH5传输,请求通道CH7;报文P4经过通道CH7传输,请求通道CH1。假设通道CH1、CH3、CH5 和 CH7的通道缓冲区已经被占满(通道缓冲区是每个路由节点暂时存储报文的地方,通道在被使用状态下不一定会占满缓冲区,但是缓冲区一旦占满,如果当前节点不释放正在传输的报文,则其他报文无法请求到当前节点的通道),就会使报文P1、P2 、P3和P4都不能够获得请求许可而形成通道缓冲区资源依赖环,这样的依赖环称之为“死锁”。死锁问题的出现时会严重影响到系统网络的性能,在设计路由算法时,必须对死锁问题加以解决,消除死锁出现的可能性。
目前处理死锁的策略主要有两种:死锁避免和死锁恢复。在目前路由机制中,解决死锁问题的常用方法大体有两种方式:限制路由路径和虚拟通道分配。而虚拟通道分配方式是最为普遍和常用的死锁避免方式。为了避免死锁的发生,一些技术通常将节点路由器的本地链路通道划分为3个虚拟通道(VCO, VC2,VC4),将全局链路通道划分为2个虚拟通道(VC1,VC3),即3/2VC。
虽然虚拟通道的无环相关死锁避免方法能够很好的解决死锁问题,但是存在通道资源使用不均衡的问题,这是因为追求虚拟通道无环相关,必须限制一部分虚通道的使用,即使必须使用的虚通道缓冲区较为拥挤,同一通道内的其他虚拟通道即使比较空闲,其他虚拟通道也不能够使用,只能采取自适应方法选择其他通道。这样不仅使得通道缓冲区资源使用不均衡,而且增加了路径跳数,从而损害了网络性能。
基于此,本发明提供了一种不需要虚拟通道并且能够解决死锁问题的路由方法,应用于蜻蜓网络,能够显著提高蜻蜓网络的可靠性。
根据本发明实施例,提供了一种自适应路由方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种自适应路由方法,应用于蜻蜓网络,可用于上述的计算机设备,图6是根据本发明实施例的一种自适应路由方法的流程图,该流程包括如下步骤:
步骤S101:获取报文出发的源路由节点和报文到达的目的路由节点。
具体地,在报文传输之前,首先确定报文出发的源路由节点(起点)和报文到达的目的路由节点(终点),从而按照起点和终点在后续步骤规划路由路径。
步骤S102:根据优先第一方向原则从源路由节点到目的路由节点的路径中规划经过的中间路由节点,得到由源路由节点、中间路由节点和目的路由节点组成的路由路径;其中,优先第一方向原则包括:优先采用相对于当前节点在第一方向上的中间路由节点作为报文传输点;当不存在第一方向上的中间路由节点时,则采用相对于当前节点能够连续两跳都在第二方向上的中间路由节点作为报文传输点;第一方向根据各个路由节点的唯一标识预设的标识流转方向,所述第二方向是所述第一方向的反方向。
具体地,本发明实施例首先按照各个路由节点的唯一标识定义了两个方向,分别是第一方向和第二方向,而预设的标识流转方向表示第一方向,预设的标识流转方向的反方向表示第二方向。其中,预设的标识流转方向可以根据用户的需求灵活定义,例如:假设各个路由节点的唯一标识是英文字母,可以按照英文字母a、b、c、d的阅读顺序定义标识流转方向,如果唯一标识是数字,可以按照数字从大到小或从小到大的方向来定义标识流转方向。
在一个具体地实施例中,可以分别定义正方向和负方向,其中正方向是从小编号指向大编号的方向,负方向是从大编号指向小编号的方向,然后将其中一个方向作为第一方向,另一个方向作为第二方向。基于数字定义第一方向和第二方向的优势在于数字存在天然的顺序,不需要过多定义符号之间的流转顺序,从而降低第一方向和第二方向的识别难度。
之后,本发明实施例提供的自适应路由算法是按照优先第一方向原则对报文进行路由的算法,其中优先第一方向原则的主旨思想是优先采用相对于当前节点在第一方向上的中间路由节点作为下一个报文传输点(中间路由节点指的是源路由节点和目的路由节点中间经过的节点);当不存在第一方向上的中间路由节点时,则采用相对于当前节点能够连续两跳都在第二方向上的中间路由节点作为后续的报文传输点,通过这一路由方法,令当前报文传输任务以及其他报文传输任务,都严格按照优先第一方向原则控制报文从源路由节点到达的目的路由节点,能够在不添加虚拟通道的情况下使当前报文传输任务以及其他报文传输任务都不会互相出现依赖,避免了死锁问题。
基于优先第一方向原则的路由算法不会出现死锁问题,可以简单地证明如下:任何循环通道依赖都包含一个编号最高的节点,必须有一条报文占用一个第二方向通道并请求一个第一方向通道,但这是优先第一方向原则不允许的,所以基于优先第一方向原则的路由算法是无死锁的。
假设优先第一方向原则是负方向优先原则(Minus-First Routing,MFR),通过路由节点的标识给每个单向链路添加一个正或负的标签。若节点s与节点d直接相连,则节点s到节点d的单向链路表示为(s,d),如果编号s<d,记节点s到节点d为正跳(正方向),否则为负跳(负方向)。
假设路由节点R1~ R4的编号大小顺序为 R1<R2<R3<R4,报文从编号小的节点传输到编号大的节点的一跳为正跳,从编号大的节点传输到编号小的节点的一跳为负跳。从R2到R4的报文P2可以先通过一个负跳传递给 R1,再通过另一个正跳到达 R4;从R3到R1的报文P3可以先通过一个负跳传递给 R2,再通过另一个负跳到达 R1;从R4到R2的报文P4可以先通过一个负跳传递给 R3,再通过另一个负跳到达 R2;从R1到 R3的报文P1虽然没有负跳,但是可以先通过一个正跳传递给 R2,再通过另一个正跳到达 R3,即连续两个正跳。从而如图7所示,实线表示当前已经占用的通道,虚线表示正在请求的通道,可以看出,无论是顺时针方向还是逆时针方向都没有形成依赖环,使用负方向优先原则的路由算法可以避免死锁,不需要额外的虚拟通道(正方向优先原则的路由算法同理,不再赘述)。通过本发明实施例提供的方法,能够确定出一条没有死锁问题路径,路径途径的中间路由节点即为不出现死锁问题的路由节点。
步骤S103:根据路由路径将报文从源路由节点传输到目的路由节点。
具体地,最后按照上述步骤规划的各个中间路由节点来对报文进行路由传输,能够完全避免报文传输过程中依赖环的出现,从而避免蜻蜓网络出现死锁问题,同时不需要借助虚拟通道,显著降低了路由资源的成本开销。
在一些可选地实施方式中,在上述步骤S102之前,本发明实施例提供的自适应路由方法,还包括:
步骤a1,当源路由节点和目的路由节点直接相连时,判断是否满足最短路径条件;
步骤a2,当满足最短路径条件时,采用最短路径进行报文传输;
步骤a3,当不满足最短路径条件时,执行根据优先第一方向原则从源路由节点到目的路由节点的路径中规划经过的中间路由节点的步骤。
具体地,本发明是实施例在通过优先第一方向原则路由报文之前,还需判断源路由节点和目的路由节点是否是直接相连的两个节点,如果源路由节点和目的路由节点直接相连,那么最高效的路由方式应当是最短路径路由策略,且不会出现死锁问题。基于此,本发明实施例针对直接相连的场景,分析源路由节点和目的路由节点是否满足最短路径条件,例如设定的最短路径条件包括但不限于:传输时间是否最短、硬件资源消耗是否最少等。
当满足最短路径条件时,本发明实施例直接采用最短路径进行报文传输,将报文从源路由节点直接发送到目的路由节点,否则按照优先第一方向原则从源路由节点到目的路由节点的路径中规划经过的中间路由节点,然后经过中间路由节点传输报文。通过这一方案,能够进一步提高报文的传输效率。
在一些可选地实施方式中,通过下式判断是否满足最短路径条件:
(1)
式中,是源路由节点和目的路由节点之间最短路径条件下的路径队列长度,是源路由节点和目的路由节点之间最短路径条件下的报文传输跳数,/>是源路由节点和目的路由节点之间根据优先第一方向原则生成路径的路径队列长度,/>是源路由节点和目的路由节点之间根据优先第一方向原则生成路径的报文传输跳数,T是路由门限值。
具体地,每个路由节点都会至少具有一个缓冲区,因为通常有不只一个报文要经过同一个路由节点,路由节点只能一个一个有序传输报文,将等待传输的报文会在缓冲区中排队,而形成的队列长度即称为路径队列长度。
针对最短路径路由策略,表示源路由节点和目的路由节点之间最短路径条件下的路径队列长度(即各个路由节点对应的路径队列长度的总和),/>是源路由节点和目的路由节点之间最短路径条件下的报文传输跳数(报文经过一个路由节点为一跳,报文在一条路径下经过全部路由节点的次数即为跳数)。通过二者的乘积,即可衡量最短路径路由策略传输报文的时间长短。
同理,针对优先第一方向原则的路由策略,同样根据该策略规划路径下的路径队列长度和跳数/>衡量优先第一方向原则的路由策略的报文传输时间,另外还需要自定义参数T为路由门限值,路由门限值根据用户经验和需求,用于表达用户更偏向于哪一种路由策略。
通过上式,能够准确分析出最短路径路由策略和优先第一方向原则的路由策略中用时最短的路由策略,从而保证报文传输的高效性。
在一些可选地实施方式中,上述步骤S102包括:
步骤b1,当所述路由路径不唯一时,从多个所述路由路径中确定满足预设最优条件的目标路由路径。
具体地,当本发明实施例以优先第一方向原则对应的路由策略对报文进行路由时,可能路径上的每一个节点对应存在多个中间路由节点满足条件。
假设按照优先第一方向从源路由节点开始规划第一个中间路由节点,以负方向优先原则为例,待规划的中间路由节点(编号v)有两种选择:1)v<s(s为源路由节点的编号);2)节点s<v<d(d为目的路由节点的编号或节点v的下一个路由节点的编号)。其中选择1)表示第一跳为负跳,第二跳可正可负的场景;选择2)表示连续两跳必须都为正跳的场景,选择1)的优先级比选择2)高,只有选择1)的场景不存在时才采用选择2)的中间路由节点。
如果满足上述选择1)或者选择2)的中间路由节点v不唯一,那么本发明实施例同样对多种可能的路径进行挑选,从而进一步确定最优路径。在本发明实施例中根据预设最优条件选择目标路由路径,其中的预设最优条件可以是报文传输距离最短、报文传输时间最少、报文经过的路由节点性能最好从而硬件资源损耗最小等等,本实施例仅以此举例,不以此为限。
在一些可选地实施方式中,预设最优条件包括所述最短路径条件,上述步骤b1包括:
步骤b11,判断多个所述路由路径中最短路由路径是否满足所述最短路径条件。
步骤b12,当所述最短路由路径满足所述最短路径条件时,将所述最短路由路径作为所述目标路由路径。
步骤b13,当所述最短路由路径不满足所述最短路径条件时,从不是最短路由路径的其他路由路径中选择所述目标路由路径。
具体地,本发明实施例在执行优先第一方向原则的路由策略时,依然能够从多种可能的路径中选择最优路径,而在本实施例中,首要的最优条件即为最短路径条件,从而首先判断从源路由节点到目的路由节点距离最短、经过中间路由节点数量最少的最短路由路径是否满足所述最短路径条件,即通过上式来判断。
当最短路由路径满足所述最短路径条件时,表示最短路由路径不仅距离短,而且传输速度快,耗时也最短,从而将所述最短路由路径作为所述目标路由路径。否则继续从不是最短路由路径的其他路由路径中选择所述目标路由路径。通过本发明实施例提供的方案,可以进一步令数据尽量以最短路线传输,以提高传输的效率。
在一些可选地实施方式中,预设最优条件还包括最短报文传输时间条件,上述步骤b13包括:
步骤b131,根据所述最短报文传输时间条件从所述其他路由路径中选择所述目标路由路径。
具体地,本实施例针对不是最短路由路径的其他路由路径,继续判断其他路由路径中报文传输时间最短的路径,从而选出进一步提高报文传输效率的路径。
例如:待规划的中间路由节点(编号v)有两种选择:1)v<s(s为源路由节点的编号);2)节点s<v<d(d为目的路由节点的编号或节点v的下一个路由节点的编号)。当满足上述选择1)或者选择2)的中间路由节点v不唯一时,本发明实施例选择的中间路由节点,即选择的下一个节点v具有最小的/>,其中/>和/>分别表示s到v的报文传输时间和v到d的报文传输时间。从源路由节点开始到目的路由节点之前经过的每一个中间路由节点都按照上述过程选择,从而按照最短的报文传输时间从多个路由路径中确定目标路由路径,能够进一步提高报文传输的效率。在一些可选地实施方式中,本发明实施例提供的蜻蜓网络,其中每个路由节点至少包括2个缓冲区。
具体地,本发明实施例为每一个路由节点部署至少两个缓冲区,从而当一个缓冲区的排队报文占满时,还可以利用另一个缓冲区传输报文,提高报文传输效率。另外,当某些报文出现死锁风险时(即针对某个节点规划其下一个报文传输节点时,与其相连接的任何一个节点都不能满足优先第一方向原则,从而当前节点传输报文会出现死锁风险,当前节点中等待传输的报文被认为出现死锁风险),还可以将该报文暂时保存到一个缓冲区来规避死锁风险,并且其他报文可以通过另一缓冲区传输,还保证了路由节点之间的通信通畅。
基于每个路由节点至少包括2个缓冲区的机制,在一些可选地实施方式中,上述步骤S102,还包括:
步骤c1,当与当前节点连接的中间路由节点都不满足所述优先第一方向原则时,将当前节点等待传输的当前报文保存在当前节点的一个缓冲区中,并将所述当前报文被标记为不安全报文,所述不安全报文表示当前报文具有死锁的风险,所述当前节点至少保留一个没有存放所述不安全报文的缓冲区;
步骤c2,等待死锁风险解除进行下一个中间路由节点的规划。
具体地,本发明实施例为每一个路由节点部署至少两个缓冲区,当某个节点所连接的中间路由节点都不满足优先第一方向原则时,则认为继续发送当前报文具有死锁风险,可能会与其他报文传输路径构成依赖环的情况,从而将当前节点等待发送的报文标记为不安全报文,并将不安全报文保存在当前节点的一个缓冲区中,能够避免死锁情况的发生,等到死锁风险解除再继续发送当前报文。特别地,至少保留一个缓冲区不允许保存不安全报文,其他满足优先第一方向原则的报文被标记为安全报文,从而使其他安全报文能够通过保留的缓冲区继续发送,兼顾了蜻蜓网络的可靠性和高效性。
在一些可选地实施方式中,上述步骤c2,包括:
步骤c21,若当前节点的当前报文被标记为所述不安全报文,当与当前节点连接的各个中间路由节点中出现一个或多个目标中间路由节点时,将所述目标中间路由节点规划为所述报文传输点;
其中,目标中间路由节点是满足如下至少一个跳转条件的中间路由节点:
跳转条件1、目标中间路由节点至少包含一个空缓冲区,且目标中间路由节点的下一跳中间路由节点符合优先第一方向原则;
跳转条件2、目标中间路由节点至少具有两个可用的空缓冲区;
跳转条件3、目标中间路由节点至少具有一个可用的空缓冲区且其他非空缓冲区至少有一个保存的是安全报文,安全报文是没有被标记为不安全报文的报文,表示不具备死锁风险的报文。
具体地,在本发明实施例中,根据各路由节点至少包括2个缓冲区的改进,当任何一个路由节点出现不安全报文时,不安全报文先保存在其中一个缓冲区中,然后等待规划下一个中间路由节点用作报文传输。而确定出下一个中间路由节点以结束不安全报文等待的条件则是下一个中间路由节点至少有一个空缓冲区,并且其他非空缓冲区不能保存的都是不安全报文,需要有安全报文,这样就能够保证当前节点的不安全报文进入下一个中间路由节点,且下一个中间路由节点的各个缓冲区不会都被不安全报文占满,从而不会令下一个中间路由节点的通信中断(因为具有空缓冲区的路由节点是通畅的,而安全报文很快可以释放,也不会阻塞路由节点)。
从而,当某个目标中间路由节点满足上述跳转条件1~跳转条件3之一,且与当前节点连接时,那么当前节点就能将不安全报文继续发送到目标中间路由节点,目标中间路由节点就能够参与路径规划,使从源路由节点到目的路由节点的路径继续规划。
在一些可选地实施方式中,上述步骤S102,还包括:
步骤c3,若当前节点的报文是所述安全报文,则在与当前节点连接的各个中间路由节点中确定所述报文传输点时优先选择至少包含一个空缓冲区的中间路由节点。
具体地,根据本发明实施例提供的技术方案,如果当前节点的报文是所述安全报文,说明与当前节点连接的其他中间路由节点中有一个或者多个符合优先第一方向原则,那么在多个中间路由节点可选时,优先选择至少包含一个空缓冲区的中间路由节点进行路径规划,能够减少等待时间,从而显著提高路径规划和数据传输的效率。
换言之,本发明实施例改进后的路由策略,先判断采用最短路径路由策略还是优先第一方向原则的路由策略,当采用优先第一方向原则的路由策略时,发现某个节点不符合优先第一方向原则,可以进一步判断后续选择的中间路由节点是否满足上述跳转条件1~3,即判断各个路由节点是否存在不会堵塞节点的、可用的缓冲区,具有可用缓冲区的路由节点才是可用的路由节点;如果选择的路由策略用到了不可用路由节点,那么当前选择的策略需要放弃,从而重新生成路由策略。同时,如果确定了采用优先第一方向原则的路由策略时,进一步优先选择其中整理耗时最少的距离最短路径,如果距离最短路径耗时并不少,则基于整体耗时最短的原则从其他中间路由节点挑选,生成从源路由节点发送到目的路由节点的路径。
在一些可选地实施方式中,在上述步骤S102之前,本发明实施例提供的自适应路由方法还包括:
步骤d1,当源路由节点和目的路由节点是同一个路由节点时,在源路由节点内消耗报文。
具体地,在本发明实施例中,当源路由节点和目的路由节点是同一个路由节点时,控制报文不再经过其他节点传输,而直接在源路由节点内消耗报文,从而避免出现绕远问题,保证报文的传输效率。
在一些可选地实施方式中,本发明实施例还提供了一种改进结构的蜻蜓网络。其中,改进后的蜻蜓网络包括4个超级节点,每个超级节点包括4个路由节点,每个超级节点内的路由节点两两之间通信连接,每个超级节点均按照相同的编号策略对内部的路由节点从小到大依次编号,各个超级节点之间按照从小到大编号,且各个超级节点之间建立通信连接的路由节点满足如下条件:建立通信连接的两个路由节点的编号求和,等于编号策略中最大编号和最小编号的求和。
具体地,如图8所示,本发明实施例提供的改进蜻蜓网络是一种32个端口(port)全互连并集成的方案,该拓扑结构有4个超级节点,每个超级节点内部有4个路由节点,这4个超级节点之间时全互连,每个路由节点上接2个端口,共计32个端口,每条链路都是双向通道。
如图9所示,假设超级节点沿着逆时针方向依次编号为,/>,/>,/>,每个超级节点内部按照节点序号依次编号为/>、/>、/>、/>,/>,每个超级节点内部路由节点的个数为/>,例如超级节点/>内部的节点按照节点序号从右到左依次表示为/>、、/>、/>,依图9所示,拓扑结构中超级节点内部为全连接,即每两个节点之间直接相连,超级节点之间是通过节点/>与节点/>直接相连、节点/>与节点/>直接相连,即每个超级节点之间连接的路由节点是超级节点内部编号之和等于3的节点,对应了最大编号3和最小编号0的求和。
通过本发明实施例提供的蜻蜓网络,在相关技术的蜻蜓结构上增加了全局链路,使得每个路由节点都与其他3个超级节点直接相连,增加了路径多样性,该拓扑结构使用最短路径路由只有2跳,减小了路由路径长度,可以有效地降低拥塞的产生,均衡网络负载,提升网络性能。
根据改进的蜻蜓网络,在一些可选地实施方式中,本发明实施例提供的自适应路由方法,还包括如下步骤:
步骤e1,当按照优先第一方向原则规划中间路由节点时,若待规划的下一个中间路由节点和当前节点在同一个超级节点之内,则按照当前节点的编号和下一个中间路由节点的编号判断第一方向;
步骤e2,若待规划的下一个中间路由节点和当前节点不在同一个超级节点之内,则按照当前节点和下一个中间路由节点分别对应的超级节点编号判断第一方向。
具体地,在本发明实施例中,第一方向的判断分为两种情况,一种是当前节点和下一个中间路由节点都在同一个超级节点内,则直接按照路由节点本申的编号确定第一方向,另一种情况是当前节点和下一个中间路由节点分别在不同的超级节点内,从而按照超级节点的编号确定第一方向,避免出现不同的超级节点之间的路由节点满足优先第一方向原则但是被误判的问题。
例如:假设第一方向是负方向,如果只按照超级节点内的编号大小判断,图9中的→/>会被判定为不符合优先第一方向原则,因为第二个下角标0<2,从而将/>视为了具有死锁风险的中间路由节点,但是实际上/>→/>的路由策略并不会带来死锁风险,从而产生了误判,令很多优先第一方向原则的路由策略不能使用,降低了路由算法的灵活性。从而,本实施例针对不同超级节点内的编号,按照超级节点的编号大小进行判断,即/>→/>的第一个下角标1>0,所以/>→/>是一个负跳,从而符合优先第一方向原则,显著增加了按照优先第一方向原则的路由策略生成的可用路径,提高了路由算法的灵活性。
例如:假设第一方向是负方向,在图9中,同一个超级节点内的到/>为正跳,到/>为负跳。不同超级节点之间,假设以路由节点/>到路由节点的全局链路,如果/>,则为正跳,否则为负跳。
在一些可选地实施方式中,当所述源路由节点和所述目的路由节点直接相连,且所述源路由节点和所述目的路由节点在同一个超级节点之内时,所述路由路径只允许通过当前超级节点之内的路由节点规划生成。
具体地,本发明实施例基于改进后的蜻蜓网络,由于超级节点内的路由节点是全连接关系,从而当源路由节点和目的路由节点在同一个超级节点之内时,只允许通过当前超级节点之内的本地链路进行报文传输,能够显著降低路由资源的占用,同时保证报文路由的效率。
在一些可选地实施方式中,蜻蜓网络的各个路由节点部署有隐藏虚拟通道,本发明实施例提供的自适应路由方法,还包括:
步骤f1:接收启动指令。
步骤f2:响应于启动指令,启用各个路由节点上的隐藏虚拟通道。
步骤f3:接收关闭指令。
步骤f4:响应于关闭指令,关闭各个路由节点上的隐藏虚拟通道。
具体地,在本发明实施例中,也可以另外部署能够启用和关闭的虚拟通道,并通过启动和关闭指令来控制虚拟通道是否启用,当缓冲区队首阻塞严重时,可以启用虚拟通道来缓解队首阻塞,当不需要缓解队首阻塞问题时再关闭虚拟通道,降低成本开销。
在一个具体应用实施例中,同时包括上述改进的蜻蜓网络结构和优先第一方向原则路由算法,以负方向作为第一方向为例,本发明实施例提供的自适应路由方法,完整流程如下:
以图9的蜻蜓网络为例,设当前路由节点为,目的路由节点为/>,其中,/>,/>,/>。
1,若目的路由节点为当前路由节点,即且/>,那么在当前路由节点消耗报文。
2,若目的路由节点与当前路由节点直接连接,即(/>)或/>(),那么最短路径为1跳。从而根据路径队列长度Q和跳数H判断不等式(1)是否成立,不等式(1)成立则执行MIN路由策略,否则执MFR路由策略。
2.1,当执行MFR路由策略时,若没有负方向的下一跳,并且也不存在连续两跳都是正方向的节点,MFR路由策略无法满足,当前节点的报文被标记为不安全报文,此时查看下一跳节点输入端的缓存区是不是至少有一个空缓冲区且其他缓冲区也没被不安全报文占满;
2.2,如果满足2.1的空缓冲区条件,则报文可以转发到下一跳节点,否则排队等待,直至下一跳的输入端口没有不安全报文且至少有一个空缓冲区时,再传输报文。 需要注意的是,当前节点和目的节点在同一个超级节点,即(/>)时,报文只能通过超级节点内的本地链路在超级节点内部传输,不允许使用全局链路。
(1)
3,若情况1和2都不满足,则目的路由节点和当前节点不直接相连,只能优先执行MFR路由策略,最短路径为2跳(本地→全局或全局→本地)。在满足下一跳节点输入端的缓存区至少有一个空缓冲区且其他缓冲区也没被不安全报文占满的条件下,执行MFR路由策略还以整体路径耗时最短为标准,采用的中间路由节点保证整体报文传输耗时最短。
当执行MFR路由策略时,若没有负方向的下一跳,并且也不存在连续两跳都是正方向的节点,MFR路由策略无法满足,当前节点的报文被标记为不安全报文,此时排队等待,直至下一跳的输入端口没有不安全报文且至少有一个空缓冲区时,再传输报文。
下面以具体例子对本发明实施例提出的负方向优先的MFR路由策略做详细说明。
如图10所示,如果路由节点连接的两个端口之间进行数据互传,则源路由节点与目的路由节点一致,直接在路由节点/>消耗报文。
如图10(a)所示,若节点连接的端口有报文P1,需要传送至/>所连接的端口。因为目的路由节点和源路由节点在同一个超级节点内,所以只允许在超级节点内部路由。
若路径队列长度和跳数的乘积满足前述实施例的不等式(1),则执行MIN路由策略,即图10(a),否则执行 MFR路由策略。当执行 MFR路由策略时,由于负方向优先,所以优先选择作为中间节点,即报文P1经过一个负跳到达节点/>,再经过一个正跳到达目的节点/>,路由路径如图10(b)。如果图10(b)中路由节点/>到/>的输入端口没有空缓冲区,则可以选择/>的方案,因为/>,是连续两个正跳,所以/>可以作为中间路由节点。最后,优先选择报文传输时间最短的中间路由节点,假设最短时间t为/>这个过程的时间,那么优先选择图10(c)的链路,否则是/>到/>时间短,从而选择图10(b)的链路,可以让报文暂时等待,等/>到/>的输入端口有空缓冲区时再传输。
如图11所示,若节点连接的端口有报文P2,需要传送至/>所连接的端口。首先根据路径队列长度和跳数的乘积判断是否满足前述不等式(1),满足不等式(1)则执行MIN路由策略,即图11(a)中的链路。
否则执行 MFR路由策略,由于负方向优先,一旦节点到/>的输入端口有空缓冲区,直接将报文 P2从/>传送到节点/>。
由于为图11网络拓扑中最小的节点,所以,无论/>路由到后续哪个节点都是正跳,而MFR路由策略要求接下来两跳都是正跳才能符合 MFR路由策略,但由图11可知,无论选择与/>连接的哪个节点作为中间路由节点,接下来两跳都是先经过一个正跳,后经过一个负跳,无法满足MFR路由策略,所以标记报文 P2为不安全报文。
之后,需要等待报文 P2变为安全报文再进行传输,从而避免死锁风险。
判断标准则是前述公式(1)和/>(2)。
如果不等式(1)满足,说明其中距离最短路径的传输时间最短,间接说明对应路由节点的缓冲区最先变成空缓冲区,从而具有可用缓冲区来传递报文;如果不等式(1)不满足,说明是其他路径对应路由节点的缓冲区最先变成空缓冲区,从而具有可用缓冲区来传递报文。当不满足不等式(1)时,再根据公式(2)判断其他哪一个节点的缓冲区最先变成空缓冲区。
换言之,如果满足不等式(1),说明与连接的/>的缓冲区最先可用,从而走最短路径,选择/>为中间节点,路由路径为图11(b)。否则,根据/>表示的报文传输时间最短原则选择中间路由节点,最短时间的节点表示缓冲区最先可用,路由路径为图12(a)或图12(b)。
通过本发明实施例提出的32个端口全互联蜻蜓网络拓扑结构和优先第一方向无死锁自适应路由算法。该网络拓扑结构在蜻蜓网络直径小,吞吐率高,延时较小、性价比高等优良的网络特性的基础上,丰富了路径多样性,可以有效地降低拥塞的产生,均衡网络负载,提升网络性能,一定程度减小了路由路径长度。路由算法降低成本开销,提高缓冲区资源的利用率,降低死锁解决的代价。
在本实施例中还提供了一种自适应路由装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种自适应路由装置,应用于蜻蜓网络,如图13所示,包括:
报文信息获取模块1401,用于获取报文出发的源路由节点和报文到达的目的路由节点;
路由路径规划模块1402,用于根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,得到由所述源路由节点、所述中间路由节点和所述目的路由节点组成的路由路径;其中,所述优先第一方向原则包括:优先采用相对于当前节点在第一方向上的中间路由节点作为报文传输点;当不存在第一方向上的中间路由节点时,则采用相对于当前节点能够连续两跳都在第二方向上的中间路由节点作为所述报文传输点;所述第一方向是根据各个路由节点的唯一标识预设的标识流转方向,所述第二方向是所述第一方向的反方向;
路由模块1403,用于根据路由路径将报文从源路由节点传输到目的路由节点。
在一些可选的实施方式中,在上述路由路径规划模块1402之前,自适应路由装置还包括:
最短路径判定模块,用于当源路由节点和目的路由节点直接相连时,判断是否满足最短路径条件;
最短路径路由模块,用于当满足最短路径条件时,采用最短路径进行报文传输;
当不满足最短路径条件时,执行路由路径规划模块1402。
在一些可选地实施方式中,上述路由路径规划模块1402包括:
第一最优路径单元,用于当所述路由路径不唯一时,从多个所述路由路径中确定满足预设最优条件的目标路由路径。
在一些可选地实施方式中,上述第一最优路径单元,包括:
条件判断子单元,用于判断多个所述路由路径中最短路由路径是否满足所述最短路径条件;
最短路径子单元,用于当所述最短路由路径满足所述最短路径条件时,将所述最短路由路径作为所述目标路由路径;
继续寻优子单元,用于当所述最短路由路径不满足所述最短路径条件时,从不是最短路由路径的其他路由路径中选择所述目标路由路径。
在一些可选地实施方式中,上述继续寻优子单元包括:
最短时间子单元,用于根据所述最短报文传输时间条件从所述其他路由路径中选择所述目标路由路径。
在一些可选地实施方式中,蜻蜓网络中的每个路由节点至少包括2个缓冲区,上述路由路径规划模块1402,还包括:
等待单元,用于当与当前节点连接的中间路由节点都不满足所述优先第一方向原则时,将当前节点等待传输的当前报文保存在当前节点的一个缓冲区中,并将所述当前报文被标记为不安全报文,所述不安全报文表示当前报文具有死锁的风险,所述当前节点至少保留一个没有存放所述不安全报文的缓冲区。
取消等待单元,用于等待死锁风险解除进行下一个中间路由节点的规划。
在一些可选地实施方式中,上述取消等待单元,包括:
继续规划单元,用于若当前节点的当前报文被标记为所述不安全报文,当与当前节点连接的各个中间路由节点中出现一个或多个目标中间路由节点时,将所述目标中间路由节点规划为所述报文传输点;
其中,所述目标中间路由节点是满足如下至少一个跳转条件的中间路由节点:所述目标中间路由节点至少包含一个可用的空缓冲区,且所述目标中间路由节点的下一跳中间路由节点符合所述优先第一方向原则;或者,所述目标中间路由节点至少具有两个可用的空缓冲区;或者,所述目标中间路由节点至少具有一个可用的空缓冲区且其他非空缓冲区至少有一个保存的是安全报文,所述安全报文是没有被标记为不安全报文的报文,表示不具备死锁风险的报文。
在一些可选地实施方式中,上述路由路径规划模块1402,还包括:
MFR规划单元,用于若当前节点的报文是所述安全报文,则在与当前节点连接的各个中间路由节点中确定所述报文传输点时优先选择至少包含一个空缓冲区的中间路由节点。
在一些可选地实施方式中,在上述路由路径规划模块1402之前,还包括:
报文消耗模块,用于当源路由节点和目的路由节点是同一个路由节点时,在源路由节点内消耗报文。
在一些可选地实施方式中,蜻蜓网络的各个路由节点部署有隐藏虚拟通道,装置还包括:
第一命令接收模块,用于接收启动指令;
虚拟通道启动模块,用于响应于启动指令,启用各个路由节点上的隐藏虚拟通道;
第二命令接收模块,用于接收关闭指令;
虚拟通道关闭模块,用于响应于关闭指令,关闭各个路由节点上的隐藏虚拟通道。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的自适应路由装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图13所示的一种自适应路由装置。
请参阅图14,图14是本发明可选实施例提供的一种自适应路由系统的结构示意图,如图14所示,包括多个路由节点设备和多个主机设备,每个主机设备与至少一个路由节点设备通信连接,主机设备存储有计算机指令,用于执行上述方法实施例提供的自适应路由方法。
该主机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在主机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个主机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图15中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据主机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该主机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该主机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (20)
1.一种自适应路由方法,其特征在于,应用于蜻蜓网络,所述方法包括:
获取报文出发的源路由节点和报文到达的目的路由节点;
根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,得到由所述源路由节点、所述中间路由节点和所述目的路由节点组成的路由路径;其中,所述优先第一方向原则包括:优先采用相对于当前节点在第一方向上的中间路由节点作为报文传输点,所述当前节点是当前报文所在的节点;当不存在第一方向上的中间路由节点时,则采用相对于当前节点能够连续两跳都在第二方向上的中间路由节点作为所述报文传输点;所述第一方向是根据各个路由节点的唯一标识预设的标识流转方向,所述第二方向是所述第一方向的反方向;
根据所述路由路径将报文从所述源路由节点传输到所述目的路由节点。
2.根据权利要求1所述的方法,其特征在于,在所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点之前,所述方法还包括:
当所述源路由节点和所述目的路由节点直接相连时,判断是否满足最短路径条件;
当满足所述最短路径条件时,采用最短路径进行报文传输;
当不满足所述最短路径条件时,执行所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点的步骤。
3.根据权利要求2所述的方法,其特征在于,通过下式判断是否满足所述最短路径条件:
式中,是所述源路由节点和所述目的路由节点之间最短路径条件下的路径队列长度,/>是所述源路由节点和所述目的路由节点之间最短路径条件下的报文传输跳数,是所述源路由节点和所述目的路由节点之间根据优先第一方向原则生成路径的路径队列长度,/>是所述源路由节点和所述目的路由节点之间根据优先第一方向原则生成路径的报文传输跳数,T是路由门限值。
4.根据权利要求3所述的方法,其特征在于,所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,包括:
当所述路由路径不唯一时,从多个所述路由路径中确定满足预设最优条件的目标路由路径。
5.根据权利要求4所述的方法,其特征在于,所述预设最优条件包括所述最短路径条件,所述从多个所述路由路径中确定满足预设最优条件的目标路由路径,包括:
判断多个所述路由路径中最短路由路径是否满足所述最短路径条件;
当所述最短路由路径满足所述最短路径条件时,将所述最短路由路径作为所述目标路由路径;
当所述最短路由路径不满足所述最短路径条件时,从不是最短路由路径的其他路由路径中选择所述目标路由路径。
6.根据权利要求5所述的方法,其特征在于,所述预设最优条件还包括最短报文传输时间条件,所述从不是最短路由路径的其他路由路径中选择所述目标路由路径,包括:
根据所述最短报文传输时间条件从所述其他路由路径中选择所述目标路由路径。
7.根据权利要求6所述的方法,其特征在于,所述蜻蜓网络中的每个路由节点至少包括2个缓冲区。
8.根据权利要求7所述的方法,其特征在于,所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,还包括:
当与当前节点连接的中间路由节点都不满足所述优先第一方向原则时,将当前节点等待传输的当前报文保存在当前节点的一个缓冲区中,并将所述当前报文标记为不安全报文,所述不安全报文表示当前报文具有死锁的风险,所述当前节点至少保留一个没有存放所述不安全报文的缓冲区;
等待死锁风险解除进行下一个中间路由节点的规划。
9.根据权利要求8所述的方法,其特征在于,所述等待死锁风险解除进行下一个中间路由节点的规划,包括:
若当前节点的当前报文被标记为所述不安全报文,当与当前节点连接的各个中间路由节点中出现一个或多个目标中间路由节点时,将所述目标中间路由节点规划为所述报文传输点;
其中,所述目标中间路由节点是满足如下至少一个跳转条件的中间路由节点:
所述目标中间路由节点至少包含一个可用的空缓冲区,且所述目标中间路由节点的下一跳中间路由节点符合所述优先第一方向原则;
或者,所述目标中间路由节点至少具有两个可用的空缓冲区;
或者,所述目标中间路由节点至少具有一个可用的空缓冲区且其他非空缓冲区至少有一个保存的是安全报文,所述安全报文是没有被标记为不安全报文的报文,表示不具备死锁风险的报文。
10.根据权利要求9所述的方法,其特征在于,所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,还包括:
若当前节点的报文是所述安全报文,则在与当前节点连接的各个中间路由节点中确定所述报文传输点时优先选择至少包含一个空缓冲区的中间路由节点。
11.根据权利要求2所述的方法,其特征在于,在所述根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点之前,所述方法还包括:
当所述源路由节点和所述目的路由节点是同一个路由节点时,在所述源路由节点内消耗报文。
12.根据权利要求2所述的方法,其特征在于,所述路由节点的唯一标识是编号,所述第一方向是路由节点编号从大到小的负方向或者是路由节点编号从小到大的正方向,当所述第一方向是负方向时,所述第二方向是正方向,当所述第一方向是正方向时,所述第二方向是负方向。
13.根据权利要求12所述的方法,其特征在于,所述蜻蜓网络包括4个超级节点,每个超级节点包括4个路由节点,每个超级节点内的路由节点两两之间通信连接,每个超级节点均按照相同的编号策略对内部的路由节点从小到大依次编号,各个超级节点之间按照从小到大编号,且各个超级节点之间建立通信连接的路由节点满足如下条件:
建立通信连接的两个路由节点的编号求和,等于编号策略中最大编号和最小编号的求和。
14.根据权利要求13所述的方法,其特征在于,当按照所述优先第一方向原则规划中间路由节点时,若待规划的下一个中间路由节点和当前节点在同一个超级节点之内,则按照所述当前节点的编号和所述下一个中间路由节点的编号判断所述第一方向;若待规划的下一个中间路由节点和当前节点不在同一个超级节点之内,则按照所述当前节点和所述下一个中间路由节点分别对应的超级节点编号判断所述第一方向。
15.根据权利要求13所述的方法,其特征在于,当所述源路由节点和所述目的路由节点直接相连,且所述源路由节点和所述目的路由节点在同一个超级节点之内时,所述路由路径只允许通过当前超级节点之内的路由节点规划生成。
16.根据权利要求1所述的方法,其特征在于,所述蜻蜓网络的各个路由节点部署有隐藏虚拟通道,所述方法还包括:
接收启动指令;
响应于所述启动指令,启用各个路由节点上的所述隐藏虚拟通道;
接收关闭指令;
响应于所述关闭指令,关闭各个路由节点上的所述隐藏虚拟通道。
17.一种自适应路由装置,其特征在于,应用于蜻蜓网络,所述装置包括:
报文信息获取模块,用于获取报文出发的源路由节点和报文到达的目的路由节点;
路由路径规划模块,用于根据优先第一方向原则从所述源路由节点到所述目的路由节点的路径中规划经过的中间路由节点,得到由所述源路由节点、所述中间路由节点和所述目的路由节点组成的路由路径;其中,所述优先第一方向原则包括:优先采用相对于当前节点在第一方向上的中间路由节点作为报文传输点,所述当前节点是当前报文所在的节点;当不存在第一方向上的中间路由节点时,则采用相对于当前节点能够连续两跳都在第二方向上的中间路由节点作为所述报文传输点;所述第一方向是根据各个路由节点的唯一标识预设的标识流转方向,所述第二方向是所述第一方向的反方向;
路由模块,用于根据所述路由路径将报文从所述源路由节点传输到所述目的路由节点。
18.一种自适应路由系统,其特征在于,包括多个路由节点设备和多个主机设备,每个所述主机设备与至少一个所述路由节点设备通信连接,所述主机设备存储有计算机指令,通过执行所述计算机指令,从而执行权利要求1至16中任一项所述的方法。
19.一种主机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至16中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311388227.3A CN117135110B (zh) | 2023-10-25 | 2023-10-25 | 一种自适应路由方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311388227.3A CN117135110B (zh) | 2023-10-25 | 2023-10-25 | 一种自适应路由方法、装置、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117135110A true CN117135110A (zh) | 2023-11-28 |
CN117135110B CN117135110B (zh) | 2024-03-01 |
Family
ID=88854897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311388227.3A Active CN117135110B (zh) | 2023-10-25 | 2023-10-25 | 一种自适应路由方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117135110B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262444A (zh) * | 2008-03-10 | 2008-09-10 | 清华大学 | 基于通道交叠的容错mesh网避免死锁的路由方法 |
CN102932250A (zh) * | 2012-10-30 | 2013-02-13 | 清华大学 | 一种基于容错计算机网络结构的无死锁自适应路由方法 |
CN103179034A (zh) * | 2011-12-22 | 2013-06-26 | 清华大学 | 无死锁自适应路由方法 |
CN103973564A (zh) * | 2013-01-31 | 2014-08-06 | 清华大学 | 互连网络系统及自适应路由方法 |
CN104038418A (zh) * | 2014-05-19 | 2014-09-10 | 暨南大学 | 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 |
WO2015196461A1 (en) * | 2014-06-27 | 2015-12-30 | Tsinghua University | Deadlock-free adaptive routing of interconnect network |
US20200053002A1 (en) * | 2018-08-07 | 2020-02-13 | International Business Machines Corporation | Switch-connected dragonfly network |
CN116232985A (zh) * | 2022-12-23 | 2023-06-06 | 中国联合网络通信集团有限公司 | 一种路由规划方法、装置及存储介质 |
-
2023
- 2023-10-25 CN CN202311388227.3A patent/CN117135110B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262444A (zh) * | 2008-03-10 | 2008-09-10 | 清华大学 | 基于通道交叠的容错mesh网避免死锁的路由方法 |
CN103179034A (zh) * | 2011-12-22 | 2013-06-26 | 清华大学 | 无死锁自适应路由方法 |
CN102932250A (zh) * | 2012-10-30 | 2013-02-13 | 清华大学 | 一种基于容错计算机网络结构的无死锁自适应路由方法 |
CN103973564A (zh) * | 2013-01-31 | 2014-08-06 | 清华大学 | 互连网络系统及自适应路由方法 |
CN104038418A (zh) * | 2014-05-19 | 2014-09-10 | 暨南大学 | 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 |
WO2015196461A1 (en) * | 2014-06-27 | 2015-12-30 | Tsinghua University | Deadlock-free adaptive routing of interconnect network |
US20200053002A1 (en) * | 2018-08-07 | 2020-02-13 | International Business Machines Corporation | Switch-connected dragonfly network |
CN116232985A (zh) * | 2022-12-23 | 2023-06-06 | 中国联合网络通信集团有限公司 | 一种路由规划方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
DONG XIANG等: ""Deadlock-Free Broadcast Routing in Dragonfly Networks without Virtual Channels"", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》, pages 1 - 7 * |
PEYMAN FAIZIAN等: ""Traffic Pattern-Based Adaptive Routing for Intra-Group Communication in Dragonfly Networks"", 《2016 IEEE 24TH ANNUAL SYMPOSIUM ON HIGH-PERFORMANCE INTERCONNECTS (HOTI)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN117135110B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11784920B2 (en) | Algorithms for use of load information from neighboring nodes in adaptive routing | |
JP7417825B2 (ja) | スライスベースルーティング | |
JP6093867B2 (ja) | インターコネクトにおける不均一なチャネル容量 | |
US7809006B2 (en) | Routing with virtual channels | |
US5297137A (en) | Process for routing data packets around a multi-node communications network | |
US7263065B1 (en) | Network having multiple QoS levels | |
US9379983B2 (en) | Router, method for controlling router, and computer program | |
US9838334B2 (en) | Method for allocating resources in a mesh communications network, computer program, information storage means and node device | |
WO2022213817A1 (zh) | 路由方法和路由装置 | |
CN112152935B (zh) | 一种传输路径的确定方法及装置 | |
KR102462577B1 (ko) | 네트워크 온 칩 통신 장치 및 네트워크 온 칩 통신을 위한 라우터 장치 | |
Cattelan et al. | Iterative design space exploration for networks requiring performance guarantees | |
CN117135110B (zh) | 一种自适应路由方法、装置、系统、设备及存储介质 | |
CN110365580B (zh) | 服务质量调度方法、装置、电子设备及计算机可读存储介质 | |
JP2002359634A (ja) | 通信経路設計方法、通信経路設計装置及びプログラム | |
US20200136995A1 (en) | Hierarchical switching device with deadlockable storage and storage partitions | |
US7532584B2 (en) | Implementation of constraints to ensure deadlock avoidance in networks | |
JP3758523B2 (ja) | 双方向リングネットワーク、ノード装置および双方向リングネットワーク制御方法 | |
US11805080B2 (en) | System and method for data loss and data latency management in a network-on-chip with buffered switches | |
US20130287034A1 (en) | Using probabilistic values for routing data packets on a data center network | |
Reinemo | Quality of service in interconnection networks | |
Kultan et al. | Congestion Aware Multipath Routing: Performance Improvements in Core Networks | |
Hassanpour et al. | Proposing a dynamic routing approach to improve performance of Iran data network | |
Jerger et al. | Routing |
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 |