首页 / 专利库 / 电脑零配件 / 计算机系统 / 一种类脑计算机中脉冲数据包高效传输方法

一种类脑计算机中脉冲数据包高效传输方法

阅读:396发布:2020-05-08

专利汇可以提供一种类脑计算机中脉冲数据包高效传输方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种类脑计算机中脉冲数据包高效传输方法,基于类脑 计算机系统 ,采用集群组播脉冲数据包,以集群为单位的连接模式进行数据传输。类脑计算机系统的设计就是模拟神经元在大脑中的实时反映,利用多核系统平台模拟脉冲神经网络中神经元的映射关系,本发明更能切合大脑神经元实际的工作情况。另外,采用的集群组播脉冲数据包,其每一部分存储的基本信息以及所占的比特大小,包括控制位信息,均是针对类脑计算机系统的 节点 来设置的。最后,完整的给出一套编码方案,如何实现基于集群组播脉冲数据包的编码,不仅实现灵活多变的脉冲数据包编码,而且减少了路由表中路由条目的数量。,下面是一种类脑计算机中脉冲数据包高效传输方法专利的具体信息内容。

1.一种类脑计算机中脉冲数据包高效传输方法,其特征在于,其基于类脑计算机系统,采用集群组播脉冲数据包,以集群为单位的连接模式进行数据传输;在同一个集群内的神经元共享到目的集群的路径;每个集群的神经元有自己独特的电位信息,集群间的脉冲传递负责相应的特定功能;
所述集群通过将同类神经元聚集在一起而得到。
2.根据权利要求1所述的一种类脑计算机中脉冲数据包高效传输方法,其特征在于,所述类脑计算机系统由服务器主机和类脑计算机主板构成;而类脑计算机主板由六个计算节点组成,分别为第一、二、三、四、五、六计算节点,计算节点和类脑计算机主板之间采用SATA接口通信。
3.根据权利要求2所述的一种类脑计算机中脉冲数据包高效传输方法,其特征在于,所述计算节点包括八个CPU以及路由系统;而路由系统由FPGA和CAM组成,CPU与FGPA之间采用RGMII通信接口连接。
4.根据权利要求3所述的一种类脑计算机中脉冲数据包高效传输方法,其特征在于,所述集群组播脉冲数据包包括五部分;
第一部分:用来确定节点位置信息,为了达到类脑计算机百万核心的部署目标,设置
15bits的大小,最多可支持32767个运算节点,超过200百万个ARM核的搭建;
第二部分:用来确定节点下CPU的位置,已知一个计算节点拥有八个CPU,3bits大小可完整表示每个CPU对应的ID;
第三部分:用来确定ARM核的位置,可知一个CPU下集成八个核,同样设置3bits大小可完整表示核ID的位置信息;
第四部分:一共11bits的大小,其再细分成两部分,分别对应集群ID和神经元ID;由于每个节点内设置的集群数量以及每个集群的规模各不相同,该11bits信息位的分配是动态变化的;
第五部分:设置8bits的控制字节,包括用来判断数据包的类型、时间戳、有效载荷指示符、默认路由、错误检测信息。
5.根据权利要求4所述的一种类脑计算机中脉冲数据包高效传输方法,其特征在于,所述第四部分,即11bits信息位通过以下步骤进行编码:
1)确定核内设置的集群数量和相应每个集群包含的神经元数量,对每个集群内的神经元数量从大到小进行排序;
2)根据排序后的结果,计算出每个集群中对应神经元ID所需的比特位;假设一个集群内有62个神经元,对应神经元ID的编码最少占6bits,得到集群ID的编码占5bits;
3)依次获取对应集群ID和神经元ID的编码比特位后,其中规模最大的集群ID的编码从
0开始,之后按集群的规模的从大到小进行编码,集群ID依次加1;假设一个核内设置四个集群,分别对应的集群编码位数是4,4,5,5,则它们的集群ID编码分别为0000,0001,00100,
00101;
4)神经元ID的编码范围对应该集群下神经元的数量,使得集群内的每个神经元确定唯一的编码。

说明书全文

一种类脑计算机中脉冲数据包高效传输方法

技术领域

[0001] 本发明涉及数据传输的技术领域,尤其涉及到一种类脑计算机中脉冲数据包高效传输方法。

背景技术

[0002] 脉冲神经网络是第三代的新型人工网络模型,它模拟人脑神经元的工作原理,当神经元电位超出响应阈值时发生脉冲事件,产生的脉冲信息传递给与之相连的神经元。相关文献中对脉冲神经网络的研究大多基于网络框架本身,如研究新的神经元模型、新的网络学习机制、新的脉冲序列编码方式等。而人脑是一个复杂的神经系统模型,任何被设计用来模拟人脑神经元的工作必需支持海量的脉冲数据通信。可想而知,基于脉冲神经网络的类脑计算机相关项目的开展,设计一个高效的数据包传输方案是十分重要的环节。
[0003] 在文献1(Overview of the SpiNNaker System Architecture)中,设计了两种脉冲数据包的基本格式和传输方法,分别是点对点的脉冲数据包和组播脉冲数据包。在类脑计算机中,点对点通信实现网内特定两个神经元之间的数据传递,因此需要设计固定的通信链路。类似于传统局域网中路由寻址过程,每个数据包需要携带源节点地址和目的节点地址,点对点数据包通过路由表匹配获取对应的输出端口。
[0004] 文献1中点对点脉冲数据包的基本格式,前半部分存的是该数据包对应的源节点的地址信息,后半部分存放的是目的节点的地址信息。组播数据包是一种基于源地址事件表示的AER寻址方式,即脉冲数据包只携带源地址的相关信息。组播传输实现点对多点的网络连接,如果一个神经元同时给多个神经元传输相同的数据,只需复制一份相同的数据包。其中数据包的基本格式中,第一部分用来确定节点位置信息,第二部分用来确定ARM核的位置,第三部分用来确定每个核模拟的神经元的位置。
[0005] 在文献1中点对点通信是在节点与节点之间设计一个专用链路,完成数据的传输。而脉冲神经网络需要完成神经元的实时激发与响应,神经元间的互连与通信十分密集。假设全部像类似收发邮件,游览网页时采用的单播通信方式,这样的处理方式效率就很难满足系统的需求。组播通信实现仅仅对特定目标群体传送特定数据的目的,一个神经元的脉冲激发可能需要发送给多个目的神经元,采用组播的脉冲数据传输的方式,位于同一个组播组内的神经元通过复制和转发的方式收发数据包,神经元之间的一对一组的对应模式,相比于单播和广播,不仅提高了数据的传输效率,也避免了网络资源的浪费。
[0006] 但是在文献1脉冲数据包的设计方案中,并没有考虑大脑中神经元的真实情况,因为神经元是大脑神经系统结构的基本单位,然而单独或者几个独立的神经元是不可能完成复杂的功能实现,只有当大量同类神经元聚集在一起,形成一个集群共同去完成特定的目标才能发挥出整体的作用,每个集群间相互的合作共同完成了生物体的感知和意识等行为。所以文献1中没有涉及到集群的概念,每条神经元的脉冲数据包需要单独的进行寻址,造成资源的浪费。

发明内容

[0007] 本发明的目的在于克服现有技术的不足,提供一种能切合大脑神经元实际的工作情况的类脑计算机中脉冲数据包高效传输方法。
[0008] 为实现上述目的,本发明所提供的技术方案为:
[0009] 一种类脑计算机中脉冲数据包高效传输方法,其基于类脑计算机系统,采用集群组播脉冲数据包,以集群为单位的连接模式进行数据传输;在同一个集群内的神经元共享到目的集群的路径;每个集群的神经元有自己独特的电位信息,集群间的脉冲传递负责相应的特定功能;
[0010] 所述集群通过将同类神经元聚集在一起而得到。
[0011] 进一步地,所述类脑计算机系统由服务器主机和类脑计算机主板构成;而类脑计算机主板由六个计算节点组成,分别为第一、二、三、四、五、六计算节点,计算节点和类脑计算机主板之间采用SATA接口通信。
[0012] 进一步地,所述计算节点包括八个CPU以及路由系统;而路由系统由FPGA和CAM组成,CPU与FGPA之间采用RGMII通信接口连接。
[0013] 进一步地,所述集群组播脉冲数据包包括五部分;
[0014] 第一部分:用来确定节点位置信息,为了达到类脑计算机百万核心的部署目标,设置15bits的大小,最多可支持32767个运算节点,超过200百万个ARM核的搭建;
[0015] 第二部分:用来确定节点下CPU的位置,已知一个计算节点拥有八个CPU,3bits大小可完整表示每个CPU对应的ID;
[0016] 第三部分:用来确定ARM核的位置,可知一个CPU下集成八个核,同样设置3bits大小可完整表示核ID的位置信息;
[0017] 第四部分:一共11bits的大小,其再细分成两部分,分别对应集群ID和神经元ID;由于每个节点内设置的集群数量以及每个集群的规模各不相同,该11bits信息位的分配是动态变化的;
[0018] 第五部分:设置8bits的控制字节,包括用来判断数据包的类型、时间戳、有效载荷指示符、默认路由、错误检测信息。
[0019] 进一步地,所述第四部分,即11bits信息位通过以下步骤进行编码:
[0020] 1)确定核内设置的集群数量和相应每个集群包含的神经元数量,对每个集群内的神经元数量从大到小进行排序;
[0021] 2)根据排序后的结果,计算出每个集群中对应神经元ID所需的比特位;假设一个集群内有62个神经元,对应神经元ID的编码最少占6bits,得到集群ID的编码占5bits;
[0022] 3)依次获取对应集群ID和神经元ID的编码比特位后,其中规模最大的集群ID的编码从0开始,之后按集群的规模的从大到小进行编码,集群ID依次加1;假设一个核内设置四个集群,分别对应的集群编码位数是4,4,5,5,则它们的集群ID编码分别为0000,0001,00100,00101;
[0023] 4)神经元ID的编码范围对应该集群下神经元的数量,使得集群内的每个神经元确定唯一的编码。
[0024] 与现有技术相比,本方案原理及优点如下:
[0025] 神经元是大脑神经系统结构的基本单位,然而单独或者几个独立的神经元是不可能完成复杂的功能实现,只有当大量同类神经元聚集在一起,形成一个集群共同去完成特定的目标才能发挥出整体的作用,每个集群间相互的合作共同完成了生物体的感知和意识等行为。
[0026] 因此,本方案基于类脑计算机系统,采用集群组播脉冲数据包,以集群为单位的连接模式进行数据传输。
[0027] 类脑计算机系统的设计就是模拟神经元在大脑中的实时反映,利用多核系统平台模拟脉冲神经网络中神经元的映射关系,更能切合大脑神经元实际的工作情况。
[0028] 另外,采用的集群组播脉冲数据包,其每一部分存储的基本信息以及所占的比特大小,包括控制位信息,均是针对类脑计算机系统的节点来设置的。
[0029] 最后,完整的给出一套编码方案,如何实现基于集群组播脉冲数据包的编码,不仅实现灵活多变的脉冲数据包编码,而且减少了路由表中路由条目的数量。附图说明
[0030] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031] 图1为本发明所采用到的类脑计算机系统的结构示意图;
[0032] 图2为本发明所采用到的类脑计算机系统中计算节点的结构示意图;
[0033] 图3为集群组播脉冲数据包的格式示意图。

具体实施方式

[0034] 下面结合具体实施例对本发明作进一步说明:
[0035] 一种类脑计算机中脉冲数据包高效传输方法,其基于类脑计算机系统,采用集群组播脉冲数据包,以集群为单位的连接模式进行数据传输;在同一个集群内的神经元共享到目的集群的路径;每个集群的神经元有自己独特的电位信息,集群间的脉冲传递负责相应的特定功能。(集群通过将同类神经元聚集在一起而得到)
[0036] 更具体地解释如下:
[0037] 人脑的功能和结构是最为精密和复杂的系统之一,而类脑计算机系统是通过神经元构成的大规模脉冲神经网络活动来实现的。通过设计超大规模脉冲实时通信网络模型,借助大规模的CPU集群模拟神经元,在CPU集群中,每条线程将映射对应的神经元,成千上万的线程(神经元)有序运行构成完整的大规模神经网络,这就是类脑计算机系统基本的工作原理。
[0038] 而本实施例所述的类脑计算机系统如图1所示,其由服务器主机和类脑计算机主板构成;服务器主机负责与用户交互、控制并下发任务给类脑计算机主板。类脑计算机主板则负责负载均衡、任务执行等工作,并将执行情况返回给服务器主机。大量的计算机主板存放在计算机机柜中,并相互联通构成一个超大规模类脑计算机系统。
[0039] 进一步地,类脑计算机主板由六个计算节点组成,分别为第一、二、三、四、五、六计算节点,计算节点和类脑计算机主板之间采用SATA接口通信。
[0040] 更进一步地,如图2所示,计算节点包括八个CPU(CPU的核上绑定有用于模拟神经元的线程)以及路由系统;而路由系统由FPGA和CAM组成,CPU与FGPA之间采用RGMII通信接口连接。(其中,八个CPU组成一个CPU集群,每个CPU内集成八个ARM核,FPGA实现路由功能,使用CAM存储路由表信息)
[0041] 本实施例基于类脑计算机系统,可以模仿大脑的工作原理,根据神经元集群的工作方式完成特定的目标输出,使得本实施例能更加切合大脑神经元实际的工作情况。
[0042] 下面对集群组播脉冲数据包进行解释:
[0043] 集群组播脉冲数据包是一种基于源地址事件表示的AER寻址方式,即集群组播脉冲数据包只携带源地址的相关信息。组播传输实现点对多点的网络连接,如果一个神经元同时给多个神经元传输相同的数据,只需复制一份相同的数据包。组播传输提高了数据传输的效率,减少了网络出现拥塞的可能。
[0044] 如图3所示,本实施例采用到的集群组播脉冲数据包是根据类脑计算机系统中的计算节点的结构而设计的,包括以下这五部分:
[0045] 第一部分:用来确定节点位置信息,为了达到类脑计算机百万核心的部署目标,设置15bits的大小,最多可支持32767个运算节点,超过200百万个ARM核的搭建;
[0046] 第二部分:用来确定节点下CPU的位置,已知一个计算节点拥有八个CPU,3bits大小可完整表示每个CPU对应的ID;
[0047] 第三部分:用来确定ARM核的位置,可知一个CPU下集成八个核,同样设置3bits大小可完整表示核ID的位置信息;
[0048] 第四部分:一共11bits的大小,其再细分成两部分,分别对应集群ID和神经元ID;由于每个节点内设置的集群数量以及每个集群的规模各不相同,该11bits信息位的分配是动态变化的,下文将详细介绍如何动态分配这部分的数据信息;
[0049] 第五部分:设置8bits的控制字节,包括用来判断数据包的类型、时间戳、有效载荷指示符、默认路由、错误检测信息。各种错误条件由路由器识别和处理,如数据包奇偶校验错误,传输超时和链路故障等。
[0050] 根据集群组播脉冲数据包的描述,集群ID和神经元ID共享11bits的数据位信息,如何合理分配这11bits的数据信息是个需要解决的问题。在完成脉冲神经网络搭建后,可知神经元集群的映射关系,如果集群的神经元规模很大,所占用的集群ID位就可以相应减少,更多的比特位留给神经元ID使用。反之集群数量很多,而每个集群的规模又很小,就可以分配更多的比特位给集群ID。
[0051] 为了获得每个集群组播脉冲数据包的编码,相应设计了一套针对11bits信息位的编码方案。
[0052] 编码步骤如下:
[0053] 1)确定核内设置的集群数量和相应每个集群包含的神经元数量,对每个集群内的神经元数量从大到小进行排序;
[0054] 2)根据排序后的结果,计算出每个集群中对应神经元ID所需的比特位;假设一个集群内有62个神经元,对应神经元ID的编码最少占6bits,得到集群ID的编码占5bits;
[0055] 3)依次获取对应集群ID和神经元ID的编码比特位后,其中规模最大的集群ID的编码从0开始,之后按集群的规模的从大到小进行编码,集群ID依次加1;假设一个核内设置四个集群,分别对应的集群编码位数是4,4,5,5,则它们的集群ID编码分别为0000,0001,00100,00101;
[0056] 4)神经元ID的编码范围对应该集群下神经元的数量,使得集群内的每个神经元确定唯一的编码。假设集群神经元数量是62,则对应的神经元ID编码的范围从000000~111101。
[0057] 下面使用更复杂的实例说明基于集群组播脉冲数据包的编码问题,假设一个ARM核内有7组神经元集群,对集群规模进行排序,神经元集群A、B、C、D、E、F、G对应的神经元个数分别为120、118、90、61、36、17、9。表1是根据上述步骤依次获得该集群组播数据包的编码。
[0058] 表1集群组播数据包编码实例
[0059]
[0060] 在这种集群组播脉冲数据包的格式中加入集群的寻址方式,相比于传统的神经元间的寻址,同一个集群下的神经元遵循相同的寻址路径,因此路由表不需要对每个神经元构建单独的路由条目,只需要对集群设立统一的寻址输出端口。集群组播脉冲数据包在没有增加数据包大小的情况下,不仅减少了路由表中路由条目的数量,而且缩短了路由寻址的时间。
[0061] 以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈