论文部分内容阅读
摘要:当前对类脑计算机的设计热火朝天,针对脉冲神经网络去模拟计算机遇到的实际问题。基于多核片上系统(SoC),本文提出了一种二维(2D)环形三角互连的路由网络模型,包括基于事件触发神经元状态的实时更新,以及基于管线式事件驱动的脉冲处理。仿真的结果证实,该脉冲神经网络模拟的多核系统采用这种的互连网络的模型,每毫秒能处理超两万个突触事件,系统性能大大的提高。
关键词: 类脑计算机;多核系统;互连网络
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2019)06-0165-02
1 引言
当今类脑计算机的出现,这种仿生物系统的设计就是模拟神经元在大脑中的实时反映,致力于做出一个这样的仿真平台更进一步的探究人脑架构,故出现了脉冲神经网络。而脉冲神经网络中当一个神经元被激活会发送一系列的脉冲事件,而脉冲事件会相应发送给所有相连的神经元[1]。我们利用多核系统平台模拟这些神经元,于是通信网络的搭建和互连成了该系统实际性能影响的关键。
故本文针对多核SoC系统提出了二维(2D)环形三角互连的路由网络模型。通过软件仿真神经元,依赖设计好定制在芯片的多播路由器的网络模型,脉冲产生的数据包传播通过片内和片间通信结构进行传输。通过真实的实验数据结果,该方案对系统性能大大提升,而且降低了系统功耗,同样在在延迟和吞吐率上都有很大改观,在对类脑计算机的研究和发展有很大的意义。
2 类脑计算机的系统架构总体概述
2.1 类脑计算机小规模系统结构图
为了模拟生物系统的高连通性,如图1是该平台小规模计算机系统结构图,其中包括FPGA管理模块,CAM模块,多路ROM和RAM模块,支持高效的多播,高带宽,低延迟的通信。通信基础设施核心是芯片上的路由器,同时可以无缝扩展芯片间的连接。
2.2 路由组播通信系统
每个芯片都包含一个片间和片内的路由器通信。路由器是SoC的核心并占据着它约占芯片总面积的20%。它的主要作用是指导每个神经事件包日发送到那些与之连接的神经元。考虑到最终计算机面积的限制,基于2D网状的传统的SoC的结构是不可行的,因为他们占据的面积太大[2]。图2是路由的通信系统,路由内核使用ARM内核和六个端口进行通信有六个相邻芯片。所有端口都是全双工的,并实现自定时协议。路由器内的组织是分层的,路由器能够转发单个数据包,它的工作速度比传输端口快。
3 类脑计算机互连路由网络的设计
3.1 路由间组播数据包的传输协议的设计
路由器采用的是组播数据包类型。组播数据包的传输格式如图3所示[3]。控制字节包含一个分组类型的比特位,有效载荷指示符,错误检测,紧急路由,时间标记符。包括出现的各种错误可以由路由器识别并且处理。
本设计采用源地址寻址[4],每个路由表可包含232个源地址。首先与数据包的源地址与路由表中的源地址进行匹配。匹配结果成功的话,就立马找到相应的转发端口。我们有6个端口号,设计了从a到f的编号代表6各端口,共有26种端口发送的组合。当其中一个端口号的编码位为被设置为1的时候,数据就从该口发出。编码为0的时候与之相反。如图4所示,代表一次数据包的发送编码,和最后的发出位置。如果传输的包没有找到源地址,那该包会传输到对角。
3.2每个节点间的路由空间
构建两个表,第一个表存储发射脉冲的神经元ID、目的地址入口、目的地址数量。第二个表存储各个神经元对应的目的地址,从某一个位置开始,连续地存储某个神经元所对应的目的神经元的ID。然后通过查找第一个表,得到发射脉冲的神经元的目的地址的入口和数量,再查找第二个表,得到具体的目的地址。
设计互连网络的时候,路由间的节点空间的距离对网络数据包的传输与接收的延迟有一些影响[5]。本次设计的拓扑结构是相对垂直对称的,拓扑中的路由空间都是大致一样的是一组大致的六边形。如图5的描述的拓扑节点的空间为例,六边形表示距离为1、2、3和4的节点。两个三角形的节点距离为5。一般来说,最大网络距离是跳数需要到达任意两个最小三角形中的节点。于是由图就可以计算出每个节点间的传输的距离[6],便于对于数据包传输过程中的延迟的研究。
3.3 性能测试
在搭建好类脑计算机上搭建脉冲神经网络后,对其进行了性能测试。得到了一系列测试数据。包括传输速率达到5.6Mbps,计算机系统功耗为230W,每个神经元每秒可以发送80个110bits的数据包,而且其中所需的总带宽为430Mbps。相比于其他的高性能计算机所有的性能指标都有很大的提高。
4 结论
本文研究的互连网络,是在多核SoC大规模并行系统平台下模拟高达十亿次的神经元工作模式[7],所以处理的数据量巨大,故冗余计算和数据通信成为关键。最终设计出了使用2D环形三角网状模型进行互连。神经元在软件中建模,它们的脉冲产生包通过片内和片间通信结构传播依靠专门设计的片上多播路由器。通过实验的结果,证明了该模型是一个高度稳定的网络模型。对于未来对脉冲神经的研究,以及类脑计算的开发具有重要的意义。
参考文献:
[1] K Asanovic. A supercomputer for neural computation. In Proc. Intl. Conf. on Neural Networks (ICNN94),1994.
[2] Markram H, Muller E, Ramaswamy S, et al. Reconstruction and Simulation of Neocortical Microcircuitry[J]. Cell, 2015, 163(2):456-492.
[3] 徐彦, 杨静. 脉冲神经元序列学习方法的影响因素研究[J]. 计算机工程, 2015, 41(11):194-201.
[4] JM. Camara et al. "Mixed-radix Twisted Torus Interconnection Networks". Proc. 21st IEEE International Parallel
关键词: 类脑计算机;多核系统;互连网络
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2019)06-0165-02
1 引言
当今类脑计算机的出现,这种仿生物系统的设计就是模拟神经元在大脑中的实时反映,致力于做出一个这样的仿真平台更进一步的探究人脑架构,故出现了脉冲神经网络。而脉冲神经网络中当一个神经元被激活会发送一系列的脉冲事件,而脉冲事件会相应发送给所有相连的神经元[1]。我们利用多核系统平台模拟这些神经元,于是通信网络的搭建和互连成了该系统实际性能影响的关键。
故本文针对多核SoC系统提出了二维(2D)环形三角互连的路由网络模型。通过软件仿真神经元,依赖设计好定制在芯片的多播路由器的网络模型,脉冲产生的数据包传播通过片内和片间通信结构进行传输。通过真实的实验数据结果,该方案对系统性能大大提升,而且降低了系统功耗,同样在在延迟和吞吐率上都有很大改观,在对类脑计算机的研究和发展有很大的意义。
2 类脑计算机的系统架构总体概述
2.1 类脑计算机小规模系统结构图
为了模拟生物系统的高连通性,如图1是该平台小规模计算机系统结构图,其中包括FPGA管理模块,CAM模块,多路ROM和RAM模块,支持高效的多播,高带宽,低延迟的通信。通信基础设施核心是芯片上的路由器,同时可以无缝扩展芯片间的连接。
2.2 路由组播通信系统
每个芯片都包含一个片间和片内的路由器通信。路由器是SoC的核心并占据着它约占芯片总面积的20%。它的主要作用是指导每个神经事件包日发送到那些与之连接的神经元。考虑到最终计算机面积的限制,基于2D网状的传统的SoC的结构是不可行的,因为他们占据的面积太大[2]。图2是路由的通信系统,路由内核使用ARM内核和六个端口进行通信有六个相邻芯片。所有端口都是全双工的,并实现自定时协议。路由器内的组织是分层的,路由器能够转发单个数据包,它的工作速度比传输端口快。
3 类脑计算机互连路由网络的设计
3.1 路由间组播数据包的传输协议的设计
路由器采用的是组播数据包类型。组播数据包的传输格式如图3所示[3]。控制字节包含一个分组类型的比特位,有效载荷指示符,错误检测,紧急路由,时间标记符。包括出现的各种错误可以由路由器识别并且处理。
本设计采用源地址寻址[4],每个路由表可包含232个源地址。首先与数据包的源地址与路由表中的源地址进行匹配。匹配结果成功的话,就立马找到相应的转发端口。我们有6个端口号,设计了从a到f的编号代表6各端口,共有26种端口发送的组合。当其中一个端口号的编码位为被设置为1的时候,数据就从该口发出。编码为0的时候与之相反。如图4所示,代表一次数据包的发送编码,和最后的发出位置。如果传输的包没有找到源地址,那该包会传输到对角。
3.2每个节点间的路由空间
构建两个表,第一个表存储发射脉冲的神经元ID、目的地址入口、目的地址数量。第二个表存储各个神经元对应的目的地址,从某一个位置开始,连续地存储某个神经元所对应的目的神经元的ID。然后通过查找第一个表,得到发射脉冲的神经元的目的地址的入口和数量,再查找第二个表,得到具体的目的地址。
设计互连网络的时候,路由间的节点空间的距离对网络数据包的传输与接收的延迟有一些影响[5]。本次设计的拓扑结构是相对垂直对称的,拓扑中的路由空间都是大致一样的是一组大致的六边形。如图5的描述的拓扑节点的空间为例,六边形表示距离为1、2、3和4的节点。两个三角形的节点距离为5。一般来说,最大网络距离是跳数需要到达任意两个最小三角形中的节点。于是由图就可以计算出每个节点间的传输的距离[6],便于对于数据包传输过程中的延迟的研究。
3.3 性能测试
在搭建好类脑计算机上搭建脉冲神经网络后,对其进行了性能测试。得到了一系列测试数据。包括传输速率达到5.6Mbps,计算机系统功耗为230W,每个神经元每秒可以发送80个110bits的数据包,而且其中所需的总带宽为430Mbps。相比于其他的高性能计算机所有的性能指标都有很大的提高。
4 结论
本文研究的互连网络,是在多核SoC大规模并行系统平台下模拟高达十亿次的神经元工作模式[7],所以处理的数据量巨大,故冗余计算和数据通信成为关键。最终设计出了使用2D环形三角网状模型进行互连。神经元在软件中建模,它们的脉冲产生包通过片内和片间通信结构传播依靠专门设计的片上多播路由器。通过实验的结果,证明了该模型是一个高度稳定的网络模型。对于未来对脉冲神经的研究,以及类脑计算的开发具有重要的意义。
参考文献:
[1] K Asanovic. A supercomputer for neural computation. In Proc. Intl. Conf. on Neural Networks (ICNN94),1994.
[2] Markram H, Muller E, Ramaswamy S, et al. Reconstruction and Simulation of Neocortical Microcircuitry[J]. Cell, 2015, 163(2):456-492.
[3] 徐彦, 杨静. 脉冲神经元序列学习方法的影响因素研究[J]. 计算机工程, 2015, 41(11):194-201.
[4] JM. Camara et al. "Mixed-radix Twisted Torus Interconnection Networks". Proc. 21st IEEE International Parallel