CN117811993B - 三维超立方结构网络及其路由方法、装置、设备和介质 - Google Patents
三维超立方结构网络及其路由方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN117811993B CN117811993B CN202410233540.8A CN202410233540A CN117811993B CN 117811993 B CN117811993 B CN 117811993B CN 202410233540 A CN202410233540 A CN 202410233540A CN 117811993 B CN117811993 B CN 117811993B
- Authority
- CN
- China
- Prior art keywords
- routing
- route
- request
- axis
- transmitting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000005540 biological transmission Effects 0.000 claims abstract description 137
- 239000013598 vector Substances 0.000 claims abstract description 115
- 238000004590 computer program Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003068 static effect Effects 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/02—Topology update or discovery
-
- 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
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种三维超立方结构网络及其路由方法、装置、设备和介质。本申请通过在三维坐标内的所有路由节点传输路由请求时,获取所有最短路由路径,基于每一最短路由路径中相邻两个路由节点的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向,根据最短路由路径中每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求,采用适合传输所述路由请求的所述最短路由路径传输所述路由请求,能够保证传输路径最短,同时避免了在相邻四个路由节点中形成环形锁死回路,且增加了路由路径,减少阻塞,提升了芯片性能。
Description
技术领域
本申请涉及片上网络技术领域,特别是涉及一种三维超立方结构网络及其路由方法、装置、计算机设备和存储介质。
背景技术
随着互联网的快速普及与发展以及卫星互联网星座计划的不断部署、更多的用户终端接入网络,衍生出包含人们生产和生活各个领域的互联网应用,互联网中的流量已呈现爆炸式增长的趋势。光纤技术与星间激光通信技术的发展与应用使得信息传输网络的瓶颈已转移至互联网中交换结点的交换设备,如交换机与路由器等。这些交换设备的核心技术是交换技术,而交换技术又包括交换网络和调度算法两方面。为了提升信息交换网络性能,满足现今不断涌现的新型应用与业务需求,需要对更大容量、更好性能的交换网络和与之适配的高性能调度算法进行研究。
互连网络是构建高性能大规模并行处理系统的关键,其设计目标是以尽可能低的成本,可靠而又高效的将一定数量的功能节点连接起来构成一个性价比高的大型并行系统。
三维超立方拓扑结构存在环拓扑的情况,在某些极端场景下可能出现死锁现象,所以需要考虑在某种场景下解决死锁问题。传统算法是应用在单路径的三维超立方结构网络中来避免死锁的,使用“1-2-4”路由方法之后当源节点和目标节点确定之后,路由路径就唯一确定了,因此该算法并没有发挥出三维超立方结构网络路径多样性的优势。对于多路径的三维超立方结构网络虽然也可使用传统算法避免死锁,但是没有发挥出三维超立方结构网络路径多样性的优势。
发明内容
基于此,有必要针对目前三维超立方拓扑结构的路由方法存在死锁、路由路径少的技术问题,提供一种三维超立方结构网络及其路由方法、装置、计算机设备和存储介质,能够避免死锁,增加路径,提升芯片性能。
一方面,提供一种三维超立方结构网络的路由方法,所述方法包括:
对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为三维超立方结构网络中各个路由节点设置一个坐标;
响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标;
在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径;
获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集;
根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向;
根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求;
采用适合传输所述路由请求的所述最短路由路径传输所述路由请求。
在其中一个实施例中,所述对三维超立方结构网络构建三维坐标系步骤包括:
将三维超立方结构网络中的各个路由节点映射到XYZ三维坐标系中,形成对应三维超立方结构网络的三维坐标系。
在其中一个实施例中,所述将三维超立方结构网络中的各个路由节点映射到XYZ三维坐标系中,形成对应三维超立方结构网络的三维坐标系步骤包括:
获取三维超立方结构网络中各个路由节点的阵列排布方式,形成沿第一方向排布设置的多排路由节点、沿第二方向排布设置的多排路由节点、沿第三方向排布设置的多排路由节点,所述第一方向、所述第二方向与所述第三方向相互垂直设置;
将所述第一方向设置为X轴,将所述第二方向设置为Y轴,将所述第三方向设置为Z轴,形成对应三维超立方结构网络的三维坐标系。
在其中一个实施例中,所述在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径步骤包括:
根据所述目标终端节点坐标以及所述源终端节点坐标获取在所述三维超立方结构网络内从所述源终端节点坐标至所述目标终端节点坐标的所有路由路径;
在所有路由路径中获取每一路由路径传输所述路由请求的步骤数量,获取步骤数量最少的路由路径作为传输所述路由请求的最短路由路径。
在其中一个实施例中,所述获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集步骤包括:
获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一排列;
将排序后一位的路由节点坐标减去排序前一位的路由节点坐标形成相邻两个路由节点的路由向量;
将所有的路由向量按序排列形成传输向量集。
在其中一个实施例中,所述将排序后一位的路由节点坐标减去排序前一位的路由节点坐标形成相邻两个路由节点的路由向量步骤包括:
将所述排序后一位的路由节点坐标的X轴值与所述排序前一位的路由节点坐标的X轴值的差值作为实时坐标差值ΔX,将所述排序后一位的路由节点坐标的Y轴值与所述排序前一位的路由节点坐标的Y轴值的差值作为实时坐标差值ΔY,将所述排序后一位的路由节点坐标的Z轴值与所述排序前一位的路由节点坐标的Z轴值的差值作为实时坐标差值ΔZ;
将实时坐标差值(ΔX,ΔY,ΔZ)作为从所述排序后一位的路由节点坐标至所述排序前一位的路由节点坐标的路由向量。
在其中一个实施例中,所述将所述排序后一位的路由节点坐标的X轴值与所述排序前一位的路由节点坐标的X轴值的差值作为实时坐标差值ΔX,将所述排序后一位的路由节点坐标的Y轴值与所述排序前一位的路由节点坐标的Y轴值的差值作为实时坐标差值ΔY,将所述排序后一位的路由节点坐标的Z轴值与所述排序前一位的路由节点坐标的Z轴值的差值作为实时坐标差值ΔZ步骤包括:
在响应于存在路由请求时,获取所述排序后一位的路由节点坐标(Xd,Yd,Zd),获取所述排序前一位的路由节点坐标(Xs,Ys,Zs);
通过公式ΔX=Xd-Xs、ΔY=Yd-Ys及ΔZ=Zd-Zs计算出实时坐标差值(ΔX,ΔY,ΔZ)。
在其中一个实施例中,所述根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向步骤包括:
获取传输所述路由请求时每一步对应的路由向量(ΔX,ΔY,ΔZ);
当ΔX>0时判定所述路由请求沿X轴正向传输,当ΔX<0时判定所述路由请求沿X轴负向传输;
当ΔY>0时判定所述路由请求沿Y轴正向传输,当ΔY<0时判定所述路由请求沿Y轴负向传输;
当ΔZ>0时判定所述路由请求沿Z轴正向传输,当ΔZ<0时判定所述路由请求沿Z轴负向传输。
在其中一个实施例中,所述根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向步骤还包括:
获取ΔX、ΔY及ΔZ的值,ΔX、ΔY及ΔZ的值为-1、0或1;
当ΔX=1时判定所述路由请求沿X轴正向传输,当ΔX=0时判定所述路由请求未沿X轴传输,当ΔX=-1时判定所述路由请求沿X轴负向传输;
当ΔY=1时判定所述路由请求沿Y轴正向传输,当ΔY=0时判定所述路由请求未沿Y轴传输,当ΔY=-1时判定所述路由请求沿Y轴负向传输;
当ΔZ=1时判定所述路由请求沿Z轴正向传输,当ΔZ=0时判定所述路由请求未沿Z轴传输,当ΔZ=-1时判定所述路由请求沿Z轴负向传输。
在其中一个实施例中,所述根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求步骤包括:
获取每一最短路由路径中传输所述路由请求时每一步的传输方向,将传输所述路由请求的所有步的传输方向按序排列;
若传输所述路由请求的所有步的传输方向均为正向传输,则判定所述最短路由路径适合传输所述路由请求;
若传输所述路由请求的所有步的传输方向均为负向传输,则判定所述最短路由路径适合传输所述路由请求;
若传输所述路由请求的所有步的传输方向为先沿连续的正向传输再沿连续的负向传输,则判定所述最短路由路径适合传输所述路由请求;
若传输所述路由请求的所有步的传输方向为先沿连续的负向传输再沿连续的正向传输,则判定所述最短路由路径适合传输所述路由请求。
在其中一个实施例中,所述采用适合传输所述路由请求的所述最短路由路径传输所述路由请求步骤包括:
获取所有适合传输所述路由请求的所述最短路由路径,并检测每一适合传输所述路由请求的所述最短路由路径的实时占用状态;
选取未被占用的最短路由路径传输所述路由请求。
另一方面,提供了一种三维超立方结构网络,其采用前文所述的三维超立方结构网络的路由方法传输路由请求。
另一方面,提供了一种三维超立方结构网络的路由装置,所述装置包括:
构建三维坐标系模块,用于对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为三维超立方结构网络中各个路由节点设置一个坐标;
节点坐标获取模块,用于响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标;
最短路由路径获取模块,用于在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径;
路由向量计算模块,用于获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集;
传输方向判断模块,用于根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向;
路由路径选取模块,用于根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求;
路由请求传输模块,用于采用适合传输所述路由请求的所述最短路由路径传输所述路由请求。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为三维超立方结构网络中各个路由节点设置一个坐标;
响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标;
在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径;
获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集;
根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向;
根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求;
采用适合传输所述路由请求的所述最短路由路径传输所述路由请求。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为三维超立方结构网络中各个路由节点设置一个坐标;
响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标;
在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径;
获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集;
根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向;
根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求;
采用适合传输所述路由请求的所述最短路由路径传输所述路由请求。
上述三维超立方结构网络及其路由方法、装置、计算机设备和存储介质,通过在三维坐标内的所有路由节点传输路由请求时,获取所有最短路由路径,基于每一最短路由路径中相邻两个路由节点的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向,根据最短路由路径中每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求,采用适合传输所述路由请求的所述最短路由路径传输所述路由请求,能够保证传输路径最短,同时避免了在相邻四个路由节点中形成环形锁死回路,且增加了路由路径,减少阻塞,提升了芯片性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例中三维超立方拓扑结构网络的结构示意图;
图2为取图1中的一个环形拓扑的结构示意图;
图3为图2的环形拓扑顺时针产生死锁示意图;
图4为图2的环形拓扑逆时针产生死锁示意图;
图5为本申请一个实施例中路由节点2到7通过“1-2-4”路由方法的路由路径;
图6为本申请一个实施例中路由节点3到6通过“1-2-4”路由方法的路由路径;
图7为本申请一个实施例中路由节点7到2通过“1-2-4”路由方法的路由路径;
图8为本申请一个实施例中路由节点6到3通过“1-2-4”路由方法的路由路径;
图9为本申请一个实施例中将三维超立方结构网络映射到XYZ三维坐标系中的结构示意图;
图10为本申请一个实施例中路由节点(0,1,0)到路由节点(1,1,1)使用三维超立方结构网络的路由方法的路由路径示意图;
图11为本申请一个实施例中路由节点(1,1,0)到路由节点(0,1,1)使用三维超立方结构网络的路由方法的路由路径示意图;
图12为本申请一个实施例中路由节点(1,1,1)到路由节点(0,1,0)使用三维超立方结构网络的路由方法的路由路径示意图;
图13为本申请一个实施例中路由节点(0,1,1)到路由节点(1,1,0)使用三维超立方结构网络的路由方法的路由路径示意图;
图14为本申请一个实施例中一种三维超立方结构网络的路由方法的流程图;
图15为本申请一个实施例中将三维超立方结构网络中的各个路由节点映射到XYZ三维坐标系中,形成对应三维超立方结构网络的三维坐标系步骤的流程图;
图16为本申请一个实施例中在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径步骤的流程图;
图17为本申请一个实施例中获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集步骤的流程图;
图18为本申请一个实施例中根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向步骤的流程图;
图19为本申请一个实施例中根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求步骤的流程图;
图20为本申请一个实施例中采用适合传输所述路由请求的所述最短路由路径传输所述路由请求步骤的流程图;
图21为本申请一个实施例中三维超立方结构网络的路由装置的结构框图;
图22为本申请一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例1
本申请将从三个方面介绍互连网络:一是互连网络的拓扑结构,二是互连网络的路由方法及交换技术,三是互连网络的性能指标。上述的三个方面是互连网络拓扑设计的核心内容。
传统上,当需要连接的结点较少时,互连网络使用总线方式连接。系统中的所有终端节点通过共享的传输介质实现数据交换,在某个时刻,只允许有一个设备可以使用网络。总线型互连网络不能随着连接设备数量的增加而很好地扩展。随着对网络性能和规模要求的提高,总线互连方式已难以满足需求。因此可以将互连网络分成四类,分别为共享介质网络、直接互连网络、间接互连网络和混合互连网络。其中,总线方式连接的互连网络就是共享介质网络的一种,所有终端节点共享同一传输介质,利用适当的介质访问控制机制实现传输介质的共享。而直接和间接互连网络则是以路由器的作用而区别,在直接互连网络中,各终端节点直接通过路由器直接相连,而在间接互连网络中,要通过路由器与路由器的互连进行终端节点的通信,此类路由器自己不产生网络流量,而是负责终端节点生成流量的传输、路由和中继。混合互连网络则是包含上述三种基本互连形式的两种以上互连结构。
一个终端节点是具有通信需求的任何系统或一组单元,它可以是一个处理器,处理器与存储器,图形处理单元,存储控制器,I/O接口等。传统互连网络大多数都是直接互连网络,如k元n立方体结构就是直接互连网络的典型代表,网络中每个终端节点上包含一个路由器,用来实现节点之间消息传递。间接互连网络将终端节点和路由器分离,路由器可以被用来作为一个独立的通信装置,典型的拓扑结构代表是butterfly结构和Butterfly结构。每个路由器都与其邻居通过双向链路或者两个单向链路(每个负责一个方向)相连,这些链路称为通道。需要特别指出的是,随着互连的节点数的增多,整个系统的聚合带宽也将随之增大。互连拓扑结构通常有以下四个主要属性定义:(1)节点度数:将一个节点与其邻居节点连接起来的通道的数量,或者说节点中路由器的端口数。(2)网络直径:网络中两个节点之间最短距离的最大值。(3)链路数:整个网络的链路数量,因为拓扑结构是确定的则链路数也是随之确定的。(4)二分带宽:将网络中所有节点分成两个等分的子网,其最小割集对应的链路带宽就是二分带宽。二分带宽越高,网络通信能力越强。
超立方是源自几何学中的概念,它可以是维数可以是任意维n的,具有2n个顶点,一个顶点连接n条边,所有的边在顶点处都以直角互相连接。图1是三维超立方拓扑结构网络。应用于片上网络的超立方结构具有对称性、规则性、路径多样性和可扩展性。
三维超立方拓扑结构存在环拓扑的情况,在某些极端场景下可能出现死锁现象,所以需要考虑在某种场景下解决死锁问题。如图2所示,取图1中的一个环,对死锁的产生进行阐述。
对于图2,是一个环形拓扑,很容易产生死锁。例如,假设同时有四个路由请求:请求1:路由节点2到路由节点7;请求2:路由节点3到路由节点6;请求3:路由节点7到路由节点2;请求4:路由节点6到路由节点3,这四个路由请求都需要经过一个路由节点且都选择顺时针路由,且都已经占用中间路由节点时,就产生了死锁,如图3。相反如果都选择逆时针路由,且都已经占用中间路由节点时,也会产生死锁,如图4。
死锁一旦产生,就会导致互联网络全面瘫痪,因此必须寻找一种避免死锁产生的路由方法。传统的路由方法是“1-2-4”路由方法。
举例说明,假设源终端节点S为001、目标终端节点D为111,按位异或之后I为110,按照 “1-2-4”路由方法,依次将I的“1-2-4”的1变为0。
路由结果如下:001(I:110)->011(I:100)->111-7(I:000)。
仍然以上述四个路由请求为例:请求1:路由节点2到路由节点7;请求2:路由节点3到路由节点6;请求3:路由节点7到路由节点2;请求4:路由节点6到路由节点3。
请求1:路由节点2到路由节点7;S为010、D为111,按位异或之后I为101,路由结果如下:010(I:101)->011(I:100)->111(I:000)。
图5为路由节点2到7通过“1-2-4”路由方法的路由路径。
请求2:路由节点3到路由节点6;S为011、D为110,按位异或之后I为101,路由结果如下:011(I:101)->010(I:100)->110(I:000)。
图6为路由节点3到6通过“1-2-4”路由方法的路由路径。
请求3:路由节点7到路由节点2;S为0111_、D为0010_,按位异或之后I为0101_,路由结果如下:111(I:101)->110(I:100)->010(I:000)。
图7为路由节点7到2通过“1-2-4”路由方法的路由路径。
请求4:路由节点6到路由节点3;S为110、D为011,按位异或之后I为101,路由结果如下:110(I:101)->111(I:100)->011(I:000)。
图8为路由节点6到3通过“1-2-4”路由方法的路由路径。
尽管请求1-4所在的拓扑结构存在环,且路由请求也死锁的可能(图5和6),但是从图5-8可以看出,通过“1-2-4”路由方法,避免了死锁的产生。
传统算法是应用在单路径的三维超立方结构网络中来避免死锁的,使用此方法之后当源节点和目标节点确定之后,路由路径就唯一确定了,因此该算法并没有发挥出三维超立方结构网络路径多样性的优势。
为解决上述问题,本发明实施例中创造性的提出了一种三维超立方结构网络的路由方法。本申请将三维超立方结构网络映射到XYZ三维坐标系中,映射关系如图9所示。
死锁产生的原因是因为拓扑结构中存在“环”,且没有对路由路径进行限制。但是对于的无线网格(mesh)结构,路由节点之间每条线都是路由路径。
本申请所述三维超立方结构网络的路由方法对应的路由规则约定为:
约定1:路由路径遵循最短路径。
约定2:如果沿着X轴、Y轴、Z轴的正方向路由,则认为是正方向路由。
约定3:如果沿着X轴、Y轴、Z轴的负方向路由,则认为是负方向路由。
约定4:在一条需要经过多个路由节点的路由路径中,需要完成XYZ各个方向的负方向路由,再开始XYZ各个方向的正方向路由,一旦开始正方向路由,需要一直保持正方向路由。
例1,路由节点(0,1,0)到路由节点(1,1,1),本来有如下两条路径:
1.第一条可选的路由路径:(0,1,0)->(1,1,0)->(1,1,1)。
(0,1,0)->(1,1,0)是沿X轴方向的正路由,(1,1,0)->(1,1,1)沿Y轴方向的是正路由,满足约定。
2. 第一条可选的路由路径:(0,1,0)->(0,1,1)->(1,1,1)。
(0,1,0)->(0,1,1)是沿Z轴方向的正路由,(0,1,1)->(1,1,1)沿X轴方向的是正路由,满足约定。
两条路径都满足约定,因此两条路径都可以选择。
图10为路由节点(0,1,0)到路由节点(1,1,1)使用三维超立方结构网络的路由方法的路由路径。
例2,路由节点(1,1,0)到路由节点(0,1,1),本来有如下两条路径:
1.第一条可选的路由路径:(1,1,0)->(1,1,1)->(0,1,1)。
(1,1,0)->(1,1,1)是沿Z轴方向的正路由,(1,1,1)->(0,1,1)沿X轴方向的是负路由,不满足约定4。
2.第二条可选的路由路径:(1,1,0)->(0,1,0)->(0,1,1)。
(1,1,0)->(0,1,0)是沿X轴方向的负路由,(0,1,0)->(0,1,1)沿Z轴方向的是正路由,满足约定。
第一条路径不满足约定,因此只能走第二条路径。
图11为路由节点(1,1,0)到路由节点(0,1,1)使用三维超立方结构网络的路由方法的路由路径。
例3,路由节点(1,1,1)到路由节点(0,1,0),本来有如下两条路径:
1.第一条可选的路由路径:(1,1,1)->(0,1,1)->(0,1,0)。
(1,1,1)->(0,1,1)是沿Z轴方向的负路由,(0,1,1)->(0,1,0)沿X轴方向的是负路由,满足约定。
2. 第二条可选的路由路径:(1,1,1)->(1,1,0)->(0,1,0)。
(1,1,1)->(1,1,0)是沿Z轴方向的负路由,(1,1,0)->(0,1,0)沿X轴方向的是负路由,满足约定。
两条路径都满足约定,因此两条路径都可以选择。
图12为路由节点(1,1,1)到路由节点(0,1,0)使用三维超立方结构网络的路由方法的路由路径。
例4,路由节点(0,1,1)到路由节点(1,1,0),本来有如下两条路径:
1.第一条可选的路由路径:(0,1,1)->(0,1,0)->(1,1,0)。
(0,1,1)->(0,1,0)是沿Z轴方向的负路由,(0,1,0)->(1,1,0)沿X轴方向的是正路由,满足约定。
2.第二条可选的路由路径:(0,1,1)->(1,1,1)->(1,1,0)。
(0,1,1)->(1,1,1)是沿X轴方向的正路由,(1,1,1)->(1,1,0)沿Z轴方向的是负路由,不满足约定。
第二条路径不满足约定,因此只能走第一条路径。
图13为路由节点(0,1,1)到路由节点(1,1,0)使用三维超立方结构网络的路由方法的路由路径。
从例1到例4可以看出,不管是顺时针还是逆时针,都有一条路径被限制,尽管拓扑结构存在环,但是路由路径不会产生环,因此不会产生死锁。且四个路由请求原来有8条路由路径,使用我们提出的避免死锁的路由方法则有6条路由路径,最大程度的保留了路径多样性。
本发明路由方法具体实施步骤:
假设源终端节点为S,目标终端节点为D,下面对路由方法进行说明:
第一步:将三维超立方结构网络的各个路由节点映射到XYZ三维坐标系中,目标终端节点D在XYZ的坐标的减去源终端节点S在XYZ的坐标,结果记为路由向量L。
第二步:路由节点的确定方法。按照约定,先完成负方向路由,再完成正方向路由。
第三步:路由过程控制。
负路由的确定:查看L的XYZ坐标中取值为“-1”值,如果X坐标取值为“-1”,则向X轴负方向路由,然后将L的X坐标标记为0;对于Y坐标和Z坐标也是采取相同的做法(XYZ方向的路由并没有严格的先后顺序);直到L的XYZ坐标中不存在取值为“-1”的值然后进入正路由的确定;
正路由的确定:查看L的XYZ坐标中取值为“1”值,如果X坐标取值为“1”,则向X轴正方向路由,然后将L的X坐标标记为0;对于Y坐标和Z坐标也是采取相同的做法(XYZ方向的路由并没有严格的先后顺序);直到L的XYZ坐标中不存在取值为“1”的值。
第四步:查看此时L的XYZ坐标,应该为(0,0,0),路由结束;否则路由发生错误。
举例说明,源终端节点S为路由节点(1,0,1),目标终端节点D为路由节点(0,1,0)。
第一步:将三维超立方结构网络的各个路由节点映射到XYZ三维坐标系中,目标终端节点D在XYZ的坐标的减去源终端节点S在XYZ的坐标,结果记为L=(-1,1,-1)。
第二步:路由节点的确定方法。按照约定,先完成负方向路由,再完成正方向路由。
第三步:路由过程控制。
负路由的确定:查看L的XYZ坐标中取值为“-1”值,X坐标取值为“-1”,则向X轴负方向路由,然后将L的X坐标标记为0,此时L=(0,1,-1);Z坐标取值为“-1”,则向Z轴负方向路由,然后将L的Z坐标标记为0,此时L=(0,1,0),然后进入正路由的确定;
正路由的确定:查看L的XYZ坐标中取值为“1”值,Y坐标取值为“1”,则向Y轴正方向路由,然后将L的X坐标标记为0,此时L=(0,0,0)。
第四步:查看此时L的XYZ坐标,应该为(0,0,0),路由结束。
各个路由节点的路由方式相同,所对应的硬件实现,基于标准单元和逻辑实现该运算即可,逻辑顺序与算法相同。
本发明基于三维超立方结构网络,提出了一种避免死锁的路由方法。本发明提出的路由方法对路由路径进行了限制,路由方法简单,路由路径不再唯一,最大程度的保留了路径多样性。
实施例2
在本申请实施例2中,如图14所示,提供了一种三维超立方结构网络的路由方法,以该方法应用于图9中的三维超立方结构网络拓扑结构为例进行说明,包括以下步骤:
步骤S1,对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为三维超立方结构网络中各个路由节点设置一个坐标;
步骤S2,响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标;
步骤S3,在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径;
步骤S4,获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集;
步骤S5,根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向;
步骤S6,根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求;
步骤S7,采用适合传输所述路由请求的所述最短路由路径传输所述路由请求。
在本实施例中,所述对三维超立方结构网络构建三维坐标系步骤包括:
将三维超立方结构网络中的各个路由节点映射到XYZ三维坐标系中,形成对应三维超立方结构网络的三维坐标系。
如图15所示,在本实施例中,所述将三维超立方结构网络中的各个路由节点映射到XYZ三维坐标系中,形成对应三维超立方结构网络的三维坐标系步骤包括:
步骤S11,获取三维超立方结构网络中各个路由节点的阵列排布方式,形成沿第一方向排布设置的多排路由节点、沿第二方向排布设置的多排路由节点、沿第三方向排布设置的多排路由节点,所述第一方向、所述第二方向与所述第三方向相互垂直设置;
步骤S12,将所述第一方向设置为X轴,将所述第二方向设置为Y轴,将所述第三方向设置为Z轴,形成对应三维超立方结构网络的三维坐标系。
如图16所示,在本实施例中,所述在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径步骤包括:
步骤S31,根据所述目标终端节点坐标以及所述源终端节点坐标获取在所述三维超立方结构网络内从所述源终端节点坐标至所述目标终端节点坐标的所有路由路径;
步骤S32,在所有路由路径中获取每一路由路径传输所述路由请求的步骤数量,获取步骤数量最少的路由路径作为传输所述路由请求的最短路由路径。
如图17所示,在本实施例中,所述获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集步骤包括:
步骤S41,获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一排列;
步骤S42,将排序后一位的路由节点坐标减去排序前一位的路由节点坐标形成相邻两个路由节点的路由向量;
步骤S43,将所有的路由向量按序排列形成传输向量集。
在本实施例中,所述将排序后一位的路由节点坐标减去排序前一位的路由节点坐标形成相邻两个路由节点的路由向量步骤包括:
将所述排序后一位的路由节点坐标的X轴值与所述排序前一位的路由节点坐标的X轴值的差值作为实时坐标差值ΔX,将所述排序后一位的路由节点坐标的Y轴值与所述排序前一位的路由节点坐标的Y轴值的差值作为实时坐标差值ΔY,将所述排序后一位的路由节点坐标的Z轴值与所述排序前一位的路由节点坐标的Z轴值的差值作为实时坐标差值ΔZ;
将实时坐标差值(ΔX,ΔY,ΔZ)作为从所述排序后一位的路由节点坐标至所述排序前一位的路由节点坐标的路由向量。
在本实施例中,所述将所述排序后一位的路由节点坐标的X轴值与所述排序前一位的路由节点坐标的X轴值的差值作为实时坐标差值ΔX,将所述排序后一位的路由节点坐标的Y轴值与所述排序前一位的路由节点坐标的Y轴值的差值作为实时坐标差值ΔY,将所述排序后一位的路由节点坐标的Z轴值与所述排序前一位的路由节点坐标的Z轴值的差值作为实时坐标差值ΔZ步骤包括:
在响应于存在路由请求时,获取所述排序后一位的路由节点坐标(Xd,Yd,Zd),获取所述排序前一位的路由节点坐标(Xs,Ys,Zs);
通过公式ΔX=Xd-Xs、ΔY=Yd-Ys及ΔZ=Zd-Zs计算出实时坐标差值(ΔX,ΔY,ΔZ)。
如图18所示,在本实施例中,所述根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向步骤包括:
步骤S51,获取传输所述路由请求时每一步对应的路由向量(ΔX,ΔY,ΔZ);
步骤S52,当ΔX>0时判定所述路由请求沿X轴正向传输,当ΔX<0时判定所述路由请求沿X轴负向传输;
步骤S53,当ΔY>0时判定所述路由请求沿Y轴正向传输,当ΔY<0时判定所述路由请求沿Y轴负向传输;
步骤S54,当ΔZ>0时判定所述路由请求沿Z轴正向传输,当ΔZ<0时判定所述路由请求沿Z轴负向传输。
在本实施例中,所述根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向步骤还包括:
获取ΔX、ΔY及ΔZ的值,ΔX、ΔY及ΔZ的值为-1、0或1;
当ΔX=1时判定所述路由请求沿X轴正向传输,当ΔX=0时判定所述路由请求未沿X轴传输,当ΔX=-1时判定所述路由请求沿X轴负向传输;
当ΔY=1时判定所述路由请求沿Y轴正向传输,当ΔY=0时判定所述路由请求未沿Y轴传输,当ΔY=-1时判定所述路由请求沿Y轴负向传输;
当ΔZ=1时判定所述路由请求沿Z轴正向传输,当ΔZ=0时判定所述路由请求未沿Z轴传输,当ΔZ=-1时判定所述路由请求沿Z轴负向传输。
如图19所示,在本实施例中,所述根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求步骤包括:
步骤S61,获取每一最短路由路径中传输所述路由请求时每一步的传输方向,将传输所述路由请求的所有步的传输方向按序排列;
步骤S62,若传输所述路由请求的所有步的传输方向均为正向传输,则判定所述最短路由路径适合传输所述路由请求;
步骤S63,若传输所述路由请求的所有步的传输方向均为负向传输,则判定所述最短路由路径适合传输所述路由请求;
步骤S64,若传输所述路由请求的所有步的传输方向为先沿连续的正向传输再沿连续的负向传输,则判定所述最短路由路径适合传输所述路由请求;
步骤S65,若传输所述路由请求的所有步的传输方向为先沿连续的负向传输再沿连续的正向传输,则判定所述最短路由路径适合传输所述路由请求。
如图20所示,在本实施例中,所述采用适合传输所述路由请求的所述最短路由路径传输所述路由请求步骤包括:
步骤S71,获取所有适合传输所述路由请求的所述最短路由路径,并检测每一适合传输所述路由请求的所述最短路由路径的实时占用状态;
步骤S72,选取未被占用的最短路由路径传输所述路由请求。
上述三维超立方结构网络的路由方法中,通过在三维坐标内的所有路由节点传输路由请求时,获取所有最短路由路径,基于每一最短路由路径中相邻两个路由节点的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向,根据最短路由路径中每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求,采用适合传输所述路由请求的所述最短路由路径传输所述路由请求,能够保证传输路径最短,同时避免了在相邻四个路由节点中形成环形锁死回路,且增加了路由路径,减少阻塞,提升了芯片性能。
另一方面,提供了一种三维超立方结构网络,其采用前文所述的三维超立方结构网络的路由方法传输路由请求。
在一个实施例中,如图21所示,提供了一种三维超立方结构网络的路由装置10,包括:构建三维坐标系模块1、节点坐标获取模块2、最短路由路径获取模块3、路由向量计算模块4、传输方向判断模块5、路由路径选取模块6和路由请求传输模块7。
所述构建三维坐标系模块1用于对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为三维超立方结构网络中各个路由节点设置一个坐标。
所述节点坐标获取模块2用于响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标。
所述最短路由路径获取模块3用于在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径。
所述路由向量计算模块4用于获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集。
所述传输方向判断模块5用于根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向。
所述路由路径选取模块6用于根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求。
所述路由请求传输模块7用于采用适合传输所述路由请求的所述最短路由路径传输所述路由请求。
在本实施例中,所述对三维超立方结构网络构建三维坐标系步骤包括:
将三维超立方结构网络中的各个路由节点映射到XYZ三维坐标系中,形成对应三维超立方结构网络的三维坐标系。
在本实施例中,所述将三维超立方结构网络中的各个路由节点映射到XYZ三维坐标系中,形成对应三维超立方结构网络的三维坐标系步骤包括:
获取三维超立方结构网络中各个路由节点的阵列排布方式,形成沿第一方向排布设置的多排路由节点、沿第二方向排布设置的多排路由节点、沿第三方向排布设置的多排路由节点,所述第一方向、所述第二方向与所述第三方向相互垂直设置;
将所述第一方向设置为X轴,将所述第二方向设置为Y轴,将所述第三方向设置为Z轴,形成对应三维超立方结构网络的三维坐标系。
在本实施例中,所述在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径步骤包括:
根据所述目标终端节点坐标以及所述源终端节点坐标获取在所述三维超立方结构网络内从所述源终端节点坐标至所述目标终端节点坐标的所有路由路径;
在所有路由路径中获取每一路由路径传输所述路由请求的步骤数量,获取步骤数量最少的路由路径作为传输所述路由请求的最短路由路径。
在本实施例中,所述获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集步骤包括:
获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一排列;
将排序后一位的路由节点坐标减去排序前一位的路由节点坐标形成相邻两个路由节点的路由向量;
将所有的路由向量按序排列形成传输向量集。
在本实施例中,所述将排序后一位的路由节点坐标减去排序前一位的路由节点坐标形成相邻两个路由节点的路由向量步骤包括:
将所述排序后一位的路由节点坐标的X轴值与所述排序前一位的路由节点坐标的X轴值的差值作为实时坐标差值ΔX,将所述排序后一位的路由节点坐标的Y轴值与所述排序前一位的路由节点坐标的Y轴值的差值作为实时坐标差值ΔY,将所述排序后一位的路由节点坐标的Z轴值与所述排序前一位的路由节点坐标的Z轴值的差值作为实时坐标差值ΔZ;
将实时坐标差值(ΔX,ΔY,ΔZ)作为从所述排序后一位的路由节点坐标至所述排序前一位的路由节点坐标的路由向量。
在本实施例中,所述将所述排序后一位的路由节点坐标的X轴值与所述排序前一位的路由节点坐标的X轴值的差值作为实时坐标差值ΔX,将所述排序后一位的路由节点坐标的Y轴值与所述排序前一位的路由节点坐标的Y轴值的差值作为实时坐标差值ΔY,将所述排序后一位的路由节点坐标的Z轴值与所述排序前一位的路由节点坐标的Z轴值的差值作为实时坐标差值ΔZ步骤包括:
在响应于存在路由请求时,获取所述排序后一位的路由节点坐标(Xd,Yd,Zd),获取所述排序前一位的路由节点坐标(Xs,Ys,Zs);
通过公式ΔX=Xd-Xs、ΔY=Yd-Ys及ΔZ=Zd-Zs计算出实时坐标差值(ΔX,ΔY,ΔZ)。
在本实施例中,所述根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向步骤包括:
获取传输所述路由请求时每一步对应的路由向量(ΔX,ΔY,ΔZ);
当ΔX>0时判定所述路由请求沿X轴正向传输,当ΔX<0时判定所述路由请求沿X轴负向传输;
当ΔY>0时判定所述路由请求沿Y轴正向传输,当ΔY<0时判定所述路由请求沿Y轴负向传输;
当ΔZ>0时判定所述路由请求沿Z轴正向传输,当ΔZ<0时判定所述路由请求沿Z轴负向传输。
在本实施例中,所述根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向步骤还包括:
获取ΔX、ΔY及ΔZ的值,ΔX、ΔY及ΔZ的值为-1、0或1;
当ΔX=1时判定所述路由请求沿X轴正向传输,当ΔX=0时判定所述路由请求未沿X轴传输,当ΔX=-1时判定所述路由请求沿X轴负向传输;
当ΔY=1时判定所述路由请求沿Y轴正向传输,当ΔY=0时判定所述路由请求未沿Y轴传输,当ΔY=-1时判定所述路由请求沿Y轴负向传输;
当ΔZ=1时判定所述路由请求沿Z轴正向传输,当ΔZ=0时判定所述路由请求未沿Z轴传输,当ΔZ=-1时判定所述路由请求沿Z轴负向传输。
在本实施例中,所述根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求步骤包括:
获取每一最短路由路径中传输所述路由请求时每一步的传输方向,将传输所述路由请求的所有步的传输方向按序排列;
若传输所述路由请求的所有步的传输方向均为正向传输,则判定所述最短路由路径适合传输所述路由请求;
若传输所述路由请求的所有步的传输方向均为负向传输,则判定所述最短路由路径适合传输所述路由请求;
若传输所述路由请求的所有步的传输方向为先沿连续的正向传输再沿连续的负向传输,则判定所述最短路由路径适合传输所述路由请求;
若传输所述路由请求的所有步的传输方向为先沿连续的负向传输再沿连续的正向传输,则判定所述最短路由路径适合传输所述路由请求。
在本实施例中,所述采用适合传输所述路由请求的所述最短路由路径传输所述路由请求步骤包括:
获取所有适合传输所述路由请求的所述最短路由路径,并检测每一适合传输所述路由请求的所述最短路由路径的实时占用状态;
选取未被占用的最短路由路径传输所述路由请求。
上述三维超立方结构网络的路由装置中,通过在三维坐标内的所有路由节点传输路由请求时,获取所有最短路由路径,基于每一最短路由路径中相邻两个路由节点的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向,根据最短路由路径中每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求,采用适合传输所述路由请求的所述最短路由路径传输所述路由请求,能够保证传输路径最短,同时避免了在相邻四个路由节点中形成环形锁死回路,且增加了路由路径,减少阻塞,提升了芯片性能。
关于三维超立方结构网络的路由装置的具体限定可以参见上文中对于三维超立方结构网络的路由方法的限定,在此不再赘述。上述三维超立方结构网络的路由装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图22所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储三维超立方结构网络的路由数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种三维超立方结构网络的路由方法。
本领域技术人员可以理解,图22中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为三维超立方结构网络中各个路由节点设置一个坐标;
响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标;
在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径;
获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集;
根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向;
根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求;
采用适合传输所述路由请求的所述最短路由路径传输所述路由请求。
关于处理器执行计算机程序时实现步骤的具体限定可以参见上文中对于三维超立方结构网络的路由的方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为三维超立方结构网络中各个路由节点设置一个坐标;
响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标;
在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径;
获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集;
根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向;
根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求;
采用适合传输所述路由请求的所述最短路由路径传输所述路由请求。
关于计算机程序被处理器执行时实现步骤的具体限定可以参见上文中对于三维超立方结构网络的路由的方法的限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种三维超立方结构网络的路由方法,其特征在于,包括:
对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为所述三维超立方结构网络中各个路由节点设置一个坐标;
响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标;
在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径;
获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集;
根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向;
根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求;
采用适合传输所述路由请求的所述最短路由路径传输所述路由请求;
其中,所述根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求步骤包括:
获取每一最短路由路径中传输所述路由请求时每一步的传输方向,将传输所述路由请求的所有步的传输方向按序排列;
若传输所述路由请求的所有步的传输方向均为正向传输,则判定所述最短路由路径适合传输所述路由请求;
若传输所述路由请求的所有步的传输方向均为负向传输,则判定所述最短路由路径适合传输所述路由请求;
若传输所述路由请求的所有步的传输方向为先沿连续的正向传输再沿连续的负向传输,则判定所述最短路由路径适合传输所述路由请求;
若传输所述路由请求的所有步的传输方向为先沿连续的负向传输再沿连续的正向传输,则判定所述最短路由路径适合传输所述路由请求。
2.根据权利要求1所述的三维超立方结构网络的路由方法,其特征在于,所述对三维超立方结构网络构建三维坐标系步骤包括:
将三维超立方结构网络中的各个路由节点映射到XYZ三维坐标系中,形成对应三维超立方结构网络的三维坐标系。
3.根据权利要求2所述的三维超立方结构网络的路由方法,其特征在于,所述将三维超立方结构网络中的各个路由节点映射到XYZ三维坐标系中,形成对应三维超立方结构网络的三维坐标系步骤包括:
获取三维超立方结构网络中各个路由节点的阵列排布方式,形成沿第一方向排布设置的多排路由节点、沿第二方向排布设置的多排路由节点、沿第三方向排布设置的多排路由节点,所述第一方向、所述第二方向与所述第三方向相互垂直设置;
将所述第一方向设置为X轴,将所述第二方向设置为Y轴,将所述第三方向设置为Z轴,形成对应三维超立方结构网络的三维坐标系。
4.根据权利要求1所述的三维超立方结构网络的路由方法,其特征在于,所述在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径步骤包括:
根据所述目标终端节点坐标以及所述源终端节点坐标获取在所述三维超立方结构网络内从所述源终端节点坐标至所述目标终端节点坐标的所有路由路径;
在所有路由路径中获取每一路由路径传输所述路由请求的步骤数量,获取步骤数量最少的路由路径作为传输所述路由请求的最短路由路径。
5.根据权利要求1所述的三维超立方结构网络的路由方法,其特征在于,所述获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集步骤包括:
获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一排列;
将排序后一位的路由节点坐标减去排序前一位的路由节点坐标形成相邻两个路由节点的路由向量;
将所有的路由向量按序排列形成传输向量集。
6.根据权利要求5所述的三维超立方结构网络的路由方法,其特征在于,所述将排序后一位的路由节点坐标减去排序前一位的路由节点坐标形成相邻两个路由节点的路由向量步骤包括:
将所述排序后一位的路由节点坐标的X轴值与所述排序前一位的路由节点坐标的X轴值的差值作为实时坐标差值ΔX,将所述排序后一位的路由节点坐标的Y轴值与所述排序前一位的路由节点坐标的Y轴值的差值作为实时坐标差值ΔY,将所述排序后一位的路由节点坐标的Z轴值与所述排序前一位的路由节点坐标的Z轴值的差值作为实时坐标差值ΔZ;
将实时坐标差值(ΔX,ΔY,ΔZ)作为从所述排序后一位的路由节点坐标至所述排序前一位的路由节点坐标的路由向量。
7.根据权利要求6所述的三维超立方结构网络的路由方法,其特征在于,所述将所述排序后一位的路由节点坐标的X轴值与所述排序前一位的路由节点坐标的X轴值的差值作为实时坐标差值ΔX,将所述排序后一位的路由节点坐标的Y轴值与所述排序前一位的路由节点坐标的Y轴值的差值作为实时坐标差值ΔY,将所述排序后一位的路由节点坐标的Z轴值与所述排序前一位的路由节点坐标的Z轴值的差值作为实时坐标差值ΔZ步骤包括:
在响应于存在路由请求时,获取所述排序后一位的路由节点坐标(Xd,Yd,Zd),获取所述排序前一位的路由节点坐标(Xs,Ys,Zs);
通过公式ΔX=Xd-Xs、ΔY=Yd-Ys及ΔZ=Zd-Zs计算出实时坐标差值(ΔX,ΔY,ΔZ)。
8.根据权利要求6所述的三维超立方结构网络的路由方法,其特征在于,所述根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向步骤包括:
获取传输所述路由请求时每一步对应的路由向量(ΔX,ΔY,ΔZ);
当ΔX>0时判定所述路由请求沿X轴正向传输,当ΔX<0时判定所述路由请求沿X轴负向传输;
当ΔY>0时判定所述路由请求沿Y轴正向传输,当ΔY<0时判定所述路由请求沿Y轴负向传输;
当ΔZ>0时判定所述路由请求沿Z轴正向传输,当ΔZ<0时判定所述路由请求沿Z轴负向传输。
9.根据权利要求8所述的三维超立方结构网络的路由方法,其特征在于,所述根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向步骤还包括:
获取ΔX、ΔY及ΔZ的值,ΔX、ΔY及ΔZ的值为-1、0或1;
当ΔX=1时判定所述路由请求沿X轴正向传输,当ΔX=0时判定所述路由请求未沿X轴传输,当ΔX=-1时判定所述路由请求沿X轴负向传输;
当ΔY=1时判定所述路由请求沿Y轴正向传输,当ΔY=0时判定所述路由请求未沿Y轴传输,当ΔY=-1时判定所述路由请求沿Y轴负向传输;
当ΔZ=1时判定所述路由请求沿Z轴正向传输,当ΔZ=0时判定所述路由请求未沿Z轴传输,当ΔZ=-1时判定所述路由请求沿Z轴负向传输。
10.根据权利要求1所述的三维超立方结构网络的路由方法,其特征在于,所述采用适合传输所述路由请求的所述最短路由路径传输所述路由请求步骤包括:
获取所有适合传输所述路由请求的所述最短路由路径,并检测每一适合传输所述路由请求的所述最短路由路径的实时占用状态;
选取未被占用的最短路由路径传输所述路由请求。
11.一种三维超立方结构网络,其特征在于,采用权利要求1至10任一项所述的三维超立方结构网络的路由方法传输路由请求。
12.一种三维超立方结构网络的路由装置,其特征在于,所述装置包括:
构建三维坐标系模块,用于对三维超立方结构网络构建三维坐标系,在所述三维坐标系中为三维超立方结构网络中各个路由节点设置一个坐标;
节点坐标获取模块,用于响应于存在路由请求时,获取所述路由请求的目标终端节点坐标以及所述路由请求的源终端节点坐标;
最短路由路径获取模块,用于在所述三维超立方结构网络内获取从所述源终端节点坐标至所述目标终端节点坐标的所有最短路由路径;
路由向量计算模块,用于获取每一最短路由路径中的所有路由节点坐标,根据传输所述路由请求时依次经过的路由节点坐标逐一计算相邻两个路由节点的路由向量,将所有的路由向量按序排列形成传输向量集;
传输方向判断模块,用于根据所述传输向量集中按序排列的路由向量判断传输所述路由请求时每一步沿X轴、Y轴、Z轴的传输方向;
路由路径选取模块,用于根据每一最短路由路径中传输所述路由请求时每一步的传输方向判断所述最短路由路径是否适合传输所述路由请求,其包括:获取每一最短路由路径中传输所述路由请求时每一步的传输方向,将传输所述路由请求的所有步的传输方向按序排列;若传输所述路由请求的所有步的传输方向均为正向传输,则判定所述最短路由路径适合传输所述路由请求;若传输所述路由请求的所有步的传输方向均为负向传输,则判定所述最短路由路径适合传输所述路由请求;若传输所述路由请求的所有步的传输方向为先沿连续的正向传输再沿连续的负向传输,则判定所述最短路由路径适合传输所述路由请求;若传输所述路由请求的所有步的传输方向为先沿连续的负向传输再沿连续的正向传输,则判定所述最短路由路径适合传输所述路由请求;
路由请求传输模块,用于采用适合传输所述路由请求的所述最短路由路径传输所述路由请求。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410233540.8A CN117811993B (zh) | 2024-03-01 | 2024-03-01 | 三维超立方结构网络及其路由方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410233540.8A CN117811993B (zh) | 2024-03-01 | 2024-03-01 | 三维超立方结构网络及其路由方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117811993A CN117811993A (zh) | 2024-04-02 |
CN117811993B true CN117811993B (zh) | 2024-06-07 |
Family
ID=90426045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410233540.8A Active CN117811993B (zh) | 2024-03-01 | 2024-03-01 | 三维超立方结构网络及其路由方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117811993B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1494688A (zh) * | 2001-02-24 | 2004-05-05 | �Ҵ���˾ | 新颖的大规模并行超级计算机 |
CN102098353A (zh) * | 2011-01-31 | 2011-06-15 | 北京邮电大学 | 基于分布式哈希表DHT实现IPv4和IPv6互通的系统和方法 |
US8050256B1 (en) * | 2008-07-08 | 2011-11-01 | Tilera Corporation | Configuring routing in mesh networks |
CN105959239A (zh) * | 2016-04-22 | 2016-09-21 | 西安电子科技大学 | 三维光片上网络的通信方法 |
CN107453947A (zh) * | 2017-07-21 | 2017-12-08 | 西安电子科技大学 | 基于模糊推理的车载网络路由建立方法 |
CN111193540A (zh) * | 2020-04-08 | 2020-05-22 | 北京大学深圳研究生院 | 一种基于双曲几何的天空地信息网络统一路由方法 |
CN115277551A (zh) * | 2022-07-28 | 2022-11-01 | 上海交通大学 | 基于环形结构的模块化三维片上网络无死锁路由系统和方法 |
CN117135108A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 路由路径规划方法、路由请求处理方法、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2973975B1 (fr) * | 2011-04-05 | 2013-03-22 | Alcatel Lucent | Procede d'obtention d'informations sur les etats de fonctionnement de noeuds d'un reseau de communication en vue d'un routage a cout energetique optimise, et dispositif associe |
US8934377B2 (en) * | 2013-03-11 | 2015-01-13 | Netspeed Systems | Reconfigurable NoC for customizing traffic and optimizing performance after NoC synthesis |
US10218580B2 (en) * | 2015-06-18 | 2019-02-26 | Netspeed Systems | Generating physically aware network-on-chip design from a physical system-on-chip specification |
CA3223804A1 (en) * | 2021-06-23 | 2022-12-29 | Evandro DE SOUZA | Deadlock-free multipath routing for direct interconnect networks |
US20240005532A1 (en) * | 2022-07-04 | 2024-01-04 | Hefei University Of Technology | Dynamic tracking methods for in-vivo three-dimensional key point and in-vivo three-dimensional curve |
-
2024
- 2024-03-01 CN CN202410233540.8A patent/CN117811993B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1494688A (zh) * | 2001-02-24 | 2004-05-05 | �Ҵ���˾ | 新颖的大规模并行超级计算机 |
US8050256B1 (en) * | 2008-07-08 | 2011-11-01 | Tilera Corporation | Configuring routing in mesh networks |
CN102098353A (zh) * | 2011-01-31 | 2011-06-15 | 北京邮电大学 | 基于分布式哈希表DHT实现IPv4和IPv6互通的系统和方法 |
CN105959239A (zh) * | 2016-04-22 | 2016-09-21 | 西安电子科技大学 | 三维光片上网络的通信方法 |
CN107453947A (zh) * | 2017-07-21 | 2017-12-08 | 西安电子科技大学 | 基于模糊推理的车载网络路由建立方法 |
CN111193540A (zh) * | 2020-04-08 | 2020-05-22 | 北京大学深圳研究生院 | 一种基于双曲几何的天空地信息网络统一路由方法 |
CN115277551A (zh) * | 2022-07-28 | 2022-11-01 | 上海交通大学 | 基于环形结构的模块化三维片上网络无死锁路由系统和方法 |
CN117135108A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 路由路径规划方法、路由请求处理方法、设备及介质 |
Non-Patent Citations (7)
Title |
---|
Calculation of the minimum distance of driving route for average speed control based on three-dimensional modeling;Hao Tang等;《2021 IEEE International Workshop on Metrology for Automotive》;20210702;全文 * |
PCI总线目标设备控制器的IP设计;孙华锦, 高德远, 韩冰;计算机工程与应用;20021001(第19期);全文 * |
Yanxiang Wang等.Shortest Path Planning of UAV for Target Tracking and Obstacle Avoidance in 3D Environment.《 2020 39th Chinese Control Conference 》.2020,全文. * |
周文强 ; 张金艺 ; 周多 ; 刘江 ; .三维片上网络最短路径令牌式路由算法.微电子学与计算机.2015,(第05期),全文. * |
孙美东 ; 刘勤让 ; 刘冬培 ; 燕昺昊 ; .面向非全互连3D NoC的自适应单播路由算法.计算机应用.2017,(第05期),全文. * |
彭超.基于图的实时任务模型的可调度性分析与性能优化技术研究.《基于图的实时任务模型的可调度性分析与性能优化技术研究》.2021,全文. * |
梁家荣 ; 曹入辉 ; 郭晨 ; .交换超立方网中的最短路径路由算法.计算机工程.2012,(第20期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN117811993A (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117135108B (zh) | 路由路径规划方法、路由请求处理方法、设备及介质 | |
US5170393A (en) | Adaptive routing of messages in parallel and distributed processor systems | |
US8825986B2 (en) | Switches and a network of switches | |
CN117135106B (zh) | 路由路径规划方法、路由请求处理方法、设备及介质 | |
US10091091B2 (en) | Direct network having plural distributed connections to each resource | |
KR101942194B1 (ko) | 토폴로지 및 라우팅 테이블을 위한 네트워크 토폴로지 시스템 및 생성 방법 | |
CN108123901A (zh) | 一种报文传输方法和装置 | |
CN117395746A (zh) | 双路径无线网格网络的路由方法、装置、设备和存储介质 | |
CN117241337A (zh) | 双路径无线网格网络的路由方法、装置、设备和存储介质 | |
CN102932250B (zh) | 一种基于容错计算机网络结构的无死锁自适应路由方法 | |
US7986643B2 (en) | Determining and distributing routing paths for nodes in a network | |
CN117811993B (zh) | 三维超立方结构网络及其路由方法、装置、设备和介质 | |
Marri et al. | Implementation and analysis of adaptive odd-even routing in booksim 2.0 simulator | |
CN117811996A (zh) | 双路径三维超立方网络的路由方法、装置、设备和介质 | |
CN116886591A (zh) | 片上网络的拓扑结构及路由方法 | |
Dharmasena et al. | An optimal fault-tolerant routing algorithm for weighted bidirectional double-loop networks | |
CN116545960A (zh) | 二维片上网络结构及其路由方法、装置、设备和存储介质 | |
CN117081975B (zh) | 拓扑结构及构建方法、报文发送方法、装置、设备和介质 | |
CN113411257B (zh) | 传输报文的方法、装置、计算设备和存储介质 | |
Somisetty et al. | Congestion aware negative first routing with fair arbitration for network on chip | |
Tseng et al. | Building a multicasting tree in a high-speed network | |
CN118264605B (zh) | 路由方向的确定方法和装置、存储介质及电子设备 | |
MM et al. | Dynamic communication performance of a hierarchical torus network under non-uniform traffic patterns | |
Rosenberg | Capacity requirements for node and arc survivable networks | |
CN118282927A (zh) | 一种路由路径规划方法、装置、设备、介质 |
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 |