CN106330702B - 适用于神经形态计算的多阶混合路由系统及其路由方法 - Google Patents
适用于神经形态计算的多阶混合路由系统及其路由方法 Download PDFInfo
- Publication number
- CN106330702B CN106330702B CN201610674881.4A CN201610674881A CN106330702B CN 106330702 B CN106330702 B CN 106330702B CN 201610674881 A CN201610674881 A CN 201610674881A CN 106330702 B CN106330702 B CN 106330702B
- Authority
- CN
- China
- Prior art keywords
- routing
- rank
- routing node
- node
- packet
- 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 22
- 230000005540 biological transmission Effects 0.000 claims abstract description 36
- 238000004891 communication Methods 0.000 claims description 14
- 239000010410 layer Substances 0.000 description 98
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012545 processing 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/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- 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
- H04L45/04—Interdomain routing, e.g. hierarchical routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种适用于神经形态计算的多阶混合路由系统及其路由方法。其中系统包括:S阶路由节点层,其中S≥2;每阶路由节点层均包括至少一个路由区块,每个路由区块包括多个路由节点,每个路由区块中的多个路由节点互联,且除第S阶路由节点层之外的同一阶路由节点层中的各个路由区块相互独立;第s阶路由节点层中的s阶路由节点的数量与第s‑1阶路由节点层中的s‑1阶路由区块的数量相同,且s阶路由节点与s‑1阶路由区块一一对应,每个s阶路由节点与相应的s‑1阶路由区块连接,其中,2≤s≤S;各个阶路由节点上设置有适用于与神经形态计算单元连接的外接连接通道。其能在硬件开销小,实现复杂度低的基础上,降低路由包的传输延迟。
Description
技术领域
本发明涉及神经网络计算领域,特别是涉及一种适用于神经形态计算的多阶混合路由系统及其路由方法。
背景技术
神经形态计算以人类大脑的工作方式为驱动,采用简单的神经元模拟网络模型和复杂的连接关系以实现分类、感知等传统方式并不擅长的问题。
受传统技术和制作成本的影响,在实现大规模网络过程中路由问题是一个难点。其中2D mesh(一种网络结构)结构以其结构简单、便于实现、易扩展等优点被广泛采用,但它的网络路径将随节点数的增大而迅速增大,其它网络结构针对上述问题虽然有所改善但未从根本上解决此问题。由于网络直经与节点数存在指数关系,因此当网络规模变大时网络路径将会迅速增长,而网络路径变大将直接影响网络的传输延迟,使得网络的传输实时性变差。
发明内容
鉴于此,有必要针对传统网络规模变大时传输延迟也会随之增大的问题,提供一种适用于神经形态计算的多阶混合路由系统及其路由方法,能够在满足硬件约束的基础上以较小的传输延时实现大规模网络连接。
为达到发明目的,提供一种适用于神经形态计算的多阶混合路由系统,所述系统包括S阶路由节点层,其中S≥2;
每阶路由节点层均包括至少一个路由区块,每个所述路由区块包括多个路由节点,每个所述路由区块中的多个路由节点互联,且除所述第S阶路由节点层之外的同一阶路由节点层中的各个路由区块相互独立;
第s阶路由节点层中的s阶路由节点的数量与第s-1阶路由节点层中的s-1阶路由区块的数量相同,且所述s阶路由节点与所述s-1阶路由区块一一对应,每个所述s阶路由节点与相应的s-1阶路由区块连接,其中,2≤s≤S;
各个所述路由节点上设置有适用于与神经形态计算单元连接的外接连接通道。
在其中一个实施例中,所述第S阶路由节点层中的s阶路由节点之间互联的网络结构包括2D mesh网络结构,Butterfly网络结构和Torus网络结构;
第S-1阶路由节点层以下的各个路由节点层中的路由节点之间互联的网络结构包括2D mesh网络结构。
在其中一个实施例中,同阶路由节点层中的各个路由节点采用路由算法和通信方式相同。
在其中一个实施例中,s阶路由节点之间的数据传输速率高于s-1阶路由节点之间数据传输速率。
在其中一个实施例中,所述s-1阶路由区块中位于区块边缘的路由节点与相应的s阶路由节点连接。
在其中一个实施例中,各阶路由节点层中均包括用于与本阶路由节点层中相邻路由节点连接的同阶连接通道;
所述第s阶路由节点层中还包括与s-1阶路由节点层中的s-1阶路由节点连接的跨阶连接通道。
在其中一个实施例中,所述路由节点包括:
路由算法单元,与输入通道连接,用于接收从所述输入通道传输的路由包,并由所述路由包中解析出目标节点地址信息,由所述目标节点地址信息确定所述路由包的下一步路由方向;
仲裁单元,与所述路由算法单元连接,用于接收由所述路由算法单元确定的各输入通道中路由包的下一步路由方向信息,并按照各输入通道的优先级顺序生成仲裁指令;;
交叉开关,与所述仲裁单元连接,并与所述输入通道和输出通道连接,用于在所述仲裁指令的控制下连通对应的输入通道和输出通道。
在其中一个实施例中,所述路由节点还包括:
输入缓存,设置在所述输入通道和所述交叉开关之间,并与所述路由算法单元连接,用于缓存从所述输入通道输入的所述路由包;
输出缓存,设置在所述输出通道和所述交叉开关之间,并与所述仲裁单元连接,用于缓存输出的所述路由包。
在其中一个实施例中,所述s阶路由节点还包括:
合并单元,通过跨阶连接通道与相应的s-1阶路由区块中位于区块边缘的多个路由节点连接,用于依次接收位于s-1阶路由区块边缘的多个路由节点输入的多个s-1阶路由包,并将多个所述s-1阶路由包改写为多个s阶路由包,其中s阶路由包中包括与s-1阶目标路由区块相对应的s阶目标路由节点地址;
拆分单元,与所述合并单元连接,用于接收所述合并单元通过本阶连接通道传输的多个s阶路由包,并根据路由包的所述目标节点地址信息将所述s阶路由包通过跨阶连接通道分发到s-1阶路由区块中位于边缘的路由节点,将所述s阶路由包更新为s-1阶路由包,并由位于边缘的路由节点将所述s-1阶路由包传输到相应的s-1阶目标路由节点中。
本发明还提供一种适用于神经形态计算的多阶混合路由系统的路由方法,其中系统为上述的适用于神经形态计算的多阶混合路由系统,所述方法包括:
第s-1阶路由节点层中的s-1阶源路由节点接收到路由包时,解析所述路由包的目标节点地址信息;
根据所述目标节点地址信息判断所述路由包的s-1阶目标路由节点;
若所述s-1阶目标路由节点与所述s-1阶源路由节点不在同一路由区块中,则将所述路由包发送至第s阶路由节点层中与所述s-1阶源路由节点所在路由区块对应的s阶源路由节点;
由所述s阶源路由节点将所述路由包发送至所述s-1阶目标路由节点所在路由区块对应的s阶目标路由节点中;
由所述s阶目标路由节点将所述路由包下发至所述s-1阶目标路由节点所在的s-1阶目标路由区块;
所述s-1阶目标路由区块将所述路由包发送至所述s-1阶目标路由节点。
在其中一个实施例中,还包括:
若所述s-1阶目标路由节点与所述s-1阶源路由节点在同一路由区块中,则将所述路由包通过所述s-1阶路由区块中的s-1阶路由节点传输至所述s-1阶目标路由节点。
在其中一个实施例中,若s-1阶路由节点在同一时刻有多个路由包向同一输出方向输出时,根据多个所述路由包所在输入通道的仲裁优先级确定多个路由包的优先顺序;
根据所述优先顺序将多个路由包依序输送至下一s-1阶路由节点,直至传送至所述s-1阶目标路由节点。
在其中一个实施例中,所述s-1阶路由区块中位于区块边缘的路由节点与相应的s阶路由节点连接;当第s-1阶路由节点层中的s-1阶源路由区块中有多个路由包需要传输至其他s-1阶路由区块,所述方法包括:
第s阶路由节点层中与所述s-1阶源路由区块对应的s阶源路由节点依次接收位于s-1阶源路由区块边缘的路由节点的多个s-1阶路由包,并将多个所述s-1阶路由包改写为多个s阶路由包,其中,所述s阶路由包中包括与s-1阶目标路由区块相对应的s阶目标路由节点地址;
s阶源路由节点通过第s阶路由节点层中的其它s阶路由节点将所述s阶路由包输送至相应的s阶目标路由节点;
由s阶目标路由节点下发到与其对应的s-1阶目标路由区块中位于边缘的路由节点,并将所述s阶路由包更新为s-1阶路由包;
由位于所述s-1阶目标路由区块边缘的路由节点将所述s-1阶路由包输送至所述s-1阶目标路由节点。
在其中一个实施例中,所述第s阶路由节点层中与所述s-1阶源路由区块对应的s阶源路由节点依次接收位于s-1阶源路由区块边缘的路由节点的多个s-1阶路由包的步骤包括:
所述s阶源路由节点采用轮询的方式依次接收位于s-1阶源路由区块边缘的路由节点的多个s-1阶路由包。
本发明的有益效果包括:
上述适用于神经形态计算的多阶混合路由系统及其路由方法,能够将低阶路由节点层中的路由包从源路由节点经由高阶路由节点层传输至目标路由节点,而高阶路由节点层中的传输路径远远小于低阶路由节点层中的传输路径,从而有效解决传统2D mesh结构网络中网络规模较大时网络路径大、延迟高的缺陷,在硬件开销小,实现复杂度低的基础上,降低路由包的传输延迟。
附图说明
图1为一个实施例中的第S阶路由节点层中路由节点形成的网络结构没有限制的适用于神经形态计算的多阶混合路由系统的结构示意图;
图2为另一个实施例中的适用于神经形态计算的多阶混合路由系统的结构示意图;
图3为一个实施例中的路由节点的结构示意图;
图4为一个实施例中的路由节点的连接通道结构示意图;
图5为一个实施例中的采用2D mesh网络结构的路由节点的连接关系示意图;
图6为一个实施例中的路由节点的工作流程示意图;
图7为一个实施例中的s阶路由节点中合并单元与拆分单元的连接关系示意图;
图8为一个实施例中的Butterfly网络结构的示意图;
图9为一个实施例中的torus网路结构的示意图;
图10为一个实施例中的适用于神经形态计算的多阶混合路由方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明适用于神经形态计算的多阶混合路由系统及其路由方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在一个实施例中,如图1、图2所示,提供了一种适用于神经形态计算的多阶混合路由系统,该系统包括S阶路由节点层,其中S≥2。每阶路由节点层均包括至少一个路由区块,每个路由区块包括多个路由节点,每个路由区块中的多个路由节点互联,且除第S阶路由节点层之外的同一阶路由节点层中的各个路由区块相互独立。第s阶路由节点层中的s阶路由节点的数量与第s-1阶路由节点层中的s-1阶路由区块的数量相同且s阶路由节点与s-1阶路由区块一一对应,每个s阶路由节点与相应的s-1阶路由区块连接,其中,2≤s≤S。各个路由节点上设置有适用于与神经形态计算单元P连接的外接连接通道E。
本实施例中的适用于神经形态计算的多阶混合路由系统,包括至少2阶路由节点层,每阶路由节点层中至少包括一个路由区块,每个路由区块中包括多个路由节点,优选的,每个路由区块中的多个路由节点阵列排布,使得整个系统设计简单,整体一目了然,且便于各个路由节点之间的耦合。每个路由区块内的路由节点之间互联,除最上阶路由节点层外的同一阶路由节点层中的多个路由区块之间相互独立,上一阶路由节点层中的一个路由节点对应下一阶路由节点层中的一个路由区块,每阶路由节点层中的路由节点上设置有适用于与神经形态计算单元连接的外接连接通道,每阶路由节点层中路由节点接收到神经形态计算单元发送的路由包后,可通过本阶路由节点或高阶路由节点传输到相应的目标路由节点,从而实现低延时的路由传输。当神经形态计算单元有路由包需要从系统中的一个路由节点(源路由节点)传输到另一个路由节点(目标路由节点)时,需要经过源路由节点和目标路由节点之间相连的路径才能到达,而在网络节点数较大的网络系统中,路由包将要经过的路径将迅速增大,这样势必影响路由包的传输延迟。而本实施例中的多阶混合路由系统,可根据路由包中携带的目标节点地址信息,将路由包先传输到上阶路由节点层中,由上阶路由节点层中传输该阶路由节点层中的目标路由节点,由上阶路由节点层中的目标路由节点传输至与其连接的下阶路由节点层的目标路由区块,再由目标路由区块传输到相应的目标路由节点,由于上阶路由节点层中一个路由节点对应下阶路由节点层中的多个路由节点(一个路由区块),因此上阶路由节点层中的传输路径比下阶路由节点层中的传输路径大大减少,且越往上阶路由节点层传输,其对应的传输路径越小,因此,可以有效解决传统2D mesh结构网络中网络规模较大时网络路径大、延迟高的缺陷,能够实现较小传输延时的大规模网络连接,提高了路由系统的整体性能。
值得说明的是,如果路由包的源路由节点与目标路由节点在同一路由区块中,则可直接将路由包在该路由区块中进行传输。在路由包的源路由节点和目标路由节点在不同路由区块时,才采用上阶路由节点层进行传输。其中,路由系统的路由节点层阶数是不固定的,可随着路由节点数目的增大而增大。每个路由区块中的多个路由节点阵列排布是指多个路由节点按照N*M的阵列排布,其中,N和M都为大于1的正整数,M和N可以相同,也与可以不同,此时,该路由区块的网络路径大小为(M+N),对应该路由区块的网络零负载传输延迟满足关系Tl=(M+N)ht,其中(M+N)表示网络中最大传输条数,ht表示路由节点的处理时间。对于M和N的取值选择除了和硬件引脚数目相关之外,还应满足Tl小于系统要求的最大传输延迟。
需要说明的是,之所以在各个路由节点上设置适用于与神经形态计算单元连接的外接连接通道E,是因为一般只有神经形态计算单元才需要如此庞大的路由节点数,将神经形态计算单元发送的路由包在此多阶混合路由系统传输才最能体现其传输时延低的优点,当然,该多阶混合路由系统与可用于其他需要如此多的路由节点的计算单元。优选的,与神经形态计算单元连接的外接连接通道只设置在第一阶路由节点层中的各个一阶路由节点上,路由包从第一阶路由节点层经过高阶路由节点层传输至目标路由节点,这样更能体现路由包在系统中传输的低延时特性。
优选的,在一个实施例中,同一阶路由节点层中的路由区块的阵列排布结构相同,不同阶路由节点层中的路由区块的阵列排布结构可以相同,也可以不同。
优选的,第S阶路由节点层只有一个S阶路由区块,S阶路由区块中各个路由节点是互联的,整个路由系统呈金字塔形结构,这样能够保证每个路由节点之间都存在一定的连接关系,在保证路由包顺利传输的前提下,简化系统的设计复杂度。当然,第S阶路由节点层中也可以有多个S阶路由区块,但S阶路由区块之间存在一定的连接关系,保证系统中每个路由节点之间都存在一定的连接关系。其中,值得说明的是,第S阶路由节点层中的S阶路由区块中也可只包括一个路由节点。
在一个实施例中,第S阶路由节点层中的s阶路由节点之间互联的网络结构包括2Dmesh网络结构,Butterfly网络结构和Torus网络结构。第S-1阶路由节点层以下的各个路由节点层中的路由节点之间互联的网络结构包括2D mesh网络结构。
位于路由系统最上阶的路由节点层的网络结构不做限制,如图1所示,其网络结构可以采用2D mesh网络结构,Butterfly网络结构和Torus网络结构中的任意一种,有利于系统的扩展。位于路由系统最上阶路由节点层之下的路由节点层中的路由节点之间的网络结构通常采用2D mesh网络结构,便于实施,使整个路由系统的结构较为简单。
优选的,位于路由系统最上阶的路由节点层的网络结构为Butterfly网络结构或Torus网络结构,位于路由系统最上阶下面的路由节点层的网络结构为2D mesh网络结构,多种网络结构混合设计,可以实现不同结构之间的优势互补,提高路由系统的整体性能。
其中,图5为一个实施例中的2D mesh网络结构示意图,图8为一个实施例中的Butterfly网络结构示意图,图9为一个实施例中的Torus网络结构示意图。
在一个实施例中,同阶路由节点层中的各个路由节点采用路由算法和通信方式相同。
同阶路由节点层中各个路由节点采用路由算法和通信方式相同,这样可设置同阶路由节点层中的路由节点的结构和功能相同,方便设置,减小系统设计的复杂度。其中,通信方式可以是同步也可以是异步。
在一个实施例中,高阶路由节点之间的数据传输速率高于低阶路由节点之间传输速率,以实现速率的匹配。
在一个实施例中,路由算法包括维序路由算法、随机路由算法和自适应路由算法。
维序路由算法具体是指:路由包到达目标节点之前,下一步路由方向按照预设的优先级进行,在最短路径上优先完成一个方向的路由,再进行另一个方向的路由。例如:XY维序路由指优先完成X方向路由,然后再完成Y方向路由。
随机路由算法具体是指:路由包到达目标节点之前,下一步路由方向由随机数确定。例如:可以规定数值0表示路由方向为X方向,数值1表示路由方向为Y方向,当数据包在系统中路由时,路由包当前所在的路由节点随机产生一个数值,当随机数值为0时,路由包下一步的路由方向为X方向,当随机数值为1时,路由包下一步的路由方向为Y方向。
自适应路由算法具体是指:路由包到达目标节点之前,下一步的路由方向由当前网络状态决定,如当前X方向出现路由包拥堵时,则下一步路由方向为Y方向,如果当前Y方向出现路由包拥堵时,则下一步路由方向为X方向。
优选的,不同阶路由节点层中的路由节点采用不同的路由算法和通信方式,可实现不同算法和通信方式的优势互补。
在一个实施例中,s-1阶路由区块中位于区块边缘的路由节点与相应的s阶路由节点连接。
位于路由区块边缘的路由节点与位于非区块边缘的路由节点在功能和算法完全相同,将s-1阶路由区块中位于区块边缘的路由节点与相应的s阶路由节点连接,这样可以利用位于s-1阶路由区块边缘的路由节点上空闲的连接通道与s阶路由节点连接,简化系统设计的复杂度。
在一个实施例中,各阶路由节点层中均包括用于与本阶路由节点层中相邻路由节点连接的同阶连接通道。第s阶路由节点层中还包括与s-1阶路由节点层中的s-1阶路由节点连接的跨阶连接通道。
第一阶路由节点层中的各个路由节点之间只有一种类型的连接通道,便能实现一阶路由节点之间的数据通信。该连接通道即可作为输入通道,也可作为输出通道,具体根据路由包的传输方向而定。第s阶路由节点层中既有连接本阶路由节点层中的相邻路由节点的同阶连接通道,还有连接低阶路由节点层中s-1阶路由节点的跨阶连接通道,同阶连接通道实现s阶路由节点之间的数据通信,跨阶连接通道实现与相邻两个路由节点层中路由节点之间的数据通信。该同阶连接通道和跨阶连接通道均可作为输入通道和输出通道,具体根据路由包的传输方向而定。
具体的,参见图4,同阶连接通道包括以路由节点为中心呈十字分布的四个第二连接通道,分别为连接通道A、B、C、D,四个同阶连接通道与相邻的路由节点相连构成2D mesh网络结构。其中,连接通道E为外接连接通道,适用于与神经形态计算单元连接。
在一个实施例中,参见图3、图4,路由节点包括:路由算法单元L1003,与输入通道L1001连接,用于接收从输入通道L1001传输的路由包,并由路由包中解析出目标节点地址信息,由所述目标节点地址信息确定所述路由包的下一步路由方向。仲裁单元L1004,与路由算法单元L1003连接,用于接收由路由算法单元L1003确定的各输入通道中路由包的下一步路由方向信息,并按照各输入通道的优先级顺序生成仲裁指令。交叉开关L1005,与仲裁单元L1004连接,并与输入通道L1001和输出通道L1002连接,用于在仲裁指令的控制下连通对应的输入通道L1001和输出通道L1002。
上述实施例为路由节点的具体结构示意图,其显示了路由包在同阶路由节点中传输过程,图6给出了更详细的时间步,即输入通道L1001、路由算法单元L1003、仲裁单元L1004。交叉单元L1005和输出通道L1002这五个步骤是独立并行运行的,但对于每个路由包而言在路由节点中都要顺序经历这五个步骤。
值得说明的是,如果有多个路由包同时发往同一输出通道时,仲裁单元L1004才确定这多个路由包的优先级顺序,如果同一时刻发往同一输出通道的路由包只有一个,则无需确定路由包的优先级,直接控制交叉开关L1005连通相应的输入输出通道,将路由包由输入通道中传输至输出通道中发出。
优选的,仲裁单元L1005按照连接通道ABCDE的优先级顺序进行优先级确定。即有多个输入通道同时向同一输出方向发送路由包时,按照ABCDE的顺序确定优先权,避免网络拥挤和堵塞。
在一个实施例中,路由节点还包括:输入缓存L006,设置在输入通道L1001和交叉开关L1005之间,并与路由算法单元L1003连接,用于缓存从输入通道L1001输入的所述路由包。输出缓存L007,设置在输出通道L1002和交叉开关L1005之间,并与仲裁单元L1004连接,用于缓存输出的路由包。
如果同一时刻发往同一输出通道的路由包有多个,而同一时刻同一输出通道内是不能同时传输多个路由包的,此时需要将路由包缓存在输入缓存L1006中,按照仲裁单元L1004仲裁出的路由包的优先级顺序依次发出去,如果没有输入缓存,则很可能发生通道堵塞。相似的,输出缓存L1007缓存输出多个路由包,避免多个路由包堵塞输出通道。
在一个实施例中,参见图7,s阶路由节点包括:合并单元L2002,通过跨阶连接通道L2001(此时跨阶连接通道作为低阶路由节点的输出通道)与相应的s-1阶路由区块中位于区块边缘的多个路由节点连接,用于依次接收位于s-1阶路由区块边缘的多个路由节点输入的多个s-1阶路由包,并将多个所述s-1阶路由包改写为多个s阶路由包,其中s阶路由包中包括与s-1阶目标路由区块相对应的s阶目标路由节点地址。拆分单元L2005,与合并单元L2002连接,用于接收合并单元L2002通过本阶路由节点中的路由算法单元L2003及相应的本阶连接通道L2004传输的多个s阶路由包,并根据路由包的目标节点地址信息将s阶路由包通过跨阶连接通道(此时跨阶连接通道作为高阶路由节点的输出通道)分发到s-1阶路由区块中位于边缘的路由节点,将s阶路由包更新为s-1阶路由包,并由位于边缘的路由节点将s-1阶路由包传输到相应的s-1阶目标路由节点中
s阶路由节点中的合并单元L2002和拆分单元L2005实现低阶路由节点层中的路由包经由高阶路由节点层传输的效果。
以下结合一个两阶路由节点层的混合路由系统做进一步的解释说明:
参见图1、图2,图1和图2中的多阶混合路由系统有两阶路由节点层,第一阶路由节点层S1中包括多个一阶路由区块,多个一阶路由区块之间相互独立,即区块和区块之间没有连接关系,每个一阶路由区块由M*N个一阶路由节点S101按照M*N(4*4)阵列排布构成2Dmesh网络结构,每个一阶路由节点S101的结构和功能完全相同,且每个一阶路由节点S101上都设置有适用于与神经形态计算单元P连接的外接连接通道E。第二阶路由节点层S2包括与第一阶路由节点层S1的一阶路由区块数量相同的二阶路由节点S201,所有的二阶路由节点S201结构和功能相同,二阶路由节点S201之间的连接关系可配置,其形成的网络结构可以为的网络结构包括2D mesh网络结构,Butterfly网络结构或Torus网络结构中一种。每个二阶路由节点连接一个一阶路由区块,优选的,位于一阶路由区块边缘的一阶路由节点与二阶路由节点连接,如图2所示,每个一阶区块中位于区块边缘的[2(M+N)-4]个一阶路由节点与同一二阶路由节点连接。其中,第一阶路由节点层S1中的连接通道类型只有一种,即连接相邻的一阶路由节点(同阶连接通道),第二阶路由节点层S2中的连接通道类型有两种,一种类型是连接二阶路由节点(同阶连接通道),另一种类型是连接一阶路由节点(跨阶连接通道)。第二阶路由节点层中路由节点之间的数据传输速率应大于第一阶路由节点层中路由节点之间的输出传输速率,以实现不同阶路由节点层间的速率匹配,且同阶路由节点层中的路由节点间采用的路由算法和通信方式相同,通信方式可以是同步也可以为异步。
具体的,一阶路由节点间采用并行的通信方式,优选的,采用并行同步通信方式,并行数据位宽等于路由包长度,在一个具体实施例中,采用36bits位宽,运行时钟为300MHz。一阶路由节点采用XY维序路由算法,即路由节点优先比较路由包中目标节点X坐标是否等于当前节点X坐标,如果不等则下一步路由方向为沿X方向,且具体的是朝着目标X坐标与当前X坐标差值的绝对值减小的方向,直至差值为0;然后再在Y方向进行路由。一阶路由节点的仲裁单元按照连接通道ABCDE的优先级顺序进行优先级确定,即当有多个输入通道要同时向同一个输出方向发送路由包时,按照ABCDE的顺序确定优先权。更具体地,二阶路由节点对于与它相连的一阶通道采用令牌环轮询的方式进行路由包读入,即对于12个输入通道此次得到服务的输入通道在下一轮优先级为最低。二阶通道采用高速串行通信方式以达到与12个一阶通道的速率匹配,这里采用数据传输速率为2.5Gbps的SerDes接口。
在一个实施例中,参见图10,还提供一种适用于神经形态计算的多阶混合路由方法,其中系统为上述适用于神经形态计算的多阶混合路由系统。该方法包括:
S100,第s-1阶路由节点层中的s-1阶源路由节点接收到路由包时,解析路由包的目标节点地址信息。
S200,根据目标节点地址信息判断所述路由包的s-1阶目标路由节点。
S300,若s-1阶目标路由节点与s-1阶源路由节点不在同一路由区块中,则将路由包发送至第s阶路由节点层中与s-1阶源路由节点所在路由区块对应的s阶源路由节点。
S400,由s阶源路由节点将路由包发送至s-1阶目标路由节点所在路由区块对应的s阶目标路由节点中。
S500,由s阶目标路由节点将路由包下发至s-1阶目标路由节点所在的s-1阶目标路由区块。
S600,s-1阶目标路由区块将路由包发送至s-1阶目标路由节点。
本实施例中的多阶混合路由方法,能够将低阶路由节点层中的路由包从源路由节点经由高阶路由节点层传输至目标路由节点,而高阶路由节点层中的传输路径远远小于低阶路由节点层中的传输路径,从而有效解决传统2D mesh结构网络中网络规模较大时网络路径大、延迟高的缺陷,降低路由包的传输延迟。
在一个实施例中,还包括:
S300a,若s-1阶目标路由节点与s-1阶源路由节点在同一路由区块中,则将路由包通过s-1阶路由区块中的s-1阶路由节点传输至s-1阶目标路由节点。
若源路由节点和目标路由节点在同一路由区块中,如果通过高阶路由节点层传输反而不利于降低路由包的传输延迟,还有可能增加网络的繁忙度,因此路由包在同一路由区块时,直接在该路由区块中输送路由包即可。
在一个实施例中,若s-1阶路由节点在同一时刻有多个路由包向同一输出方向输出时,根据多个路由包所在输入通道的仲裁优先级确定多个路由包的优先顺序。
根据优先顺序将多个路由包依序输送至下一s-1阶路由节点,直至传送至s-1阶目标路由节点。
为了避免多个路由包同时向同一输出方向输出时造成的网络拥堵,需要将多个路由包按照一定的规定进行优先级排序,即先使优先级最高的路由包先从该输出通道中输出,然后再将优先级次高的路由包从该输出通道中输出,以此类推,最后将优先级最低的路由包从该输出通道中输出。优选的,在一个实施例中,多个路由包的优先级顺序按照路由节点的连接通道ABCDE的优先顺序顺次输出。
在一个实施例中,所述s-1阶路由区块中位于区块边缘的路由节点与相应的s阶路由节点连接;当第s-1阶路由节点层中的s-1阶源路由区块中有多个路由包需要传输至其他s-1阶路由区块,所述方法包括:
第s阶路由节点层中与s-1阶源路由区块对应的s阶源路由节点依次接收位于s-1阶源路由区块边缘的路由节点的多个s-1阶路由包,并将多个s-1阶路由包改写为多个s阶路由包,其中,s阶路由包中包括与s-1阶目标路由区块相对应的s阶目标路由节点地址。
s阶源路由节点通过第s阶路由节点层中的其它s阶路由节点将s阶路由包输送至相应的s阶目标路由节点。
由s阶目标路由节点下发到与其对应的s-1阶目标路由区块中位于边缘的路由节点,并将所述s阶路由包更新为s-1阶路由包。
由位于s-1阶目标路由区块边缘的路由节点将所述s-1阶路由包输送至s-1阶目标路由节点。
可利用位于路由区块边缘的低阶路由节点空余出的连接通道与高阶路由节点连接,结构简单,便于实施。位于该路由区块中间的路由节点接收到路由包时,可以将该路由包传输至距离其最近的边缘路由节点,然后通过边缘路由节点将该路由包传送至上阶路由节点层,在一定程度上提高了路由包的传输效率。相似地,在将路由包下发到目标路由节点时,如果目标路由节点位于路由区块的中间位置,则可将路由包先下发到距离该目标路由节点最近的边缘路由节点,再由边缘路由节点传输到目标路由节点。
在一个实施例中,s阶源路由节点采用轮询的方式依次接收位于s-1阶源路由区块边缘的路由节点的多个s-1阶路由包。
s阶路由节点采用轮询的方式接收位于s-1阶路由区块边缘的路由节点的s-1阶路由包,确保s-1阶路由包能够依次被高阶路由节点层读入,避免遗漏路由包的情况。
由于此系统解决问题的原理与前述一种适用于神经形态计算的多阶混合路由系统相似,因此该系统的实施可以参见前述系统的实施,重复之处不再赘述。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种适用于神经形态计算的多阶混合路由系统,其特征在于,所述系统包括S阶路由节点层,其中S≥2;
每阶路由节点层均包括至少一个路由区块,每个所述路由区块包括多个路由节点,每个所述路由区块中的多个路由节点互联,且除第S阶路由节点层之外的同一阶路由节点层中的各个路由区块相互独立;
第s阶路由节点层中的s阶路由节点的数量与第s-1阶路由节点层中的s-1阶路由区块的数量相同,且所述s阶路由节点与所述s-1阶路由区块一一对应,每个所述s阶路由节点与相应的s-1阶路由区块连接,其中,2≤s≤S;
各个所述路由节点上设置有适用于与神经形态计算单元连接的外接连接通道;
第s-1阶路由节点层接收到路由包后,由第s阶路由节点或第s-1阶路由节点传输到目标路由节点。
2.根据权利要求1所述的适用于神经形态计算的多阶混合路由系统,其特征在于,所述第S阶路由节点层中的S阶路由节点之间互联的网络结构包括2D mesh网络结构,Butterfly网络结构和Torus网络结构;
第S-1阶路由节点层以下的各个路由节点层中的路由节点之间互联的网络结构包括2Dmesh网络结构。
3.根据权利要求1所述的适用于神经形态计算的多阶混合路由系统,其特征在于,同阶路由节点层中的各个路由节点采用的路由算法和通信方式相同。
4.根据权利要求3所述的适用于神经形态计算的多阶混合路由系统,其特征在于,s阶路由节点之间的数据传输速率高于s-1阶路由节点之间数据传输速率。
5.根据权利要求1所述的适用于神经形态计算的多阶混合路由系统,其特征在于:
所述s-1阶路由区块中位于区块边缘的路由节点与相应的s阶路由节点连接。
6.根据权利要求5所述的适用于神经形态计算的多阶混合路由系统,其特征在于,各阶路由节点层中均包括用于与本阶路由节点层中相邻路由节点的连接的同阶连接通道;
所述第s阶路由节点层中还包括与s-1阶路由节点层中的s-1阶路由节点连接的跨阶连接通道。
7.根据权利要求6所述的适用于神经形态计算的多阶混合路由系统,其特征在于,所述路由节点包括:
路由算法单元,与输入通道连接,用于接收从所述输入通道传输的路由包,并由所述路由包中解析出目标节点地址信息,由所述目标节点地址信息确定所述路由包的下一步路由方向;
仲裁单元,与所述路由算法单元连接,用于接收由所述路由算法单元确定的各输入通道中路由包的下一步路由方向信息,并按照各输入通道的优先级顺序生成仲裁指令;
交叉开关,与所述仲裁单元连接,并与所述输入通道和输出通道连接,用于在所述仲裁指令的控制下连通对应的输入通道和输出通道。
8.根据权利要求7所述的适用于神经形态计算的多阶混合路由系统,其特征在于,所述路由节点还包括:
输入缓存,设置在所述输入通道和所述交叉开关之间,并与所述路由算法单元连接,用于缓存从所述输入通道输入的所述路由包;
输出缓存,设置在所述输出通道和所述交叉开关之间,并与所述仲裁单元连接,用于缓存输出的所述路由包。
9.根据权利要求8所述的适用于神经形态计算的多阶混合路由系统,其特征在于:所述第s阶路由节点还包括:
合并单元,通过跨阶连接通道与相应的s-1阶路由区块中位于区块边缘的多个路由节点连接,用于依次接收位于s-1阶路由区块边缘的多个路由节点输入的多个s-1阶路由包,并将多个所述s-1阶路由包改写为多个s阶路由包,其中s阶路由包中包括与s-1阶目标路由区块相对应的s阶目标路由节点地址;
拆分单元,与所述合并单元连接,用于接收所述合并单元通过本阶连接通道传输的多个s阶路由包,并根据路由包的所述目标节点地址信息将所述s阶路由包通过跨阶连接通道分发到s-1阶路由区块中位于边缘的路由节点,将所述s阶路由包更新为s-1阶路由包,并由位于边缘的路由节点将所述s-1阶路由包传输到相应的s-1阶目标路由节点中。
10.一种适用于神经形态计算的多阶混合路由系统的路由方法,其特征在于,所述系统为权利要求1所述的适用于神经形态计算的多阶混合路由系统;所述方法包括:
第s-1阶路由节点层中的s-1阶源路由节点接收到路由包时,解析所述路由包的目标节点地址信息;
根据所述目标节点地址信息判断所述路由包的s-1阶目标路由节点;
若所述s-1阶目标路由节点与所述s-1阶源路由节点不在同一路由区块中,则将所述路由包发送至第s阶路由节点层中与所述s-1阶源路由节点所在路由区块对应的s阶源路由节点;
由所述s阶源路由节点将所述路由包发送至所述s-1阶目标路由节点所在路由区块对应的s阶目标路由节点中;
由所述s阶目标路由节点将所述路由包下发至所述s-1阶目标路由节点所在的s-1阶目标路由区块;
所述s-1阶目标路由区块将所述路由包发送至所述s-1阶目标路由节点。
11.根据权利要求10所述的适用于神经形态计算的多阶混合路由系统的路由方法,其特征在于,还包括:
若所述s-1阶目标路由节点与所述s-1阶源路由节点在同一路由区块中,则将所述路由包通过所述s-1阶路由区块中的s-1阶路由节点传输至所述s-1阶目标路由节点。
12.根据权利要求11所述的适用于神经形态计算的多阶混合路由系统的路由方法,其特征在于,若s-1阶路由节点在同一时刻有多个路由包向同一输出方向输出时,根据多个所述路由包所在输入通道的仲裁优先级确定多个路由包的优先顺序;
根据所述优先顺序将多个路由包依序输送至下一s-1阶路由节点,直至传送至所述s-1阶目标路由节点。
13.根据权利要求10所述的适用于神经形态计算的多阶混合路由系统的路由方法,其特征在于,所述s-1阶路由区块中位于区块边缘的路由节点与相应的s阶路由节点连接;当第s-1阶路由节点层中的s-1阶源路由区块中有多个路由包需要传输至其他s-1阶路由区块,所述方法包括:
第s阶路由节点层中与所述s-1阶源路由区块对应的s阶源路由节点依次接收位于s-1阶源路由区块边缘的路由节点的多个s-1阶路由包,并将多个所述s-1阶路由包改写为多个s阶路由包,其中,所述s阶路由包中包括与s-1阶目标路由区块相对应的s阶目标路由节点地址;
s阶源路由节点通过第s阶路由节点层中的其它s阶路由节点将所述s阶路由包输送至相应的s阶目标路由节点;
由s阶目标路由节点下发到与其对应的s-1阶目标路由区块中位于边缘的路由节点,并将所述s阶路由包更新为s-1阶路由包;
由位于所述s-1阶目标路由区块边缘的路由节点将所述s-1阶路由包输送至所述s-1阶目标路由节点。
14.根据权利要求13所述的适用于神经形态计算的多阶混合路由系统的路由方法,其特征在于,所述第s阶路由节点层中与所述s-1阶源路由区块对应的s阶源路由节点依次接收位于s-1阶源路由区块边缘的路由节点的多个s-1阶路由包的步骤包括:
所述s阶源路由节点采用轮询的方式依次接收位于s-1阶源路由区块边缘的路由节点的多个s-1阶路由包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610674881.4A CN106330702B (zh) | 2016-08-16 | 2016-08-16 | 适用于神经形态计算的多阶混合路由系统及其路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610674881.4A CN106330702B (zh) | 2016-08-16 | 2016-08-16 | 适用于神经形态计算的多阶混合路由系统及其路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106330702A CN106330702A (zh) | 2017-01-11 |
CN106330702B true CN106330702B (zh) | 2019-09-20 |
Family
ID=57740045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610674881.4A Active CN106330702B (zh) | 2016-08-16 | 2016-08-16 | 适用于神经形态计算的多阶混合路由系统及其路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106330702B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113490955B (zh) * | 2019-02-25 | 2024-09-10 | 谷歌有限责任公司 | 用于产生金字塔层的架构的系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065019A (zh) * | 2011-01-21 | 2011-05-18 | 西安电子科技大学 | 基于区域划分的片上网络快速ip核映射方法 |
CN105049362A (zh) * | 2015-06-18 | 2015-11-11 | 西安电子科技大学 | 一种二维环绕网格片上网络的拓扑结构以及路由方法 |
CN105119833A (zh) * | 2015-09-08 | 2015-12-02 | 中国电子科技集团公司第五十八研究所 | 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 |
-
2016
- 2016-08-16 CN CN201610674881.4A patent/CN106330702B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065019A (zh) * | 2011-01-21 | 2011-05-18 | 西安电子科技大学 | 基于区域划分的片上网络快速ip核映射方法 |
CN105049362A (zh) * | 2015-06-18 | 2015-11-11 | 西安电子科技大学 | 一种二维环绕网格片上网络的拓扑结构以及路由方法 |
CN105119833A (zh) * | 2015-09-08 | 2015-12-02 | 中国电子科技集团公司第五十八研究所 | 一种用于片上网络的混合互连结构、其网络节点编码方法及其混合路由算法 |
Non-Patent Citations (2)
Title |
---|
Paleyfly : 一种可扩展的高速互连网络拓扑结构;雷斐等;《计 算 机 研 究 与 发 展》;20150615;全文 * |
一种无线 Mesh 网络几何K中心网关部署求解方法;黄书强等;《计算机学报》;20130731;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106330702A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6093867B2 (ja) | インターコネクトにおける不均一なチャネル容量 | |
US10218581B2 (en) | Generation of network-on-chip layout based on user specified topological constraints | |
CN105007226B (zh) | 一种基于包电路交换技术的多播路由器及其工作方式 | |
JPH02142259A (ja) | 経路決定方式 | |
CN104243348B (zh) | 一种数据处理方法和装置 | |
CN104683242B (zh) | 一种二维片上网络的拓扑结构以及路由方法 | |
US10671554B1 (en) | Credit based flow control mechanism for use in multiple link width interconnect systems | |
US10523599B2 (en) | Buffer sizing of a NoC through machine learning | |
CN107959643A (zh) | 一种通过交换芯片构建的交换系统及其路由算法 | |
JP3088430B2 (ja) | 同報通信回路網 | |
US10298485B2 (en) | Systems and methods for NoC construction | |
CN106168940A (zh) | 高密度片上网络的路网实现方法及装置 | |
CN106330702B (zh) | 适用于神经形态计算的多阶混合路由系统及其路由方法 | |
CN109582622A (zh) | 基于三维Mesh片上网络的双链路互连架构 | |
CN104954439B (zh) | 一种云服务器及其节点互联方法、云服务器系统 | |
WO2005086912A2 (en) | Scalable network for computing and data storage management | |
CN107959642A (zh) | 用于测量网络路径的方法、装置和系统 | |
Melen et al. | Nonblocking Networks for Fast Packet Switching. | |
CN103546397A (zh) | 支持乱序的自路由Omega网络结构 | |
CN107276920A (zh) | 一种应用于混合三维片上网络的分布式流控系统及机制 | |
CN107276908A (zh) | 一种路由信息处理方法及分组交换设备 | |
Abd El-Baky | A tree-based algorithm for multicasting in 2D torus networks | |
CN109218218A (zh) | 基于自定义模板的按照带宽分担数据流量的方法及系统 | |
Somisetty et al. | Congestion aware negative first routing with fair arbitration for network on chip | |
CN117135107B (zh) | 一种网络通信拓扑系统、路由方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |