Architectures for communication between processes and software layers for a simulator for biological neural networks.
Year: 2010
Type: dissertation
Abstract: The simulation of biological neural systems is becoming one of the cornerstones of modern neuroscience. The reason for this is twofold: first, simulations are an important tool to integrate the flood of anatomical and physiological data and check the data for consistency. Second, they allow to tackle questions that are not tractable by experimental or analytical methods. However, the brain of vertebrates is a highly complex structure with up to 10^12 nerve cells, the so-called neurons. Each of these neurons gets input from about 10^4 neurons and produces inputs for about as many. The interaction between neurons, which is mediated through the massive amount of connections (synapses) necessitates specialized simulation programs. NEST is a simulator for biological neural networks, which is optimized for the simulation of large networks of so-called point neurons. It runs on a multitude of architectures from normal desktop computers to super computers with many thousand processors. This work describes four important extensions to NEST: - The algorithm for the control of the simulation has been optimized to support thread-based as well as distributed simulations. The communication has been implemented on top of MPI standard (Message Passing Interface Forum, 1994) and extends the methods that were already presented in Eppler (2006). NEST has been adapted such that neurons can not only communicate with each other within a single process, but also across processes. Thereby the flexibility of NEST could be combined with the performance of the pilot project Paranel (Morrison et al., 2005). - Functions for the communication between the simulation engine, the interpreter and a new user interface as module for the programming language Python have been implemented (PyNEST; Eppler et al., 2009). In contrast to the usual approach, where classes and functions are exposed directly in Python, PyNEST provides a minimal interface to the interpreter of NEST and thereby allows the complete control of it. - In the context of the EU project FACETS we took part in the conception and implementation of a programming interface, which controls multiple simulators (PyNN; Davison et al., 2008) and thereby allows the transfer of simulation specifications to other simulators. This is an important means to allow the reproducibility of simulations and guarantee the independence of models from their implementation. - To couple simulations on different levels of detail, an interface to the MUSIC library (Ekeberg & Djurfeldt, 2008) has been created. Through this NEST can exchange data with other applications at runtime. This is an important step to bridge the gap between different modeling approaches and to allow an efficient work-flow from database access to visualization. After internal tests, the changes above have been transferred into the official release of NEST and made available to the users.
Author: Jochen Martin Eppler
Language: English
Subfield: Cognitive Neuroscience
Field: Neuroscience
Domain: Life Sciences
Open Access status: green
OpenAlex ID: W2397799659
