作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2022, Vol. 48 ›› Issue (3): 189-196. doi: 10.19678/j.issn.1000-3428.0060937

• 体系结构与软件技术 • 上一篇    下一篇

基于SNN神经元重分布的NEST仿真器性能优化

刘家航1, 郁龚健1, 李佩琦1, 华夏1, 柴志雷1,2, 陈闻杰3   

  1. 1. 江南大学 人工智能与计算机学院, 江苏无锡 214122;
    2. 江苏省模式识别与计算智能工程实验室, 江苏 无锡 214122;
    3. 华东师范大学 软硬件协同设计技术与应用教育部工程研究中心, 上海 200062
  • 收稿日期:2021-02-25 修回日期:2021-04-15 发布日期:2021-05-12
  • 作者简介:刘家航(1996-),男,硕士研究生,主研方向为计算机体系结构、类脑计算;郁龚健、李佩琦、华夏,硕士研究生;柴志雷、陈闻杰,副教授、博士。
  • 基金资助:
    国家自然科学基金“基于工作负载表征的类脑体系结构基准测试模型与自动映射方法研究”(61972180)。

Performance Optimization of NEST Simulator Based on SNN Neuron Relocation

LIU Jiahang1, YU Gongjian1, LI Peiqi1, HUA Xia1, CHAI Zhilei1,2, CHEN Wenjie3   

  1. 1. School of Artifical Intelligence and Computer Science, Jiangnan University, Wuxi, Jiangsu 214122, China;
    2. Jiangsu Provincial Engineering Laboratory of Pattern Recognition and Computational Intelligence, Wuxi, Jiangsu 214122, China;
    3. MoE Engineering Research Center for Software/Hardware Co-design Technology, East China Normal University, Shanghai 200062, China
  • Received:2021-02-25 Revised:2021-04-15 Published:2021-05-12

摘要: 为满足大规模脉冲神经网络(SNN)的计算需求,类脑计算系统通常需要采用大规模并行计算平台。然而随着节点数量的增多,通信在仿真中所占比例大幅增加,导致计算效率下降。类脑模拟器开源软件NEST采用缓冲区大小相等的策略,有效缩短了通信时间,但是由于缓冲区互相无交流,使得通信数据量持续增加,因此其在能耗方面表现较差。分析NEST集群的负载特性,针对其中的通信问题进行稀疏性优化,提出基于SNN子图跨节点优化的神经元重分布算法ReLOC。通过优化SNN子图的跨节点分布减少每一轮神经元到进程的数量,从而减少跨节点脉冲,使进程间通信更加稀疏,达到缩减每一轮通信进程的目的。在此基础上,以稀疏交换的思想对NEST本身的通信机制进行改进,使有脉冲交换的进程进行数据交换,从而在连接稀疏的情况下提升通信效率。以包含28个Xilinx PYNQ节点的计算集群作为实验平台,运行皮质微电路SNN模型和平衡随机网络模型,验证ReLOC算法的有效性。实验结果表明,相比循环分布算法,重分布算法能够使通信的平均稀疏性提高20%,同时配合稀疏交换最多可使通信能耗减少98.63%。

关键词: 脉冲神经网络, 神经元重分布, PYNQ集群, NEST仿真器, 稀疏交换

Abstract: To meet the computational requirements of large-scale Spiking Neural Network(SNN), brain like computing systems generally require large-scale parallel computing platforms.However, the proportion of communication steps required to conduct a simulation increases greatly with increasing numbers of nodes, resulting in reduced computational efficiency.Open-source brain like simulation software NEST uses the strategy of equal buffer size, which considerably reduces the required communication time.However, due to the lack of communication between buffers, the amount of communication data continues to increase.Therefore, the performance of such methods is poor in terms of energy consumption.To solve this problem, this paper analyzes the load characteristics of a NEST cluster and carries out a sparsity optimization of the communication system.Furthermore, it proposes a neuron relocation algorithm called ReLOC based on SNN subgraph cross-node optimization.Optimizing the cross-node distribution of the SNN subgraph reduces the number of neurons to be processed in each round.This reduces the cross node pulse, increases the sparsity of the inter-process communication, and reduces the length of each round of the communication process.On this basis, the communication mechanism of NEST is improved based on the idea of sparse exchange, enabling the process to exchange data via a pulse exchange mechanism and improving communication efficiency under conditions of sparse connection.Using a computing cluster containing 28 Xilinx PYNQ nodes as an experimental platform, this paper implements a cortical microcircuit SNN model and a balanced random network model to verify the effectiveness of the proposed ReLOC algorithm.Experimental results show that ReLOC algorithm can improve the average communication sparsity by 20%, and reduce communication energy consumption by up to 98.63%.

Key words: Spiking Neural Network(SNN), neuron relocation, PYNQ cluster, NEST simulator, sparse exchange

中图分类号: