title: Optimizing NEURON Simulation Environment Using Remote Memory Access with Recursive Doubling on Distributed Memory Systems.
abstract: Increase in complexity of neuronal network models escalated the efforts to make NEURON simulation environment efficient. The computational neuroscientists divided the equations into subnets amongst multiple processors for achieving better hardware performance. On parallel machines for neuronal networks, interprocessor spikes exchange consumes large section of overall simulation time. In NEURON for communication between processors Message Passing Interface (MPI) is used. MPI_Allgather collective is exercised for spikes exchange after each interval across distributed memory systems. The increase in number of processors though results in achieving concurrency and better performance but it inversely affects MPI_Allgather which increases communication time between processors. This necessitates improving communication methodology to decrease the spikes exchange time over distributed memory systems. This work has improved MPI_Allgather method using Remote Memory Access (RMA) by moving two-sided communication to one-sided communication, and use of recursive doubling mechanism facilitates achieving efficient communication between the processors in precise steps. This approach enhanced communication concurrency and has improved overall runtime making NEURON more efficient for simulation of large neuronal network models.
authors.affiliation: Computer Engineering Department, Kadir Has University, 34083 Istanbul, Turkey.
authors.forename: Danish
authors.identifier: 0000-0002-2883-3368
authors.initials: D
authors.lastname: Shehzad
authors.affiliation: Computer Engineering Department, Kadir Has University, 34083 Istanbul, Turkey.
authors.forename: Zeki
authors.initials: Z
authors.lastname: Bozkuş
mesh_terms: D000465:Algorithms; D003195:Computer Communication Networks; D003198:Computer Simulation; D006801:Humans; D057567:Memory, Long-Term / Q000502:physiology*; D008959:Models, Neurological; D016571:Neural Networks, Computer; D009474:Neurons / Q000502:physiology*