CN110324249B - 一种蜻蜓网络架构及其组播路由方法 - Google Patents
一种蜻蜓网络架构及其组播路由方法 Download PDFInfo
- Publication number
- CN110324249B CN110324249B CN201810265820.1A CN201810265820A CN110324249B CN 110324249 B CN110324249 B CN 110324249B CN 201810265820 A CN201810265820 A CN 201810265820A CN 110324249 B CN110324249 B CN 110324249B
- Authority
- CN
- China
- Prior art keywords
- router
- group
- target
- routers
- source
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- 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/16—Multipoint routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供蜻蜓网络架构及其组播路由方法,该组播路由算法不需要改变路由器体系结构,称为基于路由的组播。基于路由器的组播算法将所有路由器排成一个序列,组播消息采用多个路由步骤递归地传输至所有路由器;基于路由器组的组播根据路由器组将所有目标路由器划分成多个子集,将所有目标路由器组排成一个序列,递归地将组播消息传输至所有路由器组;前面两种组播算法可能需要多个顺序传输通过全局通道的步数。路由器优先组播算法将消息首先传输至组内所有目标路由器,并扩展至多个路由器,所有收到组播消息的路由器可以通过一个路有步骤将组播消息传输至所有含目标点的路由器组,因而减少顺序传输经过全局通道的路由步数。
Description
技术领域
本发明涉及通信技术领域,更具体地,涉及一种蜻蜓网络架构及其组播路由方法。
背景技术
在网络结构中,蜻蜓网络架构非常常见,图1为蜻蜓网络的总体架构,整个网络架构中有多个路由器组,每一个路由器组中包括多个路由器,其中,路由器组之间采用全局通道连接,每一个路由器组内的路由器之间采用局部通道连接。其中,每个路由器有三种不同类型的连接:p个终端的连接,连接同组路由器的另外m-1个路由器的局部通道,连接其它组路由器的g个全局通道。因此,每个路由器度数为k=p+m+g-1。一个路由器组包含m个路由器,同一个路由器组中不同路由器之间通过局部通道两两间互连。每个路由器组有m﹒p个终端端口和m﹒g个全局端口,所以每个路由器组可以看做是一个维度为k’=m﹒(p+g)的虚拟路由器,如图2所示,图2中的tc0-tcp为与一个路由器连接的终端数量。如果忽略路由器组内互连的细节,一个路由器组可以视为一个虚拟的高阶路由器,k’>>k,确保了系统级别的蜻蜓网络架构能够实现非常低的全局直径。例如,n=m﹒g+1组能够以长度为1的全局路径连接,n为路由器组的数目。相反的,一个直接以维度为k的路由器互连的系统级网络将需要一个很大的全局直径。
在一个最大的蜻蜓网络中,及N=m﹒p(m﹒g+1)为处理机总数,每两组路由器间仅仅只有一个全局链接。在较小的蜻蜓网络中,每组有超过其他组的数量的全局连接,这些富裕的全局连接分布在组之间使得任意两组之间至少存在(m﹒g+1)/n的通道数量。蜻蜓网络中的参数m,p和g可以取任意的值。然而,为了均衡通道负载,网络参数应该m=2p=2g的配置。因为每个分组沿着它的路由路径经过两个局部通道的时候必定通过一个全局通道和终端通道,这样一个比例能够保持均衡负载。因为全局通道的成本较高,所以为了保持全局通道保持全负载,均衡的蜻蜓网络应该保持m≥2g,2p≥2g。
一个均衡的蜻蜓网络架构的扩展性如图3所示,通过增加有效的维度,蜻蜓网络架构具有高度的可扩展性,例如,利用64维度的路由器,网络拓扑可扩展为包含256K节点数并且网络直径只有3跳步。相比而言,一个2D的平坦的蝴蝶网络利用64维路由器能够扩展近似10K节点,一个3D的平坦的蝴蝶网络仅仅能够扩展到64K节点。蜻蜓网络架构中组内和组间的网络可以使用任意的互连网络结构。一个简单的蜻蜓网络架构的实例如图3所示,p=g=2,m=4,p为每一个路由器连接的终端数量,g为每一个路由器的全局端口,利用k=7维路由器扩展至72个节点。组内和组间的网络采用1D平坦的蝴蝶网络。
对于蜻蜓网络架构中路由器组之间以及路由器组内的连接,目前,采用随机连接的策略,即一个路由器组随机与另外的路由器组进行全局连接,以及在路由器组内部,一个路由器也是随机与另外的路由器连接。
其中,采用随机连接策略构建的蜻蜓网络架构,需要对蜻蜓网络架构中路由器组与路由器组之间全局连接的路由器的标号进行记录,即哪一个路由器组与哪一个路由器组连接;以及对路由器组内的路由器与路由器之间局部连接的路由器的标号进行记录,即哪一个路由器与哪一个路由器连接。传统的连接需要维护一个记录表,当在路由消息路由的过程中,需要进行查表进行路由,增加了整个路由过程的繁琐;同时采用随机连接策略得到的蜻蜓网络架构的网络直径比较大。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的一种蜻蜓网络架构及其组播路由方法。
根据本发明的一个方面,提供一种蜻蜓网络架构,所述蜻蜓网络架构包括n个路由器组,每个路由器组包括m个路由器,同一个路由器组内的每两个路由器之间两两相连;对于相邻的两个路由器组,前一个路由器组中的最后一个路由器与后一个路由器组中的第一个路由器进行全局连接;以及对于不相邻的两个路由器组Gi及Gj,将路由器组Gi内标号为v的路由器Rv和路由器组Gj中标号为v’的路由器Rv’进行全局连接,其中,i+1<j,v和v’具有对应关系;其中,所述蜻蜓网络架构中的所有路由器组以及每一个路由器组内的多个路由器,均按照负向优先原则具有相应的标号。
根据本发明的另一个方面,提供了一种蜻蜓网络架构的组播路由方法,包括:
基于路由器的组播路由算法或者基于路由器组的组播路由算法或者基于路由器优先的组播路由算法将路由消息从源路由器s路由至多个目标路由器。
本发明提供的一种蜻蜓网络架构及其组播路由方法,分别采用基于路由器的组播、基于路由器组的组播,以及基于路由器优先的组播。基于路由器的组播算法将所有路由器排成一个序列,组播消息采用多个路由步骤递归地传输至所有路由器;基于路由器组的组播根据路由器组将所有目标点划分成多个子集,将所有含有至少一个目标点的路由器组排成一个序列,递归地将组播消息传输至所有路由器组;前面两种组播算法可能需要多个顺序传输通过全局通道的步数。路由器优先组播算法将消息首先将消息传输至组内所有是目标点的路由器,并扩展至多个路由器,通过所有收到组播消息的路由器可以通过一个路有步骤将组播消息传输至所有含目标点的路由器组,因而减少顺序传输经过全局通道的路由步数。
附图说明
图1为蜻蜓(dragonfly)网络的总体架构图;
图2为蜻蜓网络架构中路由器组的内部架构图;
图3为蜻蜓网络架构实例图;
图4为本发明一个实施例的蜻蜓网络架构图;
图5为吸收通道的死锁配置示意图;
图6(a)为本发明一个实施例的标示有源路由器的蜻蜓网络架构图;
图6(b)为图6(a)的蜻蜓网络架构中基于路由器的组播路由算法进行路由的示意图;
图7(a)为本发明一个实施例的标示有源路由器的蜻蜓网络架构图;
图7(b)为图7(a)的蜻蜓网络架构中基于路由器的组播路由算法进行路由的示意图;
图8(a)为本发明一个实施例的标示有源路由器的蜻蜓网络架构图;
图8(b)为图8(a)的蜻蜓网络架构中基于路由器的组播路由算法进行路由的示意图;
图9为采用不同路由器算法在不同路由消息长度下的性能比较图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
高阶蜻蜓网络架构在商业并行计算机的构建中已经非常流行,Cray公司和IBM公司均已经设计了蜻蜓网络架构或者PERCS设计出商用的高性能计算机,PERCS网络与蜻蜓网络架构类似。但是如背景技术中所述,针对这些高阶网络设计的无死锁自适应路由均使用增加网络资源避免死锁的产生,这样极大地浪费了网络资源。这里以网络直径为3的蜻蜓网络架构举例,最短路径路由避免死锁需要2条虚拟通道避免死锁,绕路路由(misrouting)避免死锁则需要3条虚拟通道。所以如果蜻蜓网络架构的网络直径变大的时候,无死锁自适应路由则需要更多的虚拟通道,这样极大的增加了网络设计成本,而且也没有能够充分利用网络资源。
由于自适应无死锁路由算法设计思路有一种不同于增加网络资源的思想,即在路由设计的时候在网络拓扑中通过限定一定的路径取消路由路径中的环形依赖,这样就能够避免死锁的产生。这个思路设计出的无死锁路由包括x-y路由,转弯模型等。参考这个思路,本发明设计一个负向优先的策略(MFR)避免死锁,简单描述就是按照路由器和路由器组的标号计算路由,根据标号的增加,减少计算路由的方向,只有符合负向优先的路由路径被允许。根据这一个策略针对高阶的蜻蜓网络架构进行设计,使得网络中任意两个消息的跳步数尽可能多的符合负向优先的策略,这样就能够使得路由算法更加的高效,使得设计出的互连网络达到更低的延时和更高的吞吐量。
参见图4,提供了本发明一个实施例的蜻蜓网络架构,所述蜻蜓网络架构包括n个路由器组,每个路由器组包括m个路由器,同一个路由器组内的每两个路由器之间两两相连;对于相邻的两个路由器组,前一个路由器组中的最后一个路由器与后一个路由器组中的第一个路由器进行全局连接;以及对于不相邻的两个路由器组Gi及Gj,将路由器组Gi内标号为v的路由器Rv和路由器组Gj中标号为v’的路由器Rv’进行全局连接,其中,i+1<j,v和v’具有对应关系;其中,所述蜻蜓网络架构中的所有路由器组以及每一个路由器组内的多个路由器,均按照负向优先原则具有相应的标号。
对于整个蜻蜓网络架构中所有的路由器,将所有的路由器划分为多个组,形成多个路由器组,其中,每个路由器组中包含的路由器的数量尽量相等。对于不同的路由器组之间以及每一个路由器组内的多个路由器之间,采用一定的规则进行连接,其中,不同的路由器组之间通过全局通道连接,同一个路由器组内的路由器之间通过局部通道连接。在本实施例中,对于蜻蜓网络架构中的所有路由器组,采用全连接策略进行连接,即每两个路由器组之间仅存在一个全局通道。同样的,对于同一个路由器组内的所有路由器,也采取全连接策略进行连接,即每两个路由器之间仅存在一个局部通道。
对于同一个路由器组内的多个路由器,每两个路由器之间通过一个局部通道连接,比较容易实现。而对于蜻蜓网络架构中的不同路由器组之间,任意两个路由器组之间存在一个全局通道,但是两个路由器组之间的连接是通过两个路由器组中的路由器的端口实现的,而每一个路由器组包括有多个路由器,因此,路由器组之间的连接相对较复杂。
因此,在上述实施例的基础上,本实施例提出了一种路由器组之间的连接策略,该连接策略使得整个蜻蜓网络架构中的路由路径中不符合后面提出的负向优先路由规则的连接数量尽可能的少,使得负向优先路由在该定制网络中能够非常的高效。详细的连接规则描述如下:
假设所述蜻蜓网络架构中包括n个路由器组,每一个路由器组中包括m个路由器,路由器组分为G0,G1,G2,…,Gn-1,每一个路由器组中的多个路由器分别为R0,R1,R2,…,Rm-1。对于标号i从0到n-2,将路由器组Gi内的路由器Rm-1,与路由器Gi+1内的路由器R0通过全局通道进行连接,即将前一个路由器组的最后一个路由器与后一个路由器组的第一个路由器之间进行全局连接,实现首尾相连。
而对于标号i从0到n-3,j从i+2到n-1,将路由器组Gi内的路由器Rv通过全局通道连接到路由器组Gj内的路由器Rv’,其中,Rv为路由器组Gi内的具有最高可用端口的路由器,v为该路由器在所在路由器组中的标号,Rv’为路由器组Gj内具有最低可用端口的路由器,v’为该路由器在所在路由器组中的标号。
对上述总结一下即为:对于不相邻的两个路由器组,将前一个路由器组内的标号为v的路由器和后一个路由器组中标号为v’进行全局连接;其中,所述蜻蜓网络架构中的所有路由器组以及每一个路由器组内的多个路由器,均按照负向优先原则具有相应的标号。
其中,通过如下公式分别计算得到v和v’:
其中,i<j,i为前一个路由器组的标号,j为后一个路由器组的标号,g为所述蜻蜓网络架构中每一个路由器用来进行全局连接的全局端口数量,m为路由器组Gi中的路由器数量。v和v’的规则可以更加的细化,可以通过计算得到路由器的标号。公式(1)中的i标明Gi已经从低可用端口连接了路由器组G0,G1,…,Gi-1通过i个全局端口。在与Gj连接之前,同样Gi已经从最高可用端口连接了路由器组Gi+1,Gi+2,…,Gj-1通过j-i-1个全局端口。公式(2)中表示Gj路由器组已经从最低可用端口连接了路由器组G0,G1,…,Gi-1通过i个全局端口。根据上述规则就可以决定一个蜻蜓网络架构的连接,为了更加直观的展示蜻蜓网络架构的概念,这里举一个具体的拓扑结构实例,假设一个比较小的网络规模,包含9组路由器组,每组路由器组包含4个路由器,并且每个路由器的全局端口有2个,即n=9,m=4,g=2,构建的网络拓扑连接如图5所示。
通过上述方法构建的蜻蜓网络架构给出的路由器组内连接方式和路由器组间连接方式均采用非常简单的思路,路由器组内和路由器组间均采用全连接的方式,路由器组间保证任意两个路由器组之间仅存在一条全局通道的连接,这种连接方式使得该蜻蜓网络架构的网络直径非常小,任意两个路由器之间的最短距离最长需要两个局部通道连接和一个全局通道连接,三个跳步,即使全局通道相对于低阶的拓扑中局部通道的延时较高,但是跳步数量的大大减少同时也提高的网络的性能。低阶网络中无论网格网络还是环绕网络,其蜻蜓网络架构的直径均与路由器数量相关,网络直径表明平均路由消息的网络跳步数量,在蜻蜓网络架构中路由器的规模非常大的情况下,本实施例提出的蜻蜓网络架构与路由器无关的网络跳步数能够发挥优秀的性能。
另外,当蜻蜓网络架构中的路由器组以及每一个路由器的标号确定了,则按照上述连接策略,哪一个路由器组与哪一个路由器组连接就能够直接确定,以及路由器组内的哪一个路由器与哪一个路由器连接也能够直接确定,而传统的随机连接方法,需要对蜻蜓网络架构中路由器组与路由器组之间全局连接的路由器的标号进行记录,即哪一个路由器组与哪一个路由器组连接;以及对路由器组内的路由器与路由器之间局部连接的路由器的标号进行记录,即哪一个路由器与哪一个路由器连接。传统的连接需要维护一个记录表,当在路由消息路由的过程中,需要进行查表进行路由,增加了整个路由过程的繁琐,而本实施例无需事先进行记录存储,在路由的过程中,也无需进行查询。
蜻蜓网络架构的路由器算法在设计过程中有一个重要的问题需要避免吸收通道(consumption channel)的死锁问题。考虑如图1的广播消息,其中,R0,R1,…,Rm-1是同一个路由器组内的路由器,现在存在广播消息M0,M1,M2和M3。这四个路由消息的目的路由器均为该组内的所有路由器R0,R1,…,Rm-1,并且这四个路由消息的源路由器均不属于该路由器组。通常采用的广播路由方法为,源路由器组将路由消息广播给其它的所有路由器组,对于同一路由器组,接收到路由消息的路由器将路由消息广播给组内的其它所有路由器,其中,该种方法的路由示意图可参见图5,假设该蜻蜓网络架构中的物理通道均有两个虚拟通道。假设某个时刻,路由消息M0预定了R0和R1的虚拟通道,等待申请R2,R3,…Rm-1的虚拟通道,路由消息M1预定了Ri,Ri+1,…,Rm-1,等待申请R0,R1,…,Ri-1的虚拟通道,路由消息M2预定了R0,R1,…,Ri,等待申请Ri+1,...,Rm-1的虚拟通道,路由消息M3预定了R0和Rm-1的虚拟通道,等待申请R1,R2,…,Rm-2的虚拟通道,因此在此时此刻,这四个路由消息形成了死锁关系,网络中资源被严重消耗。这样的死锁配置在低阶的拓扑结构中相对容易解决,假设低阶网络中路由算法需要的虚拟通道的数量是v并且路由器的输入端口是k,一个简单的避免该死锁的方法就是把物理通道的虚拟通道数量增加至v﹒k即可避免死锁配置。此种方法在低阶网络中需要增加的虚拟通道数量有限,所以属于流行的解决方案。考虑二维的dragonfly网络,如果选取x-y作为基准路由算法,物理通道只需要增加至四条虚拟通道即可避免这样的死锁配置,如果采用Duato协议作为基准路由算法,物理通道需要增加至八条虚拟通道。考虑二维torus网络,如果采用x-y作为基准路由算法,吸收通道的虚拟通道数只需要增加至八条虚拟通道,如果采用Duato协议作为基准路由算法,吸收通道的虚拟通道数目需要增加至十六条。高阶网络中如果采用此种方法去避免吸收通道的死锁,需要的虚拟通道数目会非常大,增加了构造互连网络的成本。
针对于上述的问题,本发明提供了一种蜻蜓网络架构的组播路由方法,该方法实现了路由消息从源路由器到多个目标路由器的路由过程,能够实现在不增加硬件成本的基础上,解决吸收通道死锁的问题。其中,本发明提出的组播路由方法包括:基于路由器的组播路由算法或者基于路由器组的组播路由算法或者基于路由器优先的组播路由算法将路由消息从源路由器传递至目标路由器。
在本实施例中,采用组播的方式将路由消息从蜻蜓网络架构中的源路由器组播至多个目标路由器,其中,主要提供了三种不同的组播路由算法,分别为基于路由器的组播路由算法、基于路由器组的组播路由算法和基于路由器优先的组播路由算法。
在本发明的一个实施例中,基于路由器的多播路由方法的思路比较简单,将每一个目标路由器看做独立的个体,同样利用递归的过程充分的利用已经接收到路由消息的路由器以达到减少多播消息的总延时。基于路由器的组播路由算法的详细描述参见Router-Based-Mcast()和Deliver(s,D)所示,两者共同构成路由器基准的组播路由算法。Router-Based-Mcast()从总体上进行描述,首先针对路由器集合D(所有的路由器组成路由器集合,包括源路由器s和所有目标路由器)中的源路由器s和所有目标路由器按照负向优先原则进行排序,排序主要是为了以部分自适应路由或者完全自适应路由时能够达到更高的性能。接下来调用具体的Deliver(s,D)所示的路由组播算法,将路由器集合D划分为两个路由器子集合D1和路由器子集合D2。若源路由器s处于路由器子集合D1中,首先通过源路由器s发送单播消息至路由器子集合D2中的第一个目标路由器c2,接下来目标路由器c2负责路由器子集合D2中路由器的组播,源路由器s负责路由器子集合D1中路由器的组播;若源路由器s处于路由器子集合D2中,首先通过源路由器s发送单播消息至路由器子集合D1中最后一个目标路由器结点c1,接下来目标路由器c1负责路由器子集合D1中路由器的组播,源路由器s负责路由器子集合D2中路由器的组播。所以基于路由器的组播路由算法,多播消息的平均延时大约为log(N+1)个单播消息的延时,其中N是路由器集合中目标路由器的数量。
参见图6,为采用基于路由器的组播路由算法进行路由的示意图,图6(a)中标号1-12的路由器为目标路由器,图6(b)示出了基于路由器的组播路由算法将路由消息从源路由器s传递至所有的目标路由器。首先,将源路由器s以及所有的目标路由器按照标号负向优先原则进行排序,图6(b)中的源路由器s的标号在所有的目标路由器之前,将包括源路由器s在内的所有路由器划分为两组,其中,路由器s到标号为6的路由器为第一路由器子集合D1,标号为7的路由器到标号为12的路由器为第二路由器子集合D2。源路由器s将路由消息单播给第二路由器子集合D2的第一个目标路由器c1,然后源路由器s负责第一路由器子集合D1的多播路由,即采用相同的方法,源路由器s将路由消息多播至第一路由器子集合D1的所有的目标路由器;同样的,第二路由器子集合D2中的第一个目标路由器c1负责第二路由器子集合D2的多播路由,即第一个目标路由器c1将路由消息发送给第二路由器子集合D2中的每一个目标路由器,直到蜻蜓网络架构中所有的目标路由器均接收到路由消息。
基于路由器的组播路由算法Router-Based-Mcast()的基本思路为:将路由器集合D中的包括源路由器s和所有目标路由器在内的所有路由器按照标号负向优先原则进行排序,调用Deliver(s,D)算法将源路由器s的路由消息多播至路由器集合D中所有的目标路由器。
其中,Deliver(s,D)的基本思路为,如果路由器集合D中仅有两个路由器,源路由器s直接发送单播消息至路由器集合D中的另外一个路由器,退出;如果路由器集合D中有两个以上的路由器,将路由器集合D划分为路由器子集合D1和路由器子集合D2;其中,路由器子集合D1中的路由器的数量和路由器子集合D2中的路由器的数量进行均等,这样两个路由器集合中同时进行路由消息的组播,能够提高整个路由消息组播的速度和效率。
如果源路由器s处于路由器子集合D1中,源路由器s发送单播消息至路由器子集合D2中第一个目标路由器c2;当目标路由器c2接收到路由消息后,分别调用Deliver(s,D1)算法将源路由器s的路由消息多播至路由器子集合D1中所有的目标路由器和Deliver(c2,D2)算法将目标路由器c2的路由消息多播至路由器子集合D2中所有目标路由器。
如果源路由器s处于路由器子集合D2中,源路由器s发送单播消息至路由器子集合D1中最后一个目标路由器c1;当目标路由器c1接收到路由消息后,分别调用Deliver(c1,D1)算法将目标路由器c1的路由消息多播至路由器子集合D1中所有目标路由器和Deliver(s,D2)算法将源路由器s的路由消息多播至路由器子集合D2中所有目标路由器。
需要说明的是,如果源路由器s处于路由器子集合D1中,源路由器s发送单播消息至路由器子集合D2中第一个目标路由器c2,以及如果源路由器s处于路由器子集合D2中,源路由器s发送单播消息至路由器子集合D1中最后一个目标路由器结点c1,是为了减少源路由器s的路由距离。
上述实施例介绍了基于路由器的组播路由算法,尽管基于路由器的组播路由算法需要最少的单播消息步骤,然而,基于路由器的组播路由算法可能会导致全局通道的拥塞问题。考虑一种比较极端的情况,当目标路由器在同一路由器组内,源路由器不在该路由器组内,按照路由器基准组播路由算法,其中一半的单播消息需要从源路由器发送至目标路由器中,这一半的单播消息均需要通过两个路由器组之间连接的全局通道,全局通道的延时又远远大于局部通道的延时。因此,本发明的另一个实施例针对该问题进行优化,提出了基于路由器组的组播路由算法,该基于路由器组的组播路由算法确保两个路由器组之间的全局通道仅需要通过一次即可完全目标路由器组内路由器的多播消息。
其中,基于路由器组的组播路由算法主要思想是,将基于路由器的组播路由算法进行改进,源路由器s的路由消息在递归发送单播消息阶段不是以路由器为单位,而是以路由组为单位进行,同时同一路由组内的路由器在组内进行多播路由,这样就能够保证任意两个路由器组之间的全局通道只需要经过一次,这样减少了全局通道的拥塞程序,提高了路由算法的效率,降低了多播消息的延时。Group-Based-Mcast(s,G)算法和Group-based-Deliver(s,G)算法给出了路由组基准组播路由算法的详细描述。Group-Based-Mcast(s,G)算法的主要思路为,如果源路由器s和所有的目标路由器处于同一路由器组,直接调用Deliver(s,Gs)算法将路由消息由源路由器s多播至路由器组Gs中所有目标路由器,其中,Gs为源路由器s和所有目标路由器组成的源路由器组;如果源路由器s和所有的目标路由器不处于同一路由器组,将源路由器s和所有的目标路由器按组进行划分,得到源路由器s所在的源路由器组Gs和其它的目标路由器所在的各个目标路由器组,调用Group-based-Deliver(s,G)算法将路由消息由源路由器s递归至所有目标路由器组,其中路由器组集合G包括源路由器组Gs和所有的目标路由器组;对于源路由器组Gs和每一个目标路由器组,调用Deliver(s,Gi)算法将源路由器s的路由消息多播至路由器组Gi内的所有目标路由器,其中,Gi为源路由器组或者目标路由器组,s为Gi内接收到路由消息的路由器。
基于路由器组的组播路由算法Group-Based-Mcast(s,G)的思路为,如果路由器组集合G仅有两个路由器组,包含源路由器组Gs和另外一个路由器组,则源路由器s发送单播消息至另外一个路由组即可;如果路由器组集合G中包括两个以上的路由器组,将路由器组集合G划分为路由器组子集合G1和路由器组子集合G2。
如果路由器组G1中包含了源路由器s,则从源路由器s发送单播消息至路由器组子集合G2中的第一个目标路由器组中的一个目标路由器g2;递归的调用Group-based-Deliver(s,G1),将路有消息由源路由器s多播至路由器组子集合G1中的每一个目标路由器组,以及调用Group-based-Deliver(g2,G2),将路由器消息由目标路由器g2多播至路由器组子集合G2中的每一个目标路由器组。如果路由器组集合G2包含了源路由器s,则从源路由器s发送单播消息至路由器组子集合G1中的最后一个路由器组中的一个目标路由器g1;递归的调用Group-based-Deliver(g1,G1)将路由消息从目标路由器g1多播至路由器组子集合G1中的每一个目标路由器组和Group-based-Deliver(s,G2)将路由消息从源路由器s多播至路由器组子集合G2中的每一个目标路由器组。
参见图7,为采用基于路由器组的组播路由算法进行路由的示意图,图7(a)中标号为1-12的路由器为目标路由器,图7(b)示出了基于路由器组的组播路由算法将路由消息从源路由器s传递至所有的目标路由器。首先,将源路由器s和所有的目标路由器按照所属路由器组进行分类,图7(b)中,源路由器s和目标路由器位于7个路由器组中,首先将所有的路由器组划分为两个路由器组集合,源路由器s所在的路由器组到路由器组G3为第一个路由器组集合D1,路由器组G4到路由器组G7为第二个路由器组集合D2,源路由器s将路由消息单播至第二路由器组集合D2中的第一个路由器组G4。然后,针对第一路由器组集合D1和第二路由器组集合D2,分别由源路由器s和路由器组G4负责向第一路由器组集合D1中和第二路由器组集合D2中的其它路由器组传递路由消息。等到所有的路由器组均接收到路由消息后,对于每一个路由器组内,采用基于路由器的组播路由算法将路由消息传递至组内的每一个目标路由器。
如图7中所示,任意两个路由器组之间的全局通道仅被使用一次,接下来的多播完成均在路由器组内进行,相对于基于路由器的组播路由算法,基于路由器组的组播路由算法大大减少了使用全局通道的次数,从而能够大大减少多播消息的平均延时并且提高吞吐量。
尽管基于路由器组的组播路由算法相对于基于路由器的组播路由算法明显地减少了路由消息通过全局通道的数量,但是通过全局通道的总延时仍然跟多播消息中路由器组的数量相关。本发明的另一个实施例提出的基于路由器优先组播路由算法进一步减少了多播消息通过全局通道的总延时。路由器优先组播路由算法的主要思想是,首先将处于同一个路由器组的路由器利用路由器的组播路由算法进行路由器组内的多播,完成之后路由器组内的路由器同时进行多播,这样可以尽可能的同时复用全局通道,从而减少总延时中全局通道的延时。
路由器优先多播路由的详细算法描述参见算法Router-first-Mcast()的描述:首先判断源路由器s所在的当前源路由器组Gs内的所有路由器是否能够同时单播路由至所有路由器组,如果可以,则进行当前源路由器组Gs内的多播,即源路由器s将路由消息多播至组内的其它目标路由器,接下来接收到路由消息的目标路由器同时多播至所有不同的路由器组。否则,若源路由器s所在的当前路由器组内的所有路由器不能够同时单播路由至所有路由器组,利用select-group()算法提供的选择路由组算法,选择一个路由器组集合,该路由器组集合满足该路由器组集合内接收到路由消息的路由器能够同时单播路由消息至所有目标路由组,利用选择路由组算法找到满足该条件的路由器组集合后,首先在该路由器组集合内使用基于路由器组的多播路由算法完成该路由器组集合内的路由,然后该路由器组集合内的路由器组同时单播路由消息至剩余的路由器组,最后剩余的目标路由组内利用算法Deliver(s,D)提供的递归规则进行路由器组内的多播路由。
上述select-group()提供的选择路由组算法的详细描述,该选择路由组算法的目标是取得能够满足同时单播至剩余目标路由组的最小路由组集合,达到最大的复用全局通道的延时。该选择路由组算法首先检查源路由器s所在的路由组内的路由器是否能够同时单播至剩余目标路由组;如果不满足条件,则创建一个路由器组集合,将源路由器所在的路由器组(可称为源路由器组)内的所有的路由器均添加至创建的路由器组集合中,然后向路由器组集合中添加源路由器组中所有路由器能够直接可达的路由器组,然后再检测当前路由器组集合中的所有路由器是否能够满足条件,不断的重复上述的过程直到找到满足条件的路由器组集合。其中,如果一个路由器与另一个路由器直接通过全局通道或者局部通道连接,则两个路由器直接可达;同样的,一个路由器组中的一个路由器直接通过全局通道连接,则该路由器与该路由器器组为直接可达。
其中,路由器优先组播路由Router-first-Mcast()算法的思路为,如果源路由器s和所在路由器组中的所有目标路由器能够满足同时单播消息至所有其它目标路由器组这个条件,调用Deliver(s,Gs)完成当前源路由组Gs内的多播路由;如果源路由器s所在源路由器组Gs不满足条件,则调用select-group()算法选择满足条件的路由器组集合G={Gi1,Gi2,Gi3,…,Gik},其中,路由器组集合G中的所有路由器能够同时单播消息至所有其它目标路由器组;路由器组集合G选择完毕之后,利用基于路由器组的多播路由算法完成由源路由器s到路由器组集合G内每一个目标路由器组的多播路由;接收到路由消息的目标路由器组直接单播消息到至少含一个目标路由器的剩余目标路由器组;对于接收到路由消息的剩余的目标路由器组,并且目标路由器组内含多个目标路由器,调用Deliver(d’,Gj)完成目标路由器组内的多播路由,其中d’为目标路由器组Gj内接收到消息的路由器。
路由器组选择算法Select-Group()的思路为,(1)检查源路由器s所在路由器组Gs中的源路由器s和其它的所有目标路由器是否能够直接单播至所有含目标路由器的目标路由器组,若是,则路由器组集合G={Gs};若否,则执行步骤(2);(2)同时将源路由器组Gs中源路由器s和所有目标路由器直接可达的目标路由器组构成路由器组集合MGs;对于路由器组集合MGs中的每一个路由组Gik,路由器组集合G=G∪{Gik},即将原始的路由器组集合G与源路由器组Gs中源路由器s和所有目标路由器直接可达的目标路由器组构成路由器组集合MGs进行合并,构成新的路由器组集合G;(3)如果G中的所有目标路由器能够同时单播消息至其它的所有目标路由器组,则退出循环,返回G,此时路由器组集合G中的路由器能够直接单播至所有含目标路由器的所有路由器组。
参见图8,为采用基于路由器优先的组播路由算法进行路由的示意图,图8(a)中标号1-12的路由器为目标路由器,图8(b)示出了基于路由器优先的组播路由算法将路由消息从源路由器s传递至所有的目标路由器,图8(b)中,源路由器s所在的路由器组包括源路由器s和标号为6的路由器,首先,检查当前路由器组内的源路由器s和标号为6的路由器是否可以直接单播至其它的所有目标路由器这个条件,图8(b)中是不符合这个条件的,因此,创建一个路由器组集合G,路由器组集合G初始包括源路由器所在的路由器组,然后向该路由器组集合G中分别添加源路由器s直接可达的路由器组以及标号为6的路由器直接可达的路由器组,源路由器s直接可达路由器组G2和路由器组G7,标号为6的路由器直接可达路由器组G4,则当前路由器组集合G中包括路由器组G2、路由器组G3、路由器组G4和路由器组G7,此时当前路由器组集合中的所有路由器是可以直接单播至所有路由器组的。
随后,当前路由器组集合G中的路由器将路由消息直接单播至所有的路由器组,对于路由器组内,采用基于路由器的组播路由算法将路由消息传递至组内其它的目标路由器,整个路由过程实现将路由消息传递至所有的目标路由器。
图8展示了具体网络中一个多播消息如何通过路由器优先组播路由算法完成的,网络拓扑中共包8组路由器组,每组路由器组包含4个路由器,每个路由器包含1个全局端口。实例中的多播路由消息包含12个目的结点;路由器优先组播路由算法更多的复用了全局通道的延时,相对于路由组基准组播路由算法降低了多播消息的平均延时并且提高的网络的吞吐量。
对于上述采用的三种路由方法,可以看出,无论是路由器与其它路由器组的路由器之间通过全局通道进行路由通信,还是同一个路由器组内路由器之间通过局部通道路由通过信,每一次的通信均是单播通信,相比现有的广播通信,即一个路由器同时广播至多个路由器,通过全局通道广播或者通过局部通道广播,单播通信相比现有的广播通信,对硬件的性能要求低一些;通过广播通信容易引起通道死锁问题,而单播通信避免在同一时序上存在过多的通道占用,因此,单播通信能够在不增加硬件额外性能的基础上,又能够在一定程度上解决通道死锁的问题。
另外,上述的三种路由方法之间的路由性能也是有所差异的,实验中单播路由消息包被分为20个微片大小,模拟实验考虑50,000时钟周期,其中10,000时钟周期被设定为启动周期。关于多播消息的产生有几个随机的部分,首先多播消息的源路由器从网络路由器结点中随机选取产生,接下来随机产生目标路由器的数量,随机范围为1至网络路由器数量N,其中,1到N为网络中路由器的标号,接下来根据目标路由器数量随机选取目标路由器,接下来进行多播路由消息在网络中路由的过程。
图9展示了在不同网络规模下三种组播路由算法的实验对比,单播算法分别采用了完全自适应路由算法和最短路径路由算法。图9(a)、9(b)和9(c)分别是在12*49,16*65,16*81的网络规模下进行的实验,实验结果展示中横坐标注入率的单位采用每个时钟周期每个计算路由器结点注入微片的比例,吞吐量的单位是每个时钟周期每个计算路由器结点收到的微片的比例,平均延时的单位依然是时钟周期。实验结果可以看出路由器优先组播路由算法在平均延时和吞吐量均优于另外两组组播路由算法,与算法设计的预期符合。还可以从实验结果看出,不同的组播路由算法的路由性能不同。
本发明提供的一种蜻蜓网络架构及其组播路由方法,该组播路由算法不需要改变路由器体系结构,称为基于路由的组播。本发明分别采用基于路由器的组播、基于路由器组的组播,以及基于路由器优先的组播。基于路由器的组播算法将所有路由器排成一个序列,组播消息采用多个路由步骤递归地传输至所有路由器;基于路由器组的组播根据路由器组将所有目标点划分成多个子集,将所有含有至少一个目标点的路由器组排成一个序列,递归地将组播消息传输至所有路由器组;前面两种组播算法可能需要多个顺序传输通过全局通道的步数。路由器优先组播算法将消息首先将消息传输至组内所有是目标点的路由器,并扩展至多个路由器,通过所有收到组播消息的路由器可以通过一个路有步骤将组播消息传输至所有含目标点的路由器组,因而减少顺序传输经过全局通道的路由步数;本发明提出高阶拓扑结构中单播路由的组播路由算法,既可以避免死锁的产生,同时也不用增加网络资源,改变路由器体系结构,保证了组播路由算法性能同时不会牺牲路由算法的性能;在路由设计的时候在网络中通过限定一定的路径取消路由路径中的环形依赖,这样就能够避免死锁的产生,使得设计出的互连网络达到更低的延时和更高的吞吐量。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种蜻蜓网络架构的组播路由方法,其特征在于,包括:
基于路由器组的组播路由算法或者基于路由器优先的组播路由算法将路由消息从源路由器s路由至多个目标路由器,其中,源路由器s和所有目标路由器按照负向优先原则进行排序;
所述基于路由器优先的组播路由算法将路由消息从源路由器s路由至多个目标路由器具体包括:
(1)如果源路由器s所在源路由器组Gs中的所有目标路由器不满足同时单播消息至所有其它目标路由器组这个条件,则调用select-group()算法选择满足条件的路由器组集合G={Gi1,Gi2,Gi3,…,Gik},其中,路由器组集合G中的所有路由器能够同时单播消息至所有其它目标路由器组;
(2)路由器组集合G选择完毕之后,利用基于路由器组的多播路由算法完成由源路由器s到路由器组集合G内每一个目标路由器组的组播路由;
(3)接收到路由消息的目标路由器组直接单播消息到至少含一个目标路由器的剩余目标路由器组;
(4)对于接收到路由消息的剩余的目标路由器组,并且目标路由器组内含多个目标路由器,调用Deliver(d’,Gj)完成目标路由器组内的多播路由,其中d’为目标路由器组Gj内接收到消息的路由器;
所述基于路由器组的组播路由算法将路由消息从源路由器s路由至多个目标路由器具体包括:
如果源路由器s和所有的目标路由器处于同一路由器组,直接调用Deliver(s,Gs)算法将路由消息由源路由器s多播至路由器组Gs中的所有目标路由器,其中,Gs为源路由器s和所有目标路由器组成的源路由器组;
如果源路由器s和所有的目标路由器不处于同一路由器组,将源路由器s和所有的目标路由器按组进行划分,得到源路由器s所在的源路由器组和其它的目标路由器所在的各个目标路由器组,调用Group-based-Deliver(s,G)算法将路由消息由源路由器s传递至所有目标路由器组,其中G为由源路由器组和所有的目标路由器组组成的路由器组集合;对于源路由器组和每一个目标路由器组,调用Deliver(s,Gi)算法将路由消息从源路由器s多播至路由器组Gi内的所有目标路由器,其中,Gi为源路由器组或者目标路由器组,s为Gi内接收到路由消息的路由器;
其中,Group-based-Deliver(s,G)算法具体为:
(1)如果路由器组集合G仅有两个路由器组,包含源路由器组和另外一个路由器组,则源路由器s发送单播消息至另外一个路由组即可;
(2)如果路由器组集合G中包括两个以上的路由器组,将路由器组集合G划分为路由器组子集合G1和路由器组子集合G2;
(31)如果路由器组G1中包含了源路由器s,则从源路由器s发送单播消息至路由器组子集合G2中的第一个目标路由器组中的一个目标路由器g2;递归的调用Group-based-Deliver(s,G1)将路有消息由源路由器s多播至路由器组子集合G1中的所有目标路由器组和Group-based-Deliver(g2,G2),将路由器消息由目标路由器g2多播至路由器组子集合G2中的所有目标路由器组;
(32)如果路由器组集合G2包含了源路由器s,则从源路由器s发送单播消息至路由器组子集合G1中的最后一个路由器组中的一个目标路由器g1;递归的调用Group-based-Deliver(g1,G1)将路由消息从目标路由器g1多播至路由器组子集合G1中的所有目标路由器组和Group-based-Deliver(s,G2)将路由消息从源路由器s多播至路由器组子集合G2中的所有目标路由器组;
所述select-group()算法具体为:检查源路由器s所在的路由组内的路由器是否能够同时单播至剩余目标路由组;如果不满足上述条件,则创建一个路由器组集合,将源路由器组内的所有的路由器均添加至创建的路由器组集合中,向路由器组集合中添加源路由器组中所有路由器能够直接可达的路由器组,再检测当前路由器组集合中的所有路由器是否能够满足条件,不断的重复上述的过程直到找到满足条件的路由器组集合,所述源路由器组为源路由器所在的路由器组;
Deliver(s,D)算法具体为:将路由器集合D划分为两个路由器子集合D1和路由器子集合D2;若源路由器s处于路由器子集合D1中,则通过源路由器s发送单播消息至路由器子集合D2中的第一个目标路由器c2,采用Deliver(c2,D2)算法使得目标路由器c2对路由器子集合D2中路由器进行组播,采用Deliver(s,D1)算法使得源路由器s对路由器子集合D1中路由器进行组播;若源路由器s处于路由器子集合D2中,则通过源路由器s发送单播消息至路由器子集合D1中最后一个目标路由器c1,采用Deliver(c1,D1)算法使得目标路由器c1对路由器子集合D1中路由器进行组播,采用Deliver(s,D2)算法使得源路由器s对路由器子集合D2中路由器进行组播。
2.如权利要求1所述的组播路由方法,其特征在于,所述基于路由器优先的组播路由算法将路由消息从源路由器s路由至多个目标路由器具体包括:
如果源路由器s和所在路由器组中的所有目标路由器能够满足同时单播消息至所有其它目标路由器组这个条件,调用Deliver(s,Gs)完成当前源路由组Gs内的多播路由。
3.如权利要求2所述的组播路由方法,其特征在于,所述select-group()算法具体包括:
(1)检查源路由器s所在路由器组Gs中的源路由器s和其它的所有目标路由器是否能够直接单播至所有含目标路由器的目标路由器组,若是,则路由器组集合G={Gs};若否,则执行步骤(2);
(2)同时将源路由器组Gs中源路由器s和所有目标路由器直接可达的目标路由器组构成路由器组集合MGs;对于路由器组集合MGs中的每一个路由组Gik,路由器组集合G=G∪{Gik};
(3)如果G中的所有目标路由器能够同时单播消息至其它的所有目标路由器组,则退出循环,返回G。
4.一种蜻蜓网络架构系统,所述蜻蜓网络架构系统应用如上权利要求1~3任一权利要求所述的组播路由方法,蜻蜓网络架构包括n个路由器组,每个路由器组包括m个路由器,同一个路由器组内的每两个路由器之间两两相连;其特征在于,对于相邻的两个路由器组,前一个路由器组中的最后一个路由器与后一个路由器组中的第一个路由器进行全局连接;以及对于不相邻的两个路由器组Gi及Gj,将路由器组Gi内标号为v的路由器Rv和路由器组Gj中标号为v’的路由器Rv’进行全局连接,其中,i+1<j,v和v’具有对应关系;
其中,所述蜻蜓网络架构中的所有路由器组以及每一个路由器组内的多个路由器,均按照负向优先原则具有相应的标号;
i为路由器组Gi的标号,j为路由器组Gj的标号,m为路由器组Gi中的路由器的数量,g为所述蜻蜓网络架构中每一个路由器用来进行全局连接的全局端口数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810265820.1A CN110324249B (zh) | 2018-03-28 | 2018-03-28 | 一种蜻蜓网络架构及其组播路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810265820.1A CN110324249B (zh) | 2018-03-28 | 2018-03-28 | 一种蜻蜓网络架构及其组播路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110324249A CN110324249A (zh) | 2019-10-11 |
CN110324249B true CN110324249B (zh) | 2023-05-26 |
Family
ID=68110091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810265820.1A Active CN110324249B (zh) | 2018-03-28 | 2018-03-28 | 一种蜻蜓网络架构及其组播路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110324249B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112020002497T5 (de) | 2019-05-23 | 2022-04-28 | Hewlett Packard Enterprise Development Lp | System und verfahren zur dynamischen zuweisung von reduktionsmotoren |
CN111711565B (zh) * | 2020-07-01 | 2021-05-04 | 西安电子科技大学 | 面向高速互连蜻蜓+网络的多路径路由方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2461254A1 (en) * | 2010-11-05 | 2012-06-06 | Cray Inc. | Table-driven routing in a dragonfly processor interconnect network |
CN103973564A (zh) * | 2013-01-31 | 2014-08-06 | 清华大学 | 互连网络系统及自适应路由方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100049942A1 (en) * | 2008-08-20 | 2010-02-25 | John Kim | Dragonfly processor interconnect network |
NO2776466T3 (zh) * | 2014-02-13 | 2018-01-20 | ||
CN104079490B (zh) * | 2014-06-27 | 2017-09-22 | 清华大学 | 多层次的dragonfly互连网络及自适应路由方法 |
US9699067B2 (en) * | 2014-07-22 | 2017-07-04 | Mellanox Technologies, Ltd. | Dragonfly plus: communication over bipartite node groups connected by a mesh network |
US10148679B2 (en) * | 2015-12-09 | 2018-12-04 | Accenture Global Solutions Limited | Connected security system |
-
2018
- 2018-03-28 CN CN201810265820.1A patent/CN110324249B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2461254A1 (en) * | 2010-11-05 | 2012-06-06 | Cray Inc. | Table-driven routing in a dragonfly processor interconnect network |
CN103973564A (zh) * | 2013-01-31 | 2014-08-06 | 清华大学 | 互连网络系统及自适应路由方法 |
Non-Patent Citations (1)
Title |
---|
一种高阶混合互连网络拓扑结构;路文斌;宋新亮;卢宏生;丁亚军;;计算机工程与科学(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110324249A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10757022B2 (en) | Increasingly minimal bias routing | |
JP5551253B2 (ja) | 複数の等コストパスから選択するための方法および装置 | |
JP5058135B2 (ja) | 端末装置 | |
US7633940B1 (en) | Load-balanced routing | |
US9825844B2 (en) | Network topology of hierarchical ring with recursive shortcuts | |
US8432830B1 (en) | Multi-neighbor proportional forwarding in a network | |
JPH09153892A (ja) | ワームホール・ネットワークにおけるメッセージ送達方法およびシステム | |
CN109873771B (zh) | 一种片上网络系统及其通信方法 | |
CN108234310B (zh) | 多层次互连网络、自适应路由方法及路由设备 | |
CN108259387B (zh) | 一种通过交换机构建的交换系统及其路由方法 | |
US9529775B2 (en) | Network topology of hierarchical ring with gray code and binary code | |
US20060268691A1 (en) | Divide and conquer route generation technique for distributed selection of routes within a multi-path network | |
CN104396198A (zh) | 在最短路径确定中打破平局 | |
CN110324249B (zh) | 一种蜻蜓网络架构及其组播路由方法 | |
Xiang | Deadlock-free adaptive routing in meshes with fault-tolerance ability based on channel overlapping | |
US9529774B2 (en) | Network topology of hierarchical ring with gray coding shortcuts | |
Yu et al. | Efficient multicast delivery for wireless data center networks | |
CN117135059A (zh) | 一种网络拓扑结构、构造方法、路由算法、设备及介质 | |
Kiasari et al. | Analytic performance comparison of hypercubes and star graphs with implementation constraints | |
CN110324243A (zh) | 蜻蜓网络架构及其广播路由方法 | |
Rahman et al. | Dynamic communication performance of a TESH network under the nonuniform traffic patterns | |
Qin et al. | A novel shortest-distance path-based multicast routing algorithm for network-on-chips | |
Najaf-abadi et al. | The effect of adaptivity on the performance of the OTIS-hypercube under different traffic patterns | |
Najaf-abadi et al. | Comparative evaluation of adaptive and deterministic routing in the OTIS-hypercube | |
Aronson | Networks and Routing: A Survey |
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 |