Impact Factor 2.680 | CiteScore 3.57
More on impact ›

Original Research ARTICLE Provisionally accepted The full-text will be published soon. Notify me

Front. Neuroinform. | doi: 10.3389/fninf.2019.00054

Asynchronous Branch-Parallel Simulation of Detailed Neuron Models

 Bruno Magalhaes1, 2, Thomas Sterling3,  Michael Hines4 and  Felix Schürmann1, 2*
  • 1École Polytechnique Fédérale de Lausanne, Switzerland
  • 2Blue Brain Project, Ecole polytechnique fédérale de Lausanne (EPFL), Switzerland
  • 3Indiana University, United States
  • 4Yale Medicine, United States

Simulations of electrical activity of networks of morphologically detailed neuron models allow for a better understanding of the brain. State-of-the-art simulations describe the dynamics of ionic currents and biochemical processes within branching topological representations of the neurons. Acceleration of such simulation is possible in the weak scaling limit by modelling neurons as indivisible computation units and increasing the computing power. Strong scaling and simulations close to biological time are difficult, yet required for the study of synaptic plasticity and other use cases requiring simulation of neurons for long periods of time. Current methods rely on parallel Gaussian elimination, computing triangulation and substitution of many branches simultaneously.
Existing limitations are: (a) high heterogeneity of compute time per neuron leads to high computational load imbalance; and (b) difficulty in providing a computation model that fully utilises the computing resources on distributed multi-core architectures with Single Instruction Multiple Data (SIMD) capabilities.

To address these issues, we present a strategy that extracts flow-dependencies between parameters of the ODEs and the algebraic solver of individual neurons. Based on the resulting dependencies map, we provide three techniques for memory, communication, and computation reorganization that yield a load-balanced distributed asynchronous execution. The new computation model distributes datasets and balances computational workload across a distributed memory space, exposing a tree-based parallelism of neuron topological structure, an embarrassingly parallel execution model of neuron subtrees, and a SIMD acceleration of subtree state updates.

The capabilities of our methods are demonstrated on a prototype implementation developed on the core compute kernel of the NEURON scientific application, built on the HPX runtime system for the ParalleX execution model. Our implementation yields a fully-asynchronous distributed and parallel simulation that accelerates single neuron to medium-sized neural networks. Benchmark results display better strong scaling properties, finer-grained parallelism, and lower time to solution compared to the state of the art, on a wide range of distributed multi-core compute architectures.

Keywords: HPX, NEURON (RRID:SCR_005393), Branch Parallelism, Asynchronous execution, Simulation of neural networks, Detailed neuron model

Received: 02 Apr 2019; Accepted: 05 Jul 2019.

Edited by:

Sharon Crook, Arizona State University, United States

Reviewed by:

Mikael Djurfeldt, Royal Institute of Technology, Sweden
Susanne Kunkel, Norwegian University of Life Sciences, Norway  

Copyright: © 2019 Magalhaes, Sterling, Hines and Schürmann. This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.

* Correspondence: Prof. Felix Schürmann, Blue Brain Project, Ecole polytechnique fédérale de Lausanne (EPFL), Geneva, 1202, Geneva, Switzerland, felix.schuermann@epfl.ch