CN114584507A - 基于类脑处理器的数据处理方法、路由器及网络系统 - Google Patents
基于类脑处理器的数据处理方法、路由器及网络系统 Download PDFInfo
- Publication number
- CN114584507A CN114584507A CN202210168391.2A CN202210168391A CN114584507A CN 114584507 A CN114584507 A CN 114584507A CN 202210168391 A CN202210168391 A CN 202210168391A CN 114584507 A CN114584507 A CN 114584507A
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- transmission
- priority
- routing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims abstract description 106
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 210000004556 brain Anatomy 0.000 claims abstract description 15
- 238000005192 partition Methods 0.000 claims description 18
- 230000003044 adaptive effect Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 abstract description 20
- 238000000034 method Methods 0.000 abstract description 11
- 230000007246 mechanism Effects 0.000 abstract description 9
- 230000009467 reduction Effects 0.000 abstract description 3
- 238000013528 artificial neural network Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 7
- 230000007547 defect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 235000003642 hunger Nutrition 0.000 description 3
- 230000037351 starvation Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012421 spiking Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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/16—Multipoint routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17312—Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- 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/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F2015/761—Indexing scheme relating to architectures of general purpose stored programme computers
- G06F2015/765—Cache
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供的基于类脑处理器的数据处理方法、路由器及网络系统,方法包括以下步骤:获取组播路由表,确定组播路由表中的组播路由协议;根据组播路由协议,并通过路由算法确定数据传输路由;获取数据包,根据数据包传输的目标节点,通过优先级仲裁确定数据包的传输优先级;根据数据传输路由的输出地址以及传输优先级输出数据包;方案减少交叉开关端口的数量,降低了路由器的整体面积,并且增加自适应优先级仲裁机制,可以实现链路传输公平,可以作为多核类脑处理器核间通信,满足多核类脑处理器对于核间通信降低包括功耗和面积在内的成本的要求,同时提供低延迟、高带宽等高性能要求,可广泛应用于片上网络技术领域。
Description
技术领域
本发明涉及片上网络技术领域,尤其是基于类脑处理器的数据处理方法、路由器及网络系统。
背景技术
随着第四次人工智能革命的到来,类脑科学与人工智能研究取得了令人瞩目的发展,受到了学术界和产业界的科研人员的高度重视。在平常实际生活当中,人工智能已经广泛应用于科技创新和日常生活的诸多领域。特别是在诸如图像分类、模式识别、和等复杂任务中,类脑处理器表现出了非常优异的性能。起初,大多数类脑处理器设计仅由学术研究机构完成,但是随着研究人员展示出了这些类脑处理器的巨大潜力,产业界也开始重视并投入类脑芯片的研究。
在相关技术中,单芯片上的多核处理器已成为一种趋势,因为光刻半导体制造工艺向7纳米节点及更高节点的突破使得CPU效率更高。今年来,7nm的CPU、GPU或ASIC的器件问世,并广泛应用于众多3C产品中。更进一步的,采用5nm的CPU的产品率先在商用市场上销售。半导体制造工艺的进步使多核类脑处理器成为可能,例如,现有技术生产的某芯片,采用了28nm工艺制造,利用156个神经形态处理核来模拟大约4万个神经元和1千万个突触。因此必须要有一种低成本、高性能的互连网络结构来满足多核类脑处理器海量的数据包高效、快速传输的需求。
但是相关技术中在低功耗嵌入式系统中,复杂的计算需求和硬件资源的可用性之间的鸿沟越来越大,而多核类脑处理器关键点在于减少互连结构的面积及功耗以在芯片上放置更多神经元,同时如何实现高效的海量数据传输。相关技术中,基于多核类脑处理器的通信网络架构存在着下述的缺点或不足,其一,扩展性较差,在同一时刻只能有一个主设备进行数据的传输;其二,随着节点数增加硬件开销成本也成倍增加;其二,现有的通信网络架构涉及复杂,节点面积开销大。
发明内容
有鉴于此,为至少部分解决上述技术问题之一,本发明实施例目的在于提供一种拓展性更强,更低成本且更为便捷的基于类脑处理器的数据处理方法;与此同时,本申请技术方案还提供能够对应实现该方法的路由器以及网络系统。
一方面,本申请技术方案提供了基于类脑处理器的数据处理方法,方法包括以下步骤:
获取组播路由表,确定所述组播路由表中的组播路由协议;
根据所述组播路由协议,并通过路由算法确定数据传输路由;
获取数据包,根据所述数据包传输的目标节点,通过优先级仲裁确定所述数据包的传输优先级;
根据所述数据传输路由的输出地址以及所述传输优先级输出所述数据包。
在本申请方案的一种可行的实施例中,所述路由算法为XY维路由算法;所述根据所述数据传输路由的输出地址以及所述传输优先级输出所述数据包,这一步骤包括:
控制所述数据包沿第一维度移动;
确定所述数据包抵达第一目标维度节点,控制所述数据包沿第二维度移动,直至抵达所述输出地址的第二目标节点。
在本申请方案的一种可行的实施例中,所述获取数据包,根据所述数据包传输的目标节点,通过优先级仲裁确定所述数据包的传输优先级这一步骤包括:
接收所述数据包;
根据所述数据包的传输方向,将所述数据包存入至对应方向的先入先出队列中;
通过所述先入先出队列输出得到所述数据包的地址信息;
根据所述地址信息确定端口请求的数据量;
根据所述数据量,确定所述数据包的传输优先级。
在本申请方案的一种可行的实施例中,所述数据包包括直行数据包以及转向数据包,所述直行数据包的传输优先级大于所述转向数据包的传输优先级;
所述获取数据包,根据所述数据包传输的目标节点,通过优先级仲裁确定所述数据包的传输优先级这一步骤还包括:
获取所述直行数据包以及所述转向数据包;
控制所述直行数据包进行传输,将所述转向数据包缓存至中间缓冲区。
在本申请方案的一种可行的实施例中,所述根据所述组播路由协议,并通过路由算法确定数据传输路由这一步骤包括:
通过所述路由算法构建多播树,所述多播的节点保存节点的状态信息;
根据所述多播树生成所述数据传输路由。
另一方面,本申请技术方案还提供了一种基于类脑处理器的路由器,可以应用于Mesh拓扑结构网络,该路由器包括:
信息获取单元,用于获取数据包,并获取组播路由表,确定所述组播路由表中的组播路由协议;
路由确定单元,用于根据所述组播路由协议,并通过路由算法确定数据传输路由;
自适应仲裁单元,用于根据所述数据包传输的目标节点,通过优先级仲裁确定所述数据包的传输优先级;
数据传输单元,用于根据所述数据传输路由的输出地址以及所述传输优先级输出所述数据包。
在本申请方案的一种可行的实施例中,所述路由器包括:第一路由分区,第二路由分区以及中间缓存区;
所述第一路由分区,用于控制所述数据包在第一维度上的传输,所述第一维度包括本地输入、东方向输入、东方向输出、西方向输入以及西方向输出;
所述第二路由分区,用于控制所述数据包在第二维度上的传输,所述第二维度包括本地输出、南方向输入、南方向输出、北方向输入以及北方向输出;
所述中间缓存区,用于缓存从所述第一路由分区传输至所述第二路由分区的数据包。
在本申请方案的一种可行的实施例中,所述自适应仲裁单元包括端口输出请求计数器和自适应优先级仲裁器;
所述端口输出请求计数器,用于记录每个端口发出的输出请求次数;
所述自适应优先级仲裁器,用于根据各个端口输出请求次数确定端口数据包的传输优先级。
在本申请方案的一种可行的实施例中,所述路由器还包括本地输出端口,
所述本地输出端口用于将所述数据包输出至本地存储空间。
另一方面,本发明的技术方案还提供一种基于类脑处理器的网络系统,所述网络系统包括若干路由节点,所述路由节点包括可执行的程序,以使得所述路由节点运行时执行如第一方面所述的基于类脑处理器的数据处理方法。
本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体实施方式了解得到:
本申请的技术方案首先通过组播路由表确定组播路由协议,进而根据过路由算法确定数据传输路由;通过路由算法确定数据传输路由的过程大大降低了交叉开关端口的数量,有效地降低了路由器的整体面积。然后,方案通过优先级仲裁确定所述数据包的传输优先级,并根据数据传输路由和优先级进行数据包的传输;方案通过增加自适应优先级仲裁机制,可以有效地实现链路传输公平。更进一步地,低成本路由器微架构适合作为多核类脑处理器核间通信方式,满足了多核类脑处理器对于核间通信方式降低包括功耗和面积在内的成本,同时提供低延迟、高带宽等高性能要求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于类脑处理器的数据处理方法的步骤流程图;
图2是本发明实施例中4*4 2D-Mesh拓扑结构的示意图;
图3是本发明实施例中XY维序路由算法流程图;
图4是本发明实施例中自适应优先级仲裁机制的步骤流程图;
图5是本发明实施例中一种基于固定优先级传输机制的传输示意图;
图6是本发明实施例中另一种基于固定优先级传输机制的传输示意图;
图7是本发明实施例中片上网络多播通信示意图;
图8是本发明实施例中路由器的维度分区结构示意图;
图9是本发明实施例中自适应仲裁单元的结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
需要在先说明的是,脉冲神经网络(Spiking Neural Network,SNN)是第三代人工神经网络,相对于第一代和第二代人工神经网络而言,在信息传递和处理过程中更加符合生物神经系统实际情况,具有更高的生物可解释性。脉冲神经网络的事件驱动特性和稀疏性等优点使得它相比于传统的人工神经网络能够大幅减少硬件开销和能源消耗。虽然脉冲神经网络模型具有的非常稀疏的通信模式,但随着SNN规模的增加,同时受限于硬件资源,将所有的神经元完整地映射到单个神经形态核上是不可行的。因此SNN网络需要被分割并映射在多个神经形态核上。
对于物联网、边缘计算等要求高性能、低功耗来满足实时性和便捷性的新兴技术领域来说,脉冲神经网络这种神经形态计算系统具有广泛的应用前景。而多核类脑处理器关键点在于减少互连结构的面积及功耗以在芯片上放置更多神经元,同时如何实现高效的海量数据传输。核间通信的效率成为影响多核处理器性能的重要指标。
相关技术中,目前主要有三种通信网络架构:总线系统结构、交叉开关网络和片上网络NoC。总线结构设计比较简单、硬件开销相对很小,缺点总线上永远只能有一个设备进行数据,其他设备只能等待上一个设备通信结束才可以开始传输数据,同时随着设备增多,总线的带宽却不能相应地增加;交叉开关非常适用于大容量系统,具有高带宽和较低的传输延迟的优点,缺点是面积和功耗开销随着节点数成指数增加,扩展性非常不佳;因此片上网络正在快速取代总线和交叉开关。NoC片上网络优点是低延迟、高带宽、低功耗,可以支持全局异步局部同步的通信模式,缺点是设计复杂,节点面积开销大。因此常规NoC片上网络对于多核类脑处理器而言,面临的挑战是降低包括功耗和面积在内的成本,同时提供低延迟、高带宽等高性能要求。
针对前述背景技术中所指出的相关技术中所存在的不足和缺陷,并且基于类脑芯片的研究成果和脉冲神经网络的理论基础;一方面,如图1所示,本申请的实施例提供了基于类脑处理器的数据处理方法,方法包括步骤S100-S400:
S100、获取组播路由表,确定组播路由表中的组播路由协议;
具体在实施例中,以片上网络的多播方案为例,实施例中所采用的是查找路由表的方法;其中,路由表是存储在路由器或者通信网络架构中的电子表格、文件或类数据库。路由表存储着指向特定网络地址的路径,在一些实施例中,还记录有路径的路由度量值。路由表中含有网络周边的拓扑信息;路由表建立的主要目标是为了实现路由协议和静态路由选择。示例性地,实施例在搭建实施例的通信网络架构过程中,可以根据控制协议配置信息来进行配置多播表里面的内容;在实施例通过路由算法确定数据传输路由之前,可以将数据包的包类型、包目地址、包源地址输入到路由表里面去,路由表通过查表从而给出输出地址;同时根据路由表中对应的输出地址的通信协议,确定传输该数据包所采用的通信协议。
S200、根据组播路由协议,并通过路由算法确定数据传输路由;
具体在实施例中,通过预设的路由算法确定对某一特定数据包的数据传输路由,即传播路径。在实施例中,所采用的路由算法为XY维路由算法,进而,实施例中的步骤S200可以进一步包括步骤S210和S220:
S210、控制数据包沿第一维度移动;
S220、确定数据包抵达第一目标维度节点,控制数据包沿第二维度移动,直至抵达输出地址的第二目标节点。
具体在实施例中,采用的路由算法是在如图2所示的片上网络中,使用的XY维序路由算法(dimension-order routing,DOR)。其中,第一维度可以指X维度,第二维度可以指Y维度,示例性的,在实施例中,X维度可以为路由器东西方向的输入输出;Y维度可以为路由器南北方向的输入输出。需要说明的是,在实施例中,客户端与服务器之间进行的流量数据交换即为南北方向上的流量数据,不同服务器至将或者不同数据中心之间进行的流量数据交换即为东西方向上的流量数据。XY维序路由算法非常简单并且可以避免死锁现象,同时也是确定性路由算法。任何数据包从节点A传输到节点B都是通过同一条确定的路径。如图3所示,在XY维序路由算法中都是首先控制数据包沿着X维度移动,直到数据包抵达与目的节点相同的X维度数值处,然后再沿着Y维度移动,XY维序路由算法流程图。Y维序路由算法意味着南北两个方向上输入的数据包不会经过路由器转向东西方向输出。因此实施例中也可以将路由器分为X路由和Y路由。
S300、获取数据包,根据数据包传输的目标节点,通过优先级仲裁确定数据包的传输优先级;
具体在实施例中,由于脉冲神经元之间大量存在某几个神经元相互通信非常频繁的现象,如果采用现有技术的路由器等级通道传输机制,对于脉冲神经元之间复杂的通信模式来说非常容易引起链路失衡问题,也就是链路饥饿问题。在链路饥饿的情况下,高等级传输通道数据包持续传输时,低等级传输通道的脉冲数据包只能一直等待,这样非常容易造成脉冲数据包的传输延时变大,进而影响整个脉冲神经网络的整体性能。如图4所示,因此实施例在步骤S200的基础上,在两个三端口的交叉开关处增加自适应优先级仲裁机制,基于高频优先的原则的自适应优先级仲裁。同时结合XY路由算法,可以有效地避免链路传输失衡,同时减少高频传输脉冲数据包的通信延迟。
在一些可以选择的实施例中,实施例方法的步骤S300可以包括步骤S310-S350:
S310、接收数据包;
S320、根据数据包的传输方向,将数据包存入至对应方向的先入先出队列中;
S330、通过先入先出队列输出得到数据包的地址信息;
S340、端口输出请求计数器根据地址信息记录端口输出请求的数据量;
S350、根据数据量计算,确定数据包的传输优先级。
具体在实施例中,以脉冲数据包传输方式为例,首先当脉冲数据包通过本地输入的方式到达某个节点时,脉冲数据包先暂存在各个方向的FIFO(First Input FirstOutput,先入先出队列)之中,然后端口输出请求计数器记录各个方向FIFO中数据包发出的输出请求,接着只要某个端口输出请求次数首先达到预先设置的阈值时,则该端口的数据包优先从交叉开关输出。
在一些可能的实施例中,可能会出现两个或者三个端口的脉冲数据包优先级相同的情形,则按照固定优先级的方式发送数据包。在这类实施例中,所传输的数据包可以包括直行数据包以及转向数据包,并且直行数据包的传输优先级大于转向数据包的传输优先级。
进而,实施例中获取数据包,根据数据包传输的目标节点,通过优先级仲裁确定数据包的传输优先级这一步骤S300还可以包括步骤S360-S370:
S360、获取直行数据包以及转向数据包;
S370、控制直行数据包进行传输,将转向数据包缓存至中间缓冲区;
具体在实施例中,对于其他四个两端口交叉开关,由于端口数量不多,不容易产生饥饿现象,依然采用传统的固定优先级仲裁机制。即到达节点的传输数据包不发生维度上的偏转,其优先级大于维度发生偏转的数据包。如图5所示,在3*3Mesh网络中两个分别在X维度和Y维度直行的数据包需要经过同一个节点为“11”的路由器时,由于实施例所采用类似公路上的立交桥设计,两个数据包无需停顿,可以不受其他数据包的影响到达目的节点。网络中同样可以接近理想的延迟,如图6所示,当一个需要转换维度到达目的节点的数据包和一个直行的数据包在节点为“11”的路由器处产生拥塞时。直行的数据包优先级比转向数据包高,因此直行数据包优先通行,而转向数据包暂时缓存在中间缓冲区中,直到输出通道可用时输出。
S400、根据数据传输路由的输出地址以及传输优先级输出数据包;
具体在实施例中,在通过步骤S200以及步骤S300确定了数据传输路由以及传输的优先级之后,将数据包进行输出。可以理解的是,在实施例中,数据输出的方向至少包括了东西方向上的输出,即将数据包输出其他的服务器或者是数据中心;南北方向上的输出,即将数据包输出至其他客户端或者服务器;又或者,直接将数据包输出至本地进行相应的存储。
具体在一些可以选择的实施例中,根据组播路由协议,并通过路由算法确定数据传输路由这一步骤S200,还可以包括步骤S230-S240:
S230、通过路由算法构建多播树,多播的节点保存节点的状态信息;
S240、根据多播树生成数据传输路由。
具体在实施例中,由于要求多播服务的业务对带宽和实时性要求较高,涉及用户较多,占用的资源也多,因此有必要优化多播路由。多播路由算法就是要寻求最优多播树,理想有效的路由算法将设计一棵仅覆盖多播组成员的树,并体现如下特征:树随着组成员变化动态更新;最小化节点需要保存的状态信息量;避免链路和节点的流量集中;并进一步根据费用函数优化路由。
示例性地,如图7所示,在实施例中,根据分析脉冲神经网络算法流量传输的特点,在脉冲神经网络中存在需要大量重复传输的脉冲数据包,将每个相同的数据包发送到不同的地址。如果用单播的方式来实现多播,那么会很大程度上增加网络的延迟,最终导致网络延迟增大和吞吐量降低。因此针对于脉冲神经网络的片上网络路由器就需要增加多播功能,可以非常有效地增加网络的传输效率,在增加不是很多的流量的情况下,提高吞吐量。
另一方面,本申请的技术方案还提供了针对类脑处理器优化的低成本、高效的NoC片上网络路由器微架构;在常规的片上网络中,缓冲区的FIFO占用了整个路由器绝大多数资源开销,同时交叉开关占用了路由器一半以上的面积,因此实施例的重点在于通过优化设计,在不降低路由器整体性能的同时减少FIFO数量和交叉开关的端口数。该路由器的主要包括:信息获取单元,用于获取数据包,并获取组播路由表,确定组播路由表中的组播路由协议;
路由确定单元,用于根据组播路由协议,并通过路由算法确定数据传输路由;
自适应仲裁单元,用于根据数据包传输的目标节点,通过优先级仲裁确定数据包的传输优先级;
数据传输单元,用于根据数据传输路由的输出地址以及传输优先级输出数据包。
在一些可以选择的实施例中,如图8所示,该路由器架构还包括第一路由分区,第二路由分区以及中间缓存区。
其中,第一路由分区,用于控制数据包在第一维度上的传输,第一维度包括本地输入、东方向输入、东方向输出、西方向输入以及西方向输出;第二路由分区,用于控制数据包在第二维度上的传输;并且,第二维度包括本地输出、南方向输入、南方向输出、北方向输入以及北方向输出;中间缓存区,用于缓存从第一路由分区传输至第二路由分区的数据包。
具体在实施例中,通过路由器维度分区,可以大大降低片上网络路由器微架构设计复杂度。其次交叉开关的面积与端口数的平方成正比关系。在方案的低成本路由器中,将常规路由器中交叉开关的端口数从4个减少到2和3个。同时设置中间缓冲区,减少东、西、南、北、本地五个端口的FIFO深度,在降低整体FIFO数量的同时还能提升路由器的性能。有效的减少了路由器整体的资源开销和能源消耗。
在一些可以选择的实施例中,如图所示,自适应仲裁单元包括端口输出请求计数器和自适应优先级仲裁器。
其中,端口输出请求计数器,用于记录每个端口发出的输出请求次数;自适应优先级仲裁器,用于根据各个端口输出请求次数确定端口数据包的传输优先级。
具体在实施例中,如图9所示,路由器中整个自适应优先级仲裁机制由端口输出请求计数器、自适应优先级仲裁器组成。首先当脉冲数据包到达某个节点时,脉冲数据包先暂存在各个方向的FIFO之中,然后端口输出请求计数器记录各个方向FIFO中数据包发出的输出请求,接着只要某个端口输出请求次数首先达到预先设置的阈值时,则该端口的数据包优先从交叉开关输出。当两个或者三个端口的脉冲数据包请求次数恰好相同时,则按照固定优先级的方式输出数据包。
在一些可以选择的实施例中,路由器还包括本地输出端口,本地输出端口用于将数据包输出至本地存储空间。
具体在实施例中,路由器可以通过该本地输出端口直接将数据包输出至本地进行相应的存储。
第三方面,本申请的技术方案还提供一种基于类脑处理器的网络系统,网络系统包括若干路由节点,路由节点包括可执行的程序,以使得路由节点运行时执行如第一方面的基于类脑处理器的数据处理方法。
本发明实施例还可以提供了一种存储介质内存储有程序,程序被处理器执行,实现上述基于类脑处理器的数据处理方法。
从上述具体的实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以下优点或优势:
1)本申请技术方案所提出的低成本路由器微架构首先对路由器进行XY维度分区,分成X路由器和Y路由器,大大降低了交叉开关端口的数量,有效地降低了路由器的整体面积。然后通过设置中间缓冲区,同时减少各个输入端口FIFO的深度,提高了网络的吞吐量和降低了网络的延迟和功耗。并且低成本路由器微架构与常规路由器微架构对比而言整体设计复杂度降低了很多。针对脉冲神经网络数据包流量特点,在两个三端口交叉开关处增加自适应优先级仲裁机制,可以有效地实现链路传输公平。同时为路由器增加多播功能,可以使得网络的性能大大提升。
2)本申请技术方案所提供的低成本路由器微架构适合作为多核类脑处理器核间通信方式。满足了多核类脑处理器对于核间通信方式降低包括功耗和面积在内的成本,同时提供低延迟、高带宽等高性能要求。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.基于类脑处理器的数据处理方法,其特征在于,包括以下步骤:
获取组播路由表,确定所述组播路由表中的组播路由协议;
根据所述组播路由协议,并通过路由算法确定数据传输路由;
获取数据包,根据所述数据包传输的目标节点,通过优先级仲裁确定所述数据包的传输优先级;
根据所述数据传输路由的输出地址以及所述传输优先级输出所述数据包。
2.根据权利要求1所述的基于类脑处理器的数据处理方法,其特征在于,所述路由算法为XY维路由算法;所述根据所述数据传输路由的输出地址以及所述传输优先级输出所述数据包,这一步骤包括:
控制所述数据包沿第一维度移动;
确定所述数据包抵达第一目标维度节点,控制所述数据包沿第二维度移动,直至抵达所述输出地址的第二目标节点。
3.根据权利要求1所述的基于类脑处理器的数据处理方法,其特征在于,所述获取数据包,根据所述数据包传输的目标节点,通过优先级仲裁确定所述数据包的传输优先级这一步骤包括:
接收所述数据包;
根据所述数据包的传输方向,将所述数据包存入至对应方向的先入先出队列中;
通过所述先入先出队列输出得到所述数据包的地址信息;
根据所述地址信息由端口输出计数器记录端口输出请求的数据量;
根据所述数据量,由自适应优先级仲裁器确定所述数据包的传输优先级。
4.根据权利要求3所述的基于类脑处理器的数据处理方法,其特征在于,所述数据包包括直行数据包以及转向数据包,所述直行数据包的传输优先级大于所述转向数据包的传输优先级;
所述获取数据包,根据所述数据包传输的目标节点,通过优先级仲裁确定所述数据包的传输优先级这一步骤还包括:
获取所述直行数据包以及所述转向数据包;
控制所述直行数据包进行传输,将所述转向数据包缓存至中间缓冲区。
5.根据权利要求1所述的基于类脑处理器的数据处理方法,其特征在于,所述根据所述组播路由协议,并通过路由算法确定数据传输路由这一步骤还包括:
通过所述路由算法构建多播树,所述多播的节点保存节点的状态信息;
根据所述多播树生成所述数据传输路由。
6.一种基于类脑处理器的路由器,应用于Mesh拓扑结构网络,其特征在于,包括:
信息获取单元,用于获取数据包,并获取组播路由表,确定所述组播路由表中的组播路由协议;
路由确定单元,用于根据所述组播路由协议,并通过路由算法确定数据传输路由;
自适应仲裁单元,用于根据所述数据包传输的目标节点,通过优先级仲裁确定所述数据包的传输优先级;
数据传输单元,用于根据所述数据传输路由的输出地址以及所述传输优先级输出所述数据包。
7.根据权利要求6所述的基于类脑处理器的路由器,其特征在于,所述路由器包括:第一路由分区,第二路由分区以及中间缓存区;
所述第一路由分区,用于控制所述数据包在第一维度上的传输,所述第一维度包括本地输入、东方向输入、东方向输出、西方向输入以及西方向输出;
所述第二路由分区,用于控制所述数据包在第二维度上的传输,所述第二维度包括本地输出、南方向输入、南方向输出、北方向输入以及北方向输出;
所述中间缓存区,用于缓存从所述第一路由分区传输至所述第二路由分区的数据包。
8.根据权利要求6所述的基于类脑处理器的路由器,其特征在于,所述自适应优先级仲裁单元包括端口输出请求计数器和自适应优先级仲裁器;
所述端口输出请求计数器,用于根据所述数据包的传输方向,将所述数据包存入至对应方向的先入先出队列中,并且通过所述先入先出队列输出得到所述数据包的地址信息,根据所述地址信息确定端口请求的数据量;
所述自适应优先级仲裁器,用于根据所述端口输出请求计数器所记录的数据量确定所述数据包的传输优先级。
9.根据权利要求6-8任一项所述的基于类脑处理器的路由器,其特征在于,所述路由器还包括本地输出端口,
所述本地输出端口用于将所述数据包输出至本地存储空间。
10.一种基于类脑处理器的网络系统,所述网络系统包括若干路由节点,其特征在于,所述路由节点包括可执行的程序,以使得所述路由节点运行时执行如权利要求1-5中任一项所述的基于类脑处理器的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210168391.2A CN114584507B (zh) | 2022-02-23 | 2022-02-23 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210168391.2A CN114584507B (zh) | 2022-02-23 | 2022-02-23 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114584507A true CN114584507A (zh) | 2022-06-03 |
CN114584507B CN114584507B (zh) | 2023-07-04 |
Family
ID=81773311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210168391.2A Active CN114584507B (zh) | 2022-02-23 | 2022-02-23 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584507B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222511A (zh) * | 2008-01-25 | 2008-07-16 | 北京交通大学 | 一种向量数据通信网上实现多播路由的方法 |
CN101808032A (zh) * | 2010-03-04 | 2010-08-18 | 南京大学 | 面向静态XY路由算法的二维网格NoC路由器优化设计方法 |
US8050256B1 (en) * | 2008-07-08 | 2011-11-01 | Tilera Corporation | Configuring routing in mesh networks |
CN104320341A (zh) * | 2014-10-23 | 2015-01-28 | 东北大学 | 路由自适应异步2D-Torus片上网络及其设计方法 |
WO2016112854A1 (zh) * | 2015-01-14 | 2016-07-21 | 华为技术有限公司 | 确定信息的传输路径的方法和节点 |
CN106302163A (zh) * | 2016-09-30 | 2017-01-04 | 南京航空航天大学 | 一种具有多种工作模式的片上网络路由器及路由方法 |
CN110620731A (zh) * | 2019-09-12 | 2019-12-27 | 中山大学 | 一种片上网络的路由装置及路由方法 |
CN111245730A (zh) * | 2020-01-15 | 2020-06-05 | 中山大学 | 一种片上网络的路由系统及通信方法 |
CN112468392A (zh) * | 2020-10-21 | 2021-03-09 | 中山大学 | 一种处理多播流量死锁问题的片上网络及方法 |
CN112468401A (zh) * | 2020-11-26 | 2021-03-09 | 中国人民解放军国防科技大学 | 用于类脑处理器的片上网络路由通信方法及片上网络 |
-
2022
- 2022-02-23 CN CN202210168391.2A patent/CN114584507B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222511A (zh) * | 2008-01-25 | 2008-07-16 | 北京交通大学 | 一种向量数据通信网上实现多播路由的方法 |
US8050256B1 (en) * | 2008-07-08 | 2011-11-01 | Tilera Corporation | Configuring routing in mesh networks |
CN101808032A (zh) * | 2010-03-04 | 2010-08-18 | 南京大学 | 面向静态XY路由算法的二维网格NoC路由器优化设计方法 |
CN104320341A (zh) * | 2014-10-23 | 2015-01-28 | 东北大学 | 路由自适应异步2D-Torus片上网络及其设计方法 |
WO2016112854A1 (zh) * | 2015-01-14 | 2016-07-21 | 华为技术有限公司 | 确定信息的传输路径的方法和节点 |
CN106302163A (zh) * | 2016-09-30 | 2017-01-04 | 南京航空航天大学 | 一种具有多种工作模式的片上网络路由器及路由方法 |
CN110620731A (zh) * | 2019-09-12 | 2019-12-27 | 中山大学 | 一种片上网络的路由装置及路由方法 |
CN111245730A (zh) * | 2020-01-15 | 2020-06-05 | 中山大学 | 一种片上网络的路由系统及通信方法 |
CN112468392A (zh) * | 2020-10-21 | 2021-03-09 | 中山大学 | 一种处理多播流量死锁问题的片上网络及方法 |
CN112468401A (zh) * | 2020-11-26 | 2021-03-09 | 中国人民解放军国防科技大学 | 用于类脑处理器的片上网络路由通信方法及片上网络 |
Non-Patent Citations (1)
Title |
---|
冯杰;荆明娥;虞志益;: "基于双层片上网络的路由算法", 计算机工程, no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN114584507B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jerger et al. | On-chip networks | |
Abdallah et al. | Basic network-on-chip interconnection for future gigascale MCSoCs applications: Communication and computation orthogonalization | |
CN109302357B (zh) | 一种面向深度学习可重构处理器的片上互联结构 | |
Pande et al. | High-throughput switch-based interconnect for future SoCs | |
Hojabr et al. | Customizing clos network-on-chip for neural networks | |
Ebrahimi et al. | Fuzzy-based adaptive routing algorithm for networks-on-chip | |
JP2021507386A (ja) | ニューラルネットワーク処理のための共用メモリの集中型−分散型混合構成 | |
Ausavarungnirun et al. | A case for hierarchical rings with deflection routing: An energy-efficient on-chip communication substrate | |
Feng et al. | In-network aggregation for data center networks: A survey | |
Sun et al. | DCBuf: a high-performance wireless network-on-chip architecture with distributed wireless interconnects and centralized buffer sharing | |
CN105718393A (zh) | 用于网络接口芯片的寄存器多源访问调度方法及装置 | |
CN114584507B (zh) | 基于类脑处理器的数据处理方法、路由器及网络系统 | |
Cota et al. | NoC basics | |
CN116757251A (zh) | 一种存算一体智能计算架构中的部分和动态融合方法 | |
CN101021830A (zh) | 一种流处理器中多核扩展的方法 | |
JP4128447B2 (ja) | 並列演算及び並列メモリーアクセスのためのスケーラブルなインターコネクト構造 | |
CN117716676A (zh) | 用于芯片上及封包上的网络中的多维拓扑的路由器架构 | |
Huang et al. | Accelerating NoC-based MPI primitives via communication architecture customization | |
WO2021219985A1 (en) | On chip router | |
Chen et al. | Express virtual channels with taps (EVC-T): A flow control technique for network-on-chip (NoC) in manycore systems | |
Salah et al. | Design of a 2d mesh-torus router for network on chip | |
Yin et al. | Polyform: A Versatile Architecture for Multi-DNN Execution via Spatial and Temporal Acceleration | |
CN115550235B (zh) | 面向神经网络平台的单周期路由器 | |
Alimi et al. | Network-on-Chip Topologies: Potentials, Technical Challenges, Recent Advances and Research Direction | |
Conti | Simulation Environment for Mixed AHB-NoC Architectures |
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 |