文摘

提高神经网络模型的复杂性升级使神经元模拟环境有效的努力。计算神经学家方程分为子网在多个处理器实现更好的硬件性能。并行计算机上对神经元网络,处理机之间交换消耗很大部分的整体模拟峰值时间。在神经元之间的通信处理器使用消息传递接口(MPI)。MPI_Allgather集体行使峰值交换每次间隔跨分布式内存系统。的处理器数量的增加虽然结果实现并发性和更好的性能,但反向影响MPI_Allgather增加处理器之间的通信时间。这需要改善沟通方法降低峰值交换时间分布式内存系统。这项工作提高了MPI_Allgather方法使用远程内存访问(RMA)通过移动双向通信片面的沟通,和使用递归加倍机制有利于实现高效精确的步骤处理器之间的通信。这种方法增强沟通并发性和改善了整体运行时使神经元更有效率大型神经元网络模型的模拟。

1。介绍

大脑复杂的计算行为需要开发大型神经计算模型。大量的数据集成模型工作在仿真工具来研究关于大脑计算处理的信息。这使神经科学家实际上观察计算行为类似于大脑和开展实验以及波动过程模拟的环境。结果更好的理解大脑功能可以达到和疾病如癫痫、帕金森病等可以诊断和治愈。有广泛的模拟器开发模拟神经元的行为。巢,NEOSIM、分裂和神经元很少在实践中重要的模拟器今天1- - - - - -5]。各种模拟环境的优点是每个模拟器有广泛的力量,但这混杂有助于更好的发展和大型神经元模型模拟过程的理解。不同的模拟环境的有价值的方面是它的各式各样的性质和广泛的优势使更好地理解计算神经网络的行为。这种多样性也导致提高计算的模拟环境功能展开的小说在整体角度计算和仿真技术。有益的一个关键特性是,快速而有效的体系结构可以通过计算机的帮助下,这些计算仿真环境和神经元模型。这些有能力提供并行、快速、高效的处理。

神经元已成为广泛采用模拟神经元模型构建和分析的工具,使用它们来解决多方面的神经计算(6]。神经元的性能模拟器可以增加支持并行环境的有效利用机器。在大量的处理器处理机间交换消费总额的比例大模拟峰值时间。MPI_Allgather方法用于神经元对合并后的峰值交换单元方程最小峰值之间特定的时间初始化和释放。MPI_Allgather MPI的特性基于第一收集每个处理器的双边交流和分享在所有其他处理器通信世界。这就要求发送方和接收方参与沟通过程中明确和需要额外的同步过程。MPI_Allgather采用神经元网络集体交流,因此使用MPI_Allgather处理器收集峰值从每个处理器和广播到所有节点的MPI沟通世界。计算这个限制测试是在两个网络模型,Parscalebush和Parbulbnet7,8),通过增加数量的处理器和修改数量的细胞和tstop。交流时间相对增加随着处理器的数量。这些模型从ModelDB存储库下载(http://senselab.med.yale.edu/从Netmod)和使用并行模型9]。在这个工作远程内存访问(RMA)单边通信与递归实现翻番和测试实现更好的性能,从而减少神经元的通信开销。

本文的组织结构如下:我们在部分开始讨论相关工作2。虽然部分3提供背景知识的神经元,MPI和递归翻倍,在部分4并行模拟神经元有助于理解需要优化。基于递归的实现细节和神经元优化使用RMA翻倍是合理的5以及实验结果6。最后一节讨论我们的结论和未来的工作。

许多研究例证,分发网络体系结构在多个处理器的快速处理数据的功能。例如,脚手架功能的神经元并行扩展模拟和性能可以通过测试模型(9]。至于大型spike-coupled的模拟神经网络而言它们利用并行模型有效的模拟在大型计算集群10]。许多模拟环境有能力供应所需的功能包括巢(11],pGENESIS [12],分裂[13],nc [1),和C2 (14]。这些仿真环境给各种优势提高仿真速度的处理器数量增加;通信的速率是有限的,直到每个处理器没什么工作要做。处理机间峰值交换是最重要的一个因素要考虑并行网络模拟器。

一个标准的消息传递接口(MPI)是最广泛采用的模拟器和功能使用非阻塞点对点消息传递效用。神经元选择基本分布法,函数分布峰值在所有处理器(9]。“Allgather”技术通常使用MPI Allgather和不规则MPI Allgatherv当有发送额外的峰值不适合固定大小的缓冲区MPI_Allgather [7]。未来的主要目标是获得一个基线评估与更高级的点对点的路由方法。例如,在巢中发现Allgather给改进的性能在96 -核心集群使用InfiniBand交换机相比,完成两两交换算法(15,16]。的计算性能改进神经元并行体系结构上的模拟器可以增强使用gpgpu大规模并行计算。GPU模拟器,可以超越CPU是由Scorcioni[20倍17]。大规模神经模拟器内存限制大集群阐述了在18]。

NBC库中的非阻塞集体调用的扩展开发,提出了在mpi - 2.1 (19]。它提供了非阻塞集体行动的MPI两面的点对点通信。非阻塞集体虽然是mpi - 3.0的一个组成部分,但在神经元实现mpi - 3.0仍然是不可用的。远程内存访问可以片面的双边交流沟通,从而允许同步开销减少(20.]。社区集体提出的建议(21]。蓝色基因/ P DCMF,主动提出了消息传递库(22为MPI集体优化组件),集体提出了消息接口(23]。MPI_Allgather方法的使用增加了沟通时间和处理器数量的增加。

3所示。背景

3.1。神经元的模拟环境

神经元是一个功能强大的仿真环境进行实验模型的神经元或神经元网络(24]。它是一个工具,构建、管理和运动生理上现实的神经元模型。神经元从单一CPU扩展到多个CPU支持复杂的仿真计算模型。它可以运行并行模拟小型集群10 - 50处理器与成千上万的大型蓝色基因超级计算机处理器(9]。通信神经元产生峰值,通常发送成千上万的其他神经元和接收从成千上万的神经元。神经元细胞来源和他们的目标通常不是在相同的处理器;全球标识符来处理这种细胞每个处理器分配和主机之间的消息传递以适当的权重和延迟。多个处理器使用MPI_Allgather集体沟通方法之间交换峰值处理器(9]。

3.2。MPI

在多处理环境下处理器同时执行多个任务或相同的任务分配到多个处理器实现足够的并发性。消息传递接口用于在分布式系统并行处理器运行的进程之间的通信。MPI是一个应用程序编程接口铭文的消息传递并行程序的功能覆盖底层系统架构的细节。MPI实现为图书馆,因为它可以方便程序能够运行类似的程序在并行处理器和经历了增强在不同版本25- - - - - -27]。可以点对点通信使用MPI也可以是集体沟通(28]。MPI的基本方法有多个进程在分布式内存系统上使用消息传递通信。项目的数量总是不断在程序的执行。调试一个MPI程序是困难的程序不能被区分为模块。负载平衡和协作通信也限制在MPI。它有自己的编程结构和初始化后与MPI_Init任务分配处理器的沟通世界与MPI_Finalize并行执行完成后。

3.3。MPI双边交流

MPI双边沟通给语义所暗示的保证标准及其实现各种实际的限制。MPI在双向通信的通信模式是基于两个细分MPI_Send MPI_Recv。MPI_Send例程用于发送消息从源到目的地过程和MPI_Recv例程获得目标进程发送的消息源过程如图1。当处理器同步通过信封确认匹配,数据必须在沟通过程中保持不变。程序的效率可以通过限制影响同步的双向沟通。相应的模式发送/ Recv和信息收集范围选择硬件消息排序内存是私人和发送者必须等待,直到接收方准备接收。还需要支持在收件人的管理消息大小模糊性和消息两端同步导致缓冲区分配或内存注册相应的限制。MPI_Send MPI_Recv也限制了通信处理器,除非完成数据传输。有两个主要的通信机制,首先点对点发送方和接收方参与明确和MPI集体通信用于优化通信在广域分布式环境29日,30.]。不同集体沟通电话如MPI_Gather MPI_Allgather, MPI_Reduce用于多个进程间的通信。

3.4。MPI片面的沟通

所有进程的MPI通讯在MPI进行单边通信框架的一个窗口。远程内存访问与双面同步的通信将数据传输系统。窗口是基于编译时定义的元素的概念邻近区域窗口,每个进程的内存。片面的通信可以用于发送和接收数据,一个进程可以直接访问另一个进程的内存地址空间而不干预其他进程。每个处理器声明一个特定区域的内存供MPI_Win_Create远程访问。使用mpi 3标准是基于三种类型的单边通信功能:MPI_Put MPI_Get, MPI_Accumulate。发送数据从源到目的地在远程窗口是通过使用MPI_Put操作(31日]。另一方面MPI_Get用于读取数据从远程主机的窗口,如图2。MPI_Accumulate结合从起源到目标的数据,因此成为适用通过使用MPI减少运营商限制数据到缓冲区中。通信功能的存在发生在框架的主动目标同步时间或被动目标同步(32]。所有通信进程阻塞,不涉及其他处理器同步完成沟通,不要在沟通过程中块两端。

3.5。递归算法加倍

递归算法最初被开发来解决加倍三对角线性系统的大小 在并行计算机 处理器使用 并行运算的步骤(33]。递归加倍机制可以用于集体之间的通信 处理器只需要 数量的步骤。在每个步骤处理器与其他处理器和通信处理器之间的距离增加2的幂和大小的消息在每个到来的前一步一步双打相比。最初的数据交换是由距离1的过程除了对方。之后,距离2分开的进程共享数据收到前一步和自己的数据,如图3。因此数据处理器之间的通信是在有限的步骤以高效的方式完成的。

4所示。在神经元并行仿真

MPI的集体沟通解决在所有进程的参与通信集团被称为通信世界。进程的同步是强制性的;这意味着所有通信组的过程达到同步,这样他们就可以继续执行。交流峰值神经元是由MPI_Allgather集体过程基于双边的沟通习惯。MPI_Allgather只是一个包装上面MPI_Gather MPI_Bcast,深度,是另一个覆盖在MPI_Send和MPI_Recv发送和接收消息的通信组。

集体交流是发送和接收数据的过程中所有的处理器MPI沟通世界。处理器MPI_Allgather沟通者的世界收集的数据从其他进程和分发自己的数据在通信集团。在神经元MPI_Allgather用于每个指定的时间间隔后处理器之间的通信。仿真模型的总运行时减少当处理器的数量增加。

另一方面MPI_Allgather处理器之间的通信时间不断增加,因此成为瓶颈时搬到大机器;即使沟通时间可能超过模拟大型神经网络模型计算时间。限制2-32处理器被描述在表1。实验在Parscalebush模型,而越来越多的处理器和保持tstop恒定(5000 ms)分析限制,如图4

5。该方法

集体交流是重要的和处理器之间的通信采用神经元,但双边交流使用MPI_Allgather使实现优化成为可能。MPI_Allgather增强RMA_Allgather片面的通信使用递归一倍有效峰值处理器之间的交换。片面的沟通只需要一个处理器进行交流沟通,从而确保发送方和接收方都不彼此有界在整个通信过程中,使有效的沟通。减少步骤的数量效率峰值交换递归加倍机制实施步骤的数量减少交换,从而确保消息交换 步骤, 的处理器数量。本文是基于有限的处理器版本的递归算法翻倍的多个处理器之间的多方面的共享使用时间间隔进行片面的沟通。下面是RMA_Allgather的算法和目标实现和测试在神经元的计算。

在每一步计算目标的每个处理器为适当的沟通打下基础。在第一步中每个处理器与其他处理器相隔距离1和双打如图步骤增加了他们的距离5。算法1确保适当的目标计算,因为它是必要的,因为在每一步的目标取决于处理器ID和步骤。

输入:第一步,处理器
输出:目标
开始
国旗=排名/ ( (步骤−1))
如果国旗是偶数
如果IsPowerOfTwo(步骤)
目标 等级+ (2 (步骤−1))
其他的
diff 一步−前两个等级的力量
如果差异是正数
目标 等级+ (2 (diff +前两个−1)的力量)
其他的
目标 等级+ 2 (前两个的力量)
其他的
如果IsPowerOfTwo(步骤)
目标 排名−( (步骤−1))
其他的
diff 一步−前两个等级的力量
如果差异是正的
目标 排名−( (diff +前两个−1)的力量)
其他的
(前两个的力量)
返回目标值
结束

采用递归倍增算法解决并行机器上的通信瓶颈 处理器在 并行运算步骤。为了让其他处理器写远程处理器公开其内存和RMA使处理器访问数据和通信,而无需其他处理器通信过程的一部分。这使得处理器并发地执行沟通过程。

RMA_Allgather代替MPI_Allgather进行,从而将数据通信系统同步。非阻塞方法,允许进程并发没有等待其他处理器同步交流。整个过程完成后有效 步骤, 的处理器数量。算法2也启发的计算精确源地址信息沟通这是必要的消息传达的大小增加在每个步骤中,第一步后,每个处理器都有发送自己的数据以及峰值信息在之前的步骤。起源和合适的目标计算后,MPI_Win_Fence用于同步每一步的处理器,每个处理器使用写作MPI_Put峰值数据窗口的远程过程;这减少了额外的直接的缓冲和双同步开销需要双边交流。因此,两者的结合RMA和递归一倍时应用结果优化模拟神经元的神经网络模型。

输入参数:sendbuf,统计,数据类型,MPI_Comm_World
输出参数:Recv_buf
开始:
初始化局部变量目标位移,一步,起源
计算步骤的数量=
如果第一步
得到规模和proc_id沟通
初始化recv_bufer
根据recv_bufer创建窗口
计算origin_addr作为
Origin_Addr ))
计算目标根据步骤和id(算法 1)
MPI栅栏(同步)
从起源到目标MPI_Put值
下一个
结束

6。实验结果

本节将展示的影响提出RMA_Allgather方法通过几个实验完成后实现算法的神经元在4-node惠普BL460c Kadir也有大学集群放置。SMP集群有2×2.66 GHz Intel至强四核cpu和RAM 24 GB, 8个处理内核每个节点运行Linux 2.6.18与20 Gbps InfiniBand。执行试验5次获得每个结果和结果的平均5运行如表所示23

两个出版的神经网络模型进行仿真试验,Parscalebush和Parbulbnet7,8),表现出不同的峰值模式以及实施RMA_Allgather递归翻了一番机制。检查结果性能的实现模型,他们研究了在不同的环境。Parbulbnet模型的计算结果与不同数量的处理器和细胞在细胞的数量保持不变;见表2。对于Parscalebush tstop和数字处理器的不同tstop保持不变时获得的比较结果和分析的效率提出技术;见表3

观察到随着逐渐增加在单处理器上的处理器子网大小的数量变得越来越小,MPI_Allgather变成大量的处理器上的通信开销的来源。RMA_Allgather当应用于神经元提供了更好的结果比现有的通信机制。表23描述,提出技术几乎是10%的效率比现有MPI_Allgather采用神经元模拟环境,从而减少沟通时间(数据67),改善神经元的整体效率。

7所示。结论

加速从并行大神经元网络模型发现近的处理器数量成正比,但峰值交换时间被发现反向影响运行时随着越来越多的处理器。本文优化方法RMA_Allgather使用递归一倍是申请交换的神经元模拟峰值,降低峰值交换时间近10%相比现有MPI_Allgather方法。RMA促进利用直接存储器存取数据的远程处理器和减少了同步开销而递归加倍限制整个沟通的步骤,因此受益神经元的性能模拟大型神经元网络模型。在未来我们计划改善远程直接内存访问神经元通过交换只更新后的峰值来优化通信过程。

相互竞争的利益

作者宣称没有利益冲突。

确认

丹麦Shehzad和泽克Bozkuş土耳其是由科学技术研究委员会(图;114 e046)。