CN104539536B - 动态状态驱动的流控及Torus网络自适应路由方法 - Google Patents

动态状态驱动的流控及Torus网络自适应路由方法 Download PDF

Info

Publication number
CN104539536B
CN104539536B CN201410719748.7A CN201410719748A CN104539536B CN 104539536 B CN104539536 B CN 104539536B CN 201410719748 A CN201410719748 A CN 201410719748A CN 104539536 B CN104539536 B CN 104539536B
Authority
CN
China
Prior art keywords
router
tunnel
packet
moment
node
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
Application number
CN201410719748.7A
Other languages
English (en)
Other versions
CN104539536A (zh
Inventor
向东
虞志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201410719748.7A priority Critical patent/CN104539536B/zh
Publication of CN104539536A publication Critical patent/CN104539536A/zh
Application granted granted Critical
Publication of CN104539536B publication Critical patent/CN104539536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

动态状态驱动的流控及Torus网络自适应路由方法,本发明提供了一种路由器虚拟通道状态更新方法,包括:T时刻,第二路由器的第一虚拟通道为非安全状态,若在T时刻,第二路由器中第一虚拟通道存储的数据包申请到了第三路由器中某一通道的缓存区,则在T时刻结束之前,第二路由器更新第二路由器的第一虚拟通道为安全状态。本发明所述的路由器虚拟通道状态更新方法能够有效减少数据包的堵塞,改善系统性能。

Description

动态状态驱动的流控及Torus网络自适应路由方法
技术领域
本发明涉及计算机技术领域,具体涉及一种动态状态驱动的流控及Torus网络自适应路由方法。
背景技术
Torus网络是一种完全对称的拓扑结构,具有很多优良特性,如网络直径小,所有节点度相同,结构简单,路径多以及可扩展性好等。因此被广泛应用于商用系统中,如2004年超级计算机TOP 500中排名第一的IBM Blue Gene/L就采用了3-D Torus网络;最新的超级计算机IBMBlue Gene/Q和2011年TOP 500中排名第一的K Computer就分别采用了5-DTorus和6-D Torus网络作为系统互连结构,因此在Torus网络中设计高效、无死锁路由方法至关重要。
虚切通交换(Virtual Cut-Through Switching)引入了流水线式消息传输,在路由器完全接收分组之前,分组直接跨到下一个路由器上。VCT交换被广泛用于超级计算机中,如商用超级计算机Cray XT,IBM BlueGene Q就采用了VCT交换技术。
如何在Torus网络现有的较少数量的虚通道(Virtual Channel)资源和缓冲区(Buffer)资源的基础上,设计出缓冲区资源使用均衡的流控技术,并提出高效的无死锁完全自适应路由方法成为一个新的亟待解决的研究课题。
发明内容
针对现有技术中的缺陷,本发明提供了一种动态状态驱动的流控及Torus网络自适应路由方法,能够有效避免死锁,提高了系统性能。
第一方面,本发明提供一种路由器虚拟通道状态更新方法,包括:
T时刻,第二路由器的第一虚拟通道为非安全状态,若在T时刻,第二路由器中第一虚拟通道存储的数据包申请到了第三路由器中某一通道的缓存区,则在T时刻结束之前,第二路由器更新第二路由器的第一虚拟通道为安全状态。
其中,所述第二路由器的第一虚拟通道为非安全状态为:所述第二路由器的第一虚拟通道中存储的数据包为非安全数据包,其中判断第二路由器的第一虚拟通道中存储的数据包为非安全数据包的方法为:
若第二路由器的第一虚拟通道中存储的数据包的上一节点路由器为第一路由器,如果该数据包从第一路由器到第二路由器是通过环绕通道,且环绕通道所在的维度是该数据包从第一路由器节点到目的节点所需要通过环绕通道中的最低维;或该数据包从第一路由器节点达目的节点不再需要通过任何环绕通道,且该数据包从第一路由器到第二路由器遵循Mesh网络中的无死锁自适应路由方法,则该数据包对于第二路由器为安全数据包,否则,该数据包对于第二路由器为非安全数据包。
第二方面,本发明提供一种基于路由器虚拟通道状态更新方法的动态状态驱动的流控方法,
对于第一路由器、第二路由器和第三路由器,每个路由器节点中包含第一虚拟通道和第二虚拟通道,所述第一虚拟通道和第二虚拟通道中各包含一个缓冲区,每个缓冲区用于存储一个数据包;
所述第一路由器中第一虚拟通道中的数据包相对于下一跳节点第二路由器为非安全数据包,T时刻,第一路由器中第一虚拟通道中的数据包欲申请第二路由器作为其下一跳节点,第一路由器读取第二路由器此刻的状态信息为第一虚拟通道为空闲状态,第二虚拟通道为非安全状态,第一路由器暂停将第一虚拟通道中的数据包向第二路由器中的第一虚拟通道发送;
若在T时刻,第二路由器中第二虚拟通道存储的数据包申请到了第三路由器中某一通道的缓存区,则在T时刻结束之前第二路由器更新自身状态为第一虚拟通道为空闲状态,第二虚拟通道为安全状态;
T+1时刻,第一路由器中第一虚拟通道中的数据包继续申请第二路由器作为其下一跳节点,第一路由器读取第二路由器此刻的状态信息为第一虚拟通道为空闲状态,第二虚拟通道为安全状态,第一路由器将第一虚拟通道中的数据包向第二路由器中的第一虚拟通道发送。
其中,每个路由器节点中的第一虚拟通道和第二虚拟通道不能同时为不安全状态。
其中,所述Mesh网络无死锁自适应路由方法为维序路由方法和负向优先路由方法中的一种。
第三方面,本发明提供一种Torus网络自适应路由方法,包括:
在n维的torus网络,数据包从源路由器S(s1,s2,…,sn)到目的路由器D(d1,d2,...,dn)传输中,如果数据包当前所处的路由器为C(c1,c2,...,cn),与之相邻的路由器为Ei(E1+,E1-,E2+,E2-,...,En+,En-)其中,+\-分别表示正负方向上的邻居路由器,Ei中的i表示第i维上的邻居路由器;
数据包从C向所有更靠近目的路由器的相邻路由器Ei进行路由时,遵循上述的流控方法。
由上述技术方案可知,本发明的路由器虚拟通道状态更新方法及动态状态驱动的流控方法,通过监测路由器中处于非安全状态的虚拟通道中的数据包是否已申请到下一跳节点上的缓存区来实时更新路由器中虚拟通道的状态,如果处于非安全状态的虚拟通道中的数据包已经申请到下一跳节点上的缓存区,那么立即将该虚拟通道的状态更新为安全状态,从而当有非安全数据包申请存入该路由器时,若该路由器中的另一虚拟通道为空闲状态,则该非安全数据包就可以申请成功,并可以立即向该路由器发送数据。本发明所述的路由器虚拟通道状态更新方法及动态状态驱动的流控方法,可以有效减少数据包的堵塞,从而改善系统性能。另外,本发明所述的Torus网络自适应路由方法,基于动态状态驱动的流控方法,可以有效的避免死锁。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的路由器虚拟通道状态转换示意图;
图2是现有技术中的路由器虚拟通道状态转换示意图;
图3是本发明实施例二提供的动态数据包状态驱动的流控过程示意图;
图4是现有技术中基于静态数据包状态的流控过程示意图;
图5是本发明实施例三提供的Torus网络自适应路由方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例一提供的路由器虚拟通道状态更新方法包括:
T时刻,第二路由器的第一虚拟通道为非安全状态,若在T时刻,第二路由器中第一虚拟通道存储的数据包申请到了第三路由器中某一通道的缓存区,则在T时刻结束之前,第二路由器更新第二路由器的第一虚拟通道为安全状态。
其中,所述第二路由器的第一虚拟通道为非安全状态为:所述第二路由器的第一虚拟通道中存储的数据包为非安全数据包,其中判断第二路由器的第一虚拟通道中存储的数据包为非安全数据包的方法为:
若第二路由器的第一虚拟通道中存储的数据包的上一节点路由器为第一路由器,如果该数据包从第一路由器到第二路由器是通过环绕通道,且环绕通道所在的维度是该数据包从第一路由器节点到目的节点所需要通过环绕通道中的最低维;或该数据包从第一路由器节点达目的节点不再需要通过任何环绕通道,且该数据包从第一路由器到第二路由器遵循Mesh网络中的无死锁自适应路由方法,则该数据包对于第二路由器为安全数据包,否则,该数据包对于第二路由器为非安全数据包。
参见图1和图2,图1是本发明实施例一提供的路由器虚拟通道状态转换示意图。图2是现有技术中的路由器虚拟通道状态转换示意图。
从图1可以看出,路由器虚拟通道的状态可以由非安全状态转变为安全状态。
结合与图2的对比可以发现,现有技术中,路由器虚拟通道的状态只能由安全和空闲之间、非安全和空闲之间相互转换,而不能由非安全状态转变为安全状态。
由于路由器中的两个虚拟通道不能同时为非安全状态,因此,当某一个数据包相对于该路由器为非安全数据包,且该路由器中一个虚拟通道为空闲状态、另一个虚拟通道为非安全状态时,该数据包就不能向该路由器发送数据,该数据包必须等待该路由器处于非安全状态的虚拟通道中的数据包完全发送出去,该虚拟通道由非安全状态变为空闲状态时,才能向该路由器发送数据。这样,无疑增加了数据包的等待时间,增加了网络堵塞。
而本实施中的路由器虚拟通道状态更新方法,只要该路由器处于非安全状态的虚拟通道中的数据包申请到了下一跳路由器节点的缓存区,则该路由器就更新该虚拟通道由非安全状态转换为安全状态,这样,对于一个非安全数据包来说,因为此时该路由器中一个虚拟通道为空闲状态,一个为安全状态,那么该数据包就可以申请将数据发送到该路由器,而不必等到该路由器中原先处于非安全状态的虚拟通道中的数据包完全发送出去再开始发送。本发明所述的路由器虚拟通道状态更新方法,可以有效减少数据包的堵塞,从而改善系统性能。
本发明实施例二提供的动态状态驱动的流控方法包括:
对于第一路由器、第二路由器和第三路由器,每个路由器节点中包含第一虚拟通道和第二虚拟通道,所述第一虚拟通道和第二虚拟通道中各包含一个缓冲区,每个缓冲区用于存储一个数据包;
所述第一路由器中第一虚拟通道中的数据包相对于下一跳节点第二路由器为非安全数据包,T时刻,第一路由器中第一虚拟通道中的数据包欲申请第二路由器作为其下一跳节点,第一路由器读取第二路由器此刻的状态信息为第一虚拟通道为空闲状态,第二虚拟通道为非安全状态,第一路由器暂停将第一虚拟通道中的数据包向第二路由器中的第一虚拟通道发送;
若在T时刻,第二路由器中第二虚拟通道存储的数据包申请到了第三路由器中某一通道的缓存区,则在T时刻结束之前第二路由器更新自身状态为第一虚拟通道为空闲状态,第二虚拟通道为安全状态;
T+1时刻,第一路由器中第一虚拟通道中的数据包继续申请第二路由器作为其下一跳节点,第一路由器读取第二路由器此刻的状态信息为第一虚拟通道为空闲状态,第二虚拟通道为安全状态,第一路由器将第一虚拟通道中的数据包向第二路由器中的第一虚拟通道发送。
其中,每个路由器节点中的第一虚拟通道和第二虚拟通道不能同时为不安全状态,否则容易出现死锁现象。
其中,所述Mesh网络无死锁自适应路由方法为维序路由方法和负向优先路由方法中的一种。
参见图3和图4,图3是本发明实施例二提供的动态数据包状态驱动的流控过程示意图。图4是现有技术中基于静态数据包状态的流控过程示意图。
图3和图4中,F表示路由器中处于空闲状态的虚拟通道数量,S表示路由器中处于安全状态的虚拟通道的数量。F=1,S=0,表示该路由器中有一个处于空闲状态的虚拟通道,一个处于非安全状态的虚拟通道;F=1,S=1,表示该路由器中有一个处于空闲状态的虚拟通道,一个处于安全状态的虚拟通道;F=2,S=0,表示该路由器中有两个处于空闲状态的虚拟通道;F=0,S=2,表示该路由器中有两个处于安全状态的虚拟通道;F=0,S=1,表示该路由器中有一个处于非安全状态的虚拟通道,一个处于安全状态的虚拟通道。
对于图中的路由器R1、路由器R2、路由器R3,R1中的数据包P1对于路由器R2为非安全数据包,R2中的数据包P2对于R3为安全数据包。
针对图3:
T时刻,R2中F=1,S=0,即第一虚拟通道为空闲状态,第二虚拟通道为非安全状态;此时,R1中第一虚拟通道中数据包P1欲申请R2作为其下一跳节点,由于P1相对于R2为非安全数据包,且R2的两个虚拟通道中,一个处于空闲状态,一个处于非安全状态,根据路由器节点的两个虚拟通道不能同时为不安全状态这一要求,数据包P1不能将数据发送到R2。
若T时刻,R2中的数据包P2申请到了R3的某一通道的缓存区,则在T时刻结束之前R2更新自身状态为F=1,S=1,即第一虚拟通道为空闲状态,第二虚拟通道为安全状态。
T+1时刻,R1中第一虚拟通道中的数据包P1继续申请R2作为其下一跳节点,R1读取R2此刻的状态信息为F=1,S=1,即第一虚拟通道为空闲状态,第二虚拟通道为安全状态,此时P1申请R2作为其下一跳节点成功。与此同时,R2开始将数据包P2向R3发送,图中,数据包由n个微片组成,微片是指通道在一个时钟周期内可以传输的数据单位。T+1时刻,R2向R3发送一个数据微片。
由于T+1时刻,P1申请R2作为其下一跳节点成功,因此在T+1时刻结束之前R2更新自身状态为F=0,S=1(该动作为现有技术,即由空闲状态向非安全状态转变)。
T+2时刻,R1将第一虚拟通道中的数据包P1向R2中的处于空闲状态的第一虚拟通道发送了一个数据微片。R2向R3发送了第二个数据微片。
在T+n+1时刻,P1已经完全从R1传输到了R2,P2已经完全从R2传输到了R3。
针对图4:
T时刻,R2中F=1,S=0,即第一虚拟通道为空闲状态,第二虚拟通道为非安全状态;此时,R1中第一虚拟通道中数据包P1欲申请R2作为其下一跳节点,由于P1相对于R2为非安全数据包,且R2的两个虚拟通道中,一个处于空闲状态,一个处于非安全状态,根据路由器节点的两个虚拟通道不能同时为不安全状态这一要求,数据包P1不能将数据发送到R2。
若T时刻,R2中的数据包P2申请到了R3的某一通道的缓存区,由于现有技术中不存在将虚拟通道由非安全状态转换为安全状态的动作,因此在T时刻结束之后,R2的状态仍为为F=1,S=0,即第一虚拟通道为空闲状态,第二虚拟通道为非安全状态。
T+1时刻,R1中第一虚拟通道中的数据包P1继续申请R2作为其下一跳节点,R1读取R2此刻的状态信息为F=1,S=0,即第一虚拟通道为空闲状态,第二虚拟通道为非安全状态,此时P1申请R2作为其下一跳节点依旧失败。与此同时,R2开始将数据包P2向R3发送,图中,数据包由n个微片组成,微片是指通道在一个时钟周期内可以传输的数据单位。T+1时刻,R2向R3发送一个数据微片。
T+2时刻,R1中第一虚拟通道中的数据包P1继续申请R2作为其下一跳节点,R1读取R2此刻的状态信息为F=1,S=0,即第一虚拟通道为空闲状态,第二虚拟通道为非安全状态,此时P1申请R2作为其下一跳节点依旧失败。与此同时,R2向R3发送了第二个数据微片。
在T+n时刻,R2向R3发送了最后一个数据微片,此时,R2更新自身状态为F=2,S=0(该动作为现有技术,即由非安全状态向空闲状态转变)。
在T+n时刻,R1中第一虚拟通道中的数据包P1继续申请R2作为其下一跳节点,R1读取R2此刻的状态信息为F=2,S=0,即第一虚拟通道为空闲状态,第二虚拟通道为空闲状态,此时P1申请R2作为其下一跳节点成功。因此在T+n时刻结束之前R2更新自身状态为F=1,S=0(该动作为现有技术,即由空闲状态向非安全状态转变)。
在T+n+1时刻,R1将第一虚拟通道中的数据包P1向R2中的处于空闲状态的第一虚拟通道发送了一个数据微片。
现列出以下对比来说明本发明的优势:
(1)T+2时刻:
本申请:R1中的数据包P1开始向R2发送数据。
现有技术:P1申请R2作为其下一跳节点失败。
(2)T+n+1时刻:
本申请:P1已经完全从R1传输到了R2。
现有技术:P1向R2发送了第一个数据微片。
在本发明动态数据包状态驱动的流控情况下,在T+n+1时刻,P1已经完全从R1传输到了R2,P2已经完全从R2传输到了R3;
而在现有技术基于静态数据包状态的流控情况下,在T+n+1时刻,P1才向R2传输了一个微片,P2也已经完全从R2传输到了R3;从图3和图4的对比中可以很明显地看到,本发明可以有效减少数据包的堵塞(如P1),从而改善系统性能。
本发明实施例二所述的动态状态驱动的流控方法,通过监测路由器中处于非安全状态的虚拟通道中的数据包是否已申请到下一跳节点上的缓存区来实时更新路由器中虚拟通道的状态,如果处于非安全状态的虚拟通道中的数据包已经申请到下一跳节点上的缓存区,那么立即将该虚拟通道的状态更新为安全状态,从而当有非安全数据包申请存入该路由器时,若该路由器中的另一虚拟通道为空闲状态,这样该路由器的两条虚拟通道一条为安全状态,一条为空闲状态,则该非安全数据包就可以申请该路由器作为其下一跳步,并可以立即向该路由器发送数据。本实施例所述的基于路由器虚拟通道状态更新方法的动态状态驱动的流控方法,可以有效减少数据包的堵塞,从而改善系统性能。
本发明实施例三提供的Torus网络自适应路由方法包括:
在n维的torus网络,数据包从源路由器S(s1,s2,…,sn)到目的路由器D(d1,d2,...,dn)传输中,如果数据包当前所处的路由器为C(c1,c2,...,cn),与之相邻的路由器为Ei(E1+,E1-,E2+,E2-,...,En+,En-)其中,+\-分别表示正负方向上的邻居路由器,Ei中的i表示第i维上的邻居路由器;
数据包从C向所有更靠近目的路由器的相邻路由器Ei进行路由时,遵循实施例二所述的流控方法。
参见图5,图5示出了本发明实施例三提供的Torus网络自适应路由方法的流程图,为具体说明本实施例所述的路由方法,现介绍其具体步骤如下:
D1:在n维Torus网络中,设网络中第i维的大小为ki,i=1,…,n,数据包路由时,当前所在节点的坐标C为(c1,c2,…,ci,…,cn),目的节点坐标D为(d1,d2,…,di,…,dn),当前节点C在第i维+、-方向上的邻居节点E的输入端口中空闲虚拟通道数目F为(f1+,f1-,f2+,f2-,…,fi+,fi-,…,fn+,fn-)和安全虚拟通道数目S为(s1+,s1-,s2+,s2-,…,si+,si-,…,sn+,sn-);其中ci表示当前所在节点在第i维上的坐标,di表示目的节点在第i维上的坐标,CH为数据包的可选输出通道集合,初始值为空集最终选择的路径为ch;
D2:如果数据包当前所在节点坐标C与目的节点坐标D相等,即C=D,那么数据包已经到达目的节点,路由结束;否则执行D3;
D3:从i=1到n,依次执行以下操作:
1)如果di-ci>ki/2或者-ki/2≤di–ci<0,且fi-,si-满足下列条件之一:
a.若fi->1,那么数据包可以前进下一个节点;
b.若fi-=1且si-≥1,那么数据包可以前进下一个节点;
c.若fi-=1且si-=0,如果数据包对下一个节点是安全数据包,那么该数据包可以前进下一个节点;
其中上述a、b、c三个条件中的fi-、si-的值为使用实施例一和实施二所述的路由器虚拟通道状态更新方法及流控方法更新后的数值。
那么提供数据包沿着当前所在节点C到当前所在节点C第i维负方向上的路径Ci-前进,即CH=CH+{Ci-};
2)如果0<di-ci≤ki/2或者di–ci<-ki/2,且fi+,si+满足下列条件之一:
a.若fi+>1,那么数据包可以前进下一个节点;
b.若fi+=1且si+≥1,那么数据包可以前进下一个节点;
c.若fi+=1且si+=0,如果数据包对下一个节点是安全数据包,那么该数据包可以前进下一个节点;
其中上述a、b、c三个条件中的fi+、si+的值为使用实施例一和实施二所述的路由器虚拟通道状态更新方法及流控方法更新后的数值。
那么提供数据包沿着当前所在节点C到当前所在节点C第i维正方向上的路径Ci+前进,也就是CH=CH+{Ci+};
D4:根据所述步骤D3得到的数据包可选的输出通道的集合CH,数据包可以根据网络状态信息进行决策,从集合CH中自适应的选择一条通道作为最终的输出通道ch,路由结束。
本实施例中,fi表示路由器Ei中处于空闲状态的虚拟通道数量,si表示路由器Ei中处于安全状态的虚拟通道的数量。
其中,所述完全自适应路由方法,为最短路径路由方法,即该方法只为数据包提供靠近目的节点的路径。
本发明实施例三在实施例二提供的流控方法基础上,提出了一种Torus网络的自适应路由方法,该方法实现了Torus网络中的无死锁完全自适应路由方法。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种路由器虚拟通道状态更新方法,其特征在于,包括:
T时刻,第二路由器的第一虚拟通道为非安全状态,若在T时刻,第二路由器中第一虚拟通道存储的数据包申请到了第三路由器中某一通道的缓存区,则在T时刻结束之前,第二路由器更新第二路由器的第一虚拟通道为安全状态;其中,所述第三路由器为所述数据包的下一跳路由器。
2.根据权利要求1所述的路由器虚拟通道状态更新方法,其特征在于,所述第二路由器的第一虚拟通道为非安全状态为:所述第二路由器的第一虚拟通道中存储的数据包为非安全数据包,其中判断第二路由器的第一虚拟通道中存储的数据包为非安全数据包的方法为:
若第二路由器的第一虚拟通道中存储的数据包的上一节点路由器为第一路由器,如果该数据包从第一路由器到第二路由器是通过环绕通道,且环绕通道所在的维度是该数据包从第一路由器节点到目的节点所需要通过环绕通道中的最低维;或该数据包从第一路由器节点达目的节点不再需要通过任何环绕通道,且该数据包从第一路由器到第二路由器遵循Mesh网络中的无死锁自适应路由方法,则该数据包对于第二路由器为安全数据包,否则,该数据包对于第二路由器为非安全数据包。
3.一种基于权利要求2所述的路由器虚拟通道状态更新方法的动态状态驱动的流控方法,其特征在于,
对于第一路由器、第二路由器和第三路由器,每个路由器节点中包含第一虚拟通道和第二虚拟通道,所述第一虚拟通道和第二虚拟通道中各包含一个缓冲区,每个缓冲区用于存储一个数据包;
所述第一路由器中第一虚拟通道中的数据包相对于下一跳节点第二路由器为非安全数据包,T时刻,第一路由器中第一虚拟通道中的数据包欲申请第二路由器作为其下一跳节点,第一路由器读取第二路由器此刻的状态信息为第一虚拟通道为空闲状态,第二虚拟通道为非安全状态,第一路由器暂停将第一虚拟通道中的数据包向第二路由器中的第一虚拟通道发送;
若在T时刻,第二路由器中第二虚拟通道存储的数据包申请到了第三路由器中某一通道的缓存区,则在T时刻结束之前第二路由器更新自身状态为第一虚拟通道为空闲状态,第二虚拟通道为安全状态;
T+1时刻,第一路由器中第一虚拟通道中的数据包继续申请第二路由器作为其下一跳节点,第一路由器读取第二路由器此刻的状态信息为第一虚拟通道为空闲状态,第二虚拟通道为安全状态,第一路由器将第一虚拟通道中的数据包向第二路由器中的第一虚拟通道发送。
4.根据权利要求3所述的流控方法,其特征在于,每个路由器节点中的第一虚拟通道和第二虚拟通道不能同时为不安全状态。
5.根据权利要求3或4所述的流控方法,其特征在于,所述Mesh网络中的无死锁自适应路由方法为维序路由方法和负向优先路由方法中的一种。
6.一种基于权利要求3或4所述流控方法的Torus网络自适应路由方法,其特征在于,包括:
在n维的torus网络,数据包从源路由器S(s1,s2,…,sn)到目的路由器D(d1,d2,...,dn)传输中,如果数据包当前所处的路由器为C(c1,c2,...,cn),与之相邻的路由器为Ei(E1+,E1-,E2+,E2-,...,En+,En-)其中,+\-分别表示正负方向上的邻居路由器,Ei中的i表示第i维上的邻居路由器;
数据包从C向所有更靠近目的路由器的相邻路由器Ei进行路由时,遵循权利要求3或4所述的流控方法。
CN201410719748.7A 2014-12-01 2014-12-01 动态状态驱动的流控及Torus网络自适应路由方法 Active CN104539536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410719748.7A CN104539536B (zh) 2014-12-01 2014-12-01 动态状态驱动的流控及Torus网络自适应路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410719748.7A CN104539536B (zh) 2014-12-01 2014-12-01 动态状态驱动的流控及Torus网络自适应路由方法

Publications (2)

Publication Number Publication Date
CN104539536A CN104539536A (zh) 2015-04-22
CN104539536B true CN104539536B (zh) 2017-10-17

Family

ID=52855005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410719748.7A Active CN104539536B (zh) 2014-12-01 2014-12-01 动态状态驱动的流控及Torus网络自适应路由方法

Country Status (1)

Country Link
CN (1) CN104539536B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842553B (zh) * 2017-12-12 2021-10-08 中国科学院计算技术研究所 一种面向链路资源的自适应互连与路由控制方法和系统
CN114363241B (zh) * 2019-05-15 2023-02-28 清华大学 高维度Torus网络架构及自适应路由方法
CN113067627B (zh) * 2021-03-18 2022-05-06 西安电子科技大学 一种基于虚拟节点的自适应抗毁卫星路由方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335704A (zh) * 2008-04-18 2008-12-31 清华大学 三维torus网中的无死锁自适应路由方法
CN102170402A (zh) * 2011-05-31 2011-08-31 清华大学 Torus网络中的无死锁自适应路由算法
US8441933B2 (en) * 2009-12-21 2013-05-14 Google, Inc. Deadlock prevention in direct networks of arbitrary topology

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335704A (zh) * 2008-04-18 2008-12-31 清华大学 三维torus网中的无死锁自适应路由方法
US8441933B2 (en) * 2009-12-21 2013-05-14 Google, Inc. Deadlock prevention in direct networks of arbitrary topology
CN102170402A (zh) * 2011-05-31 2011-08-31 清华大学 Torus网络中的无死锁自适应路由算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Achieving Balanced Buffer Utilization with a Proper Co-Design of Flow Control and Routing Algorithm;Miguel Gorgues 等;《2014 Eighth IEEE/ACM International Symposium on Networks-on-Chip (NoCS) 》;20140919;全文 *
VCBR: Virtual Channel Balanced Routing in Torus Networks;Zhigang Yu 等;《High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing (HPCC_EUC)》;20131115;全文 *

Also Published As

Publication number Publication date
CN104539536A (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
US10972357B2 (en) SDN network system, controller, and controlling method
US9929938B2 (en) Hierarchal label distribution and route installation in a loop-free routing topology using routing arcs at multiple hierarchal levels for ring topologies
US10613616B2 (en) Systems and methods for facilitating low power on a network-on-chip
KR102233645B1 (ko) 가상 네트워크 기반 분산 다중 도메인 라우팅 제어 시스템 및 라우팅 제어 방법
CN103986664B (zh) 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法
US9264243B2 (en) Flooding and multicasting in a loop-free routing topology using routing arcs
CN104717098B (zh) 一种数据处理方法及装置
CN104539536B (zh) 动态状态驱动的流控及Torus网络自适应路由方法
US20140036729A1 (en) Label distribution and route installation in a loop-free routing topology using routing arcs
Dolev et al. Empire of colonies: Self-stabilizing and self-organizing distributed algorithm
CN107819662A (zh) 一种应用于云雾计算网络的服务功能链实时迁移方法
CN104954288B (zh) 信息发送方法、装置及通信系统
ES2846757T3 (es) Método y sistema para la interconexión de sitios a través de una red de transporte
CN104378229A (zh) 一种机会网络的链路预测方法
WO2013013642A1 (zh) 处理跨环业务的方法和相交节点
CN100440867C (zh) 波长路由光网络的实时软抢占方法
WO2015192483A1 (zh) 一种路由节点、路由交换方法、系统及计算机存储介质
Maniscalco et al. Binary and m-ary encoding in applications of tree-based genetic algorithms for QoS routing
CN103595631B (zh) 一种路径建立的方法和装置
CN105453489B (zh) 一种改进型环状拓扑结构及其应用方法
Cai et al. Design and OPNET implementation of routing algorithm in 3D optical network on chip
US10225751B1 (en) Systems and methods for hybrid control of computer networks
CN107295038A (zh) 一种建立接口组的方法及装置
CN108429683A (zh) 一种网络数据路由方法、系统及装置
CN102136950A (zh) 静态隧道自动配置方法和网管系统

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant