Efficient Dynamic Analysis of Neuronal Network Simulation Code

Efficient Dynamic Analysis of Neuronal Network Simulation Code

TECHNOLOGY REPORT published: 28 June 2017 doi: 10.3389/fninf.2017.00040 The NEST Dry-Run Mode: Efficient Dynamic Analysis of Neuronal Network Simulation Code Susanne Kunkel 1, 2*† and Wolfram Schenck 1, 3*† 1 Simulation Laboratory Neuroscience, Bernstein Facility for Simulation and Database Technology, Institute for Advanced Simulation, Jülich Aachen Research Alliance, Forschungszentrum Jülich, Jülich, Germany, 2 Department of Computational Science and Technology, School of Computer Science and Communication, KTH Royal Institute of Technology, Stockholm, Sweden, 3 Faculty of Engineering and Mathematics, Bielefeld University of Applied Sciences, Bielefeld, Germany NEST is a simulator for spiking neuronal networks that commits to a general purpose approach: It allows for high flexibility in the design of network models, and its applications range from small-scale simulations on laptops to brain-scale simulations on supercomputers. Hence, developers need to test their code for various use cases and ensure that changes to code do not impair scalability. However, running a full set of benchmarks on a supercomputer takes up precious compute-time resources and can entail long queuing times. Here, we present the NEST dry-run mode, which enables Edited by: comprehensive dynamic code analysis without requiring access to high-performance Andrew P. Davison, Centre National de la Recherche computing facilities. A dry-run simulation is carried out by a single process, which Scientifique (CNRS), France performs all simulation steps except communication as if it was part of a parallel Reviewed by: environment with many processes. We show that measurements of memory usage and Benjamin Cumming, Swiss National Supercomputing runtime of neuronal network simulations closely match the corresponding dry-run data. Centre (CSCS), Switzerland Furthermore, we demonstrate the successful application of the dry-run mode in the areas Marc De Kamps, of profiling and performance modeling. University of Leeds, United Kingdom Robert Andrew McDougal, Keywords: profiling, performance analysis, memory footprint, high-performance computing, supercomputer, Yale University, United States large-scale simulation, spiking neuronal networks *Correspondence: Wolfram Schenck [email protected] 1. INTRODUCTION Susanne Kunkel [email protected] The neuronal network simulator NEST (Gewaltig and Diesmann, 2007) has an active and growing †These authors have contributed community of developers and users. Advances in computer hardware on the one hand and the equally to this work. requirements of novel computational models on the other hand push the development of new simulation technology and have made NEST a tool for a broad spectrum of applications. It enables Received: 22 December 2016 simulations of spiking neuronal networks that differ greatly in size and complexity, and depending Accepted: 07 June 2017 on the requirements of the models researchers can run the simulations on their laptops or they can Published: 28 June 2017 make use of high-performance computing (HPC) facilities. Citation: A simulation with NEST consists of two main phases. During the build phase (or setup phase) Kunkel S and Schenck W (2017) The NEST creates neuron and synapse objects and the data structures to access these objects. Afterwards NEST Dry-Run Mode: Efficient Dynamic Analysis of Neuronal the actual simulation phase starts, in which the main simulation loop is repeated iteratively. Each Network Simulation Code. iteration comprises the update of synapses and neurons, the exchange of recent spikes between Front. Neuroinform. 11:40. MPI ranks and the delivery of these spikes to their local targets. A description of the fundamental doi: 10.3389/fninf.2017.00040 data structures and the main simulation loop of NEST follows in Section 2.1. Frontiers in Neuroinformatics | www.frontiersin.org 1 June 2017 | Volume 11 | Article 40 Kunkel and Schenck The NEST Dry-Run Mode The software-development framework around NEST is seem questionable given that in dry-run mode most spikes do not becoming ever more comprehensive. A testsuite (Eppler et al., originate from real network dynamics. Hence, in Section 3.1 we 2009b) and continuous integration technology (Zaytsev and compare spiking activity, memory usage, and runtime of dry-run Morrison, 2012) help to ensure code quality; models of memory and real-run simulations for different network sizes and number usage (Kunkel et al., 2012) and runtime (Adinets et al., 2015; of processes. Schenck et al., 2014) enable the structured analysis of existing Within the software-development framework of NEST, the code and the design of new, more scalable data structures and dry-run mode complements the previously developed models of algorithms. However, in order to confirm the model predictions memory usage and runtime as it is an economical way to obtain and to check for errors that occur only in the supercomputing a realistic performance estimate of a distributed simulation. regime, NEST developers still need to carry out actual simulations Kunkel et al. (2012) used a preliminary version of the dry-run on supercomputers that may employ hundred thousands of mode to verify the predictions of the memory-usage model and MPI processes. Running such tests and benchmarks takes up in Helias et al. (2012) and Kunkel et al. (2014) the network sizes compute-time resources and slows down the code-development for the maximum-filling benchmarks were determined using process due to long queuing times. the preliminary dry-run mode, which saved a lot of time and In this manuscript, we present a method, where only one MPI HPC resources. Dry-run simulations are also compatible with process carries out its part of a distributed simulation with NEST. established profiling tools (see e.g., Schenck et al., 2014) because it In the build phase, the process sets up all local data structures as is one and the same NEST binary which is used for conventional if it took part in a parallel simulation with many processes, and in NEST operation and for dry runs. Besides, because the dry-run the simulation phase, it creates fake spikes to represent input from mode only requires a single compute node, developers can debug other MPI ranks. We refer to this method as the dry-run mode of their NEST code for different regimes of number of processes NEST and to the actual distributed neuronal network simulation without requiring access to HPC facilities—a single workstation that corresponds to a specific dry run as real run. Furthermore, is sufficient. Dry-run simulations can also help NEST users to we distinguish between static and dynamic dry-run mode. In the estimate the HPC resources that they need to request for planned static mode, the MPI process creates fake spikes according to a simulations. In order to demonstrate the usefulness of the dry- predefined firing rate while in the dynamic mode the process uses run mode we give several sample use cases in Section 3.2. the spikes of its local neurons to invent the fake remote spikes. In The conceptual and algorithmic work described here is a Section 2.2, we provide details on the implementation of the dry- module in our long-term collaborative project to provide the run mode and also an example script that shows how the mode technology for neural systems simulations (http://www.nest- can be enabled. initiative.org). We devised the dry-run mode as a software- In computer science, the term “dry run” often refers to development method for NEST. However, the concepts that we hardware tests under controlled conditions, but it is also used present here are transferable to other simulators. in the context of software development to refer to the static analysis of an algorithm by mentally evaluating each step. The 2. MATERIALS AND METHODS NEST dry-run mode enables dynamic code analysis and hence differs from the latter definition. A NEST dry run corresponds 2.1. Neuronal Simulator NEST more to a hardware dry run: Simulation code is executed in the NEST is a simulation software for spiking neuronal networks controlled environment of a single MPI process such that failure of single- and few-compartment neuron models (Gewaltig and cannot cause any severe damage as the simulation does not use Diesmann, 2007; Kunkel et al., 2017). The simulator supports a any allocated HPC resources. hybrid parallelization strategy with at least one MPI process per The definition of the term “dry run” is rather vague as compute node and multi-threading based on OpenMP within the concept is rather uncommon. Examples of programs that each process (Eppler et al., 2007; Plesser et al., 2007). Simulations provide a dry-run option are among others the rsync utility with NEST can be controlled through the built-in scripting (Tridgell, 1999) and the GPAW project (Enkovaara et al., 2010). facility SLI or the Python-based user interface PyNEST (Eppler The command-line tool rsync enables file synchronization and et al., 2009a; Zaytsev and Morrison, 2014). transfer; a dry run produces an output of the potential changes, The development of NEST is coordinated by the NEST which the user can check before performing a real run. GPAW Initiative (http://www.nest-initiative.org). NEST is under enables electronic structure calculations; a dry run allows the user the GNU General Public License. It can be cloned or to estimate the memory usage and to inspect the parallelization forked on GitHub (https://github.com/nest/nest-simulator). settings for a given number of MPI processes. In this way, the Documentation, examples, and releases are available on the dry-run mode of GPAW is conceptually similar to the dry-run website of the NEST Simulator (http://www.nest-simulator.org). mode of NEST concerning the build phase. However, we are not NEST creates most of the required data structures during aware of any simulation software which is able to perform a dry the build phase (or setup phase), where each MPI rank operates run of the simulation dynamics.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us