Elsevier

Neurocomputing

Volume 70, Issues 10–12, June 2007, Pages 2117-2121
Neurocomputing

Neurospaces:Towards automated model partitioning for parallel computers

https://doi.org/10.1016/j.neucom.2006.10.140Get rights and content

Abstract

Parallel computers have the computing power needed to simulate biologically accurate neuronal network models. Partitioning is the process of cutting a model in pieces and assigning each piece to a CPU. Automatic partitioning algorithms for large models are difficult to design for two fundamental reasons. First, the algorithms must track the intrinsic asymmetries in the models and the dynamical behavior of the simulation. Second, the procedural nature of current modeling languages makes it difficult to extract the information needed by the algorithms.

From the start, the Neurospaces modeling system has been designed to deal with large and complicated neuronal models. The declarative nature of the software system allows to extract any kind of information from the model. In this work, we first show how to extract the information needed to partition a large model for simulation on parallel computers. Next, we use this information to compute a possible partitioning for a small and a large network model.

Introduction

It is well known that the simulation of biologically accurate neuronal models requires an enormous amount of computing power. With the recent technological advancements, nowadays CPUs have sufficient performance to meet the requirements of some single cell neuronal modeling and simulation. Nevertheless these single cell models must be put in the context of large scale neuronal networks to get realistic biological behavior [18]. As a result, to get adequate performance, the model must be run on parallel computers. Since some neurons are more complicated than others, biologically realistic neuronal network models have an intrinsic nature of heterogeneity. Hence, parallelizing a large and complicated neuronal network model becomes a difficult programming process and the need for automatic partitioning algorithms arises. Until today, no one has ever published a general automatic partitioning algorithm for biological accurate neuronal models. This work embodies the first necessary steps for such an algorithm.

Section snippets

The problem of defining models

Building complex and large neuronal models is a tedious process. Many biological components and physical parameters are involved and the relationships between them must be defined by the modeler. The number of, as well as the relationships between the biological components are the guiding entities for partitioning a large model over a parallel computer [22].

Neuron and Genesis share the idea that models covering various levels of complexity, are best described with a dedicated language for each

Essentials of the neurospaces data model

Neurospaces is a modeling environment, designed with a focus on large and complicated models [7]. By leaving the simulation to a simulator, Neurospaces can be optimized for efficient memory handling, interaction with modelers and interaction with user interfaces [8]. As an identification service for neuronal simulators, Neurospaces is currently a unique middle-ware software component, comparable to a naming service for large software projects (e.g. JNDI [17]).

Neurospaces uses an abstract linked

Partitioning for parallel simulations

The implementation of the partitioning algorithm in Neurospaces consists of a single application callback that inspects the data stream generated by a traversal. The callback performs several operations on the data:

  • The types of the modeling components are checked and candidate partitioning elements are tagged (the candidate partitioning types are currently fibers and cells, yet this is configurable). The candidate partitioning elements cluster the individual model pieces into candidate

An example

The granular layer of the cerebellar cortex contains granule cells and Golgi cells [21]. The first example we discuss contains 25 granule cells and two Golgi cells in a 2D grid layout. An outline picture using an abstract linked tree is shown in Fig. 1.

The granule cell and Golgi cell models are taken from [19]. Both models consist of a single compartment with a number of Hodgkin–Huxley alike channels and an exponentially decaying calcium pool. The granule cell population specification is shown

Workload computation

Hsolve is a compartmental solver that uses byte codes to encode the equations in a compartmental model [6]. Based on the experience obtained with these byte codes, each compartment in the model stored by Neurospaces can be assigned a load of 4 points, each channel a load of 6 points and a calcium pool a load of 3 points. A spike generating element as well as a synapse have a workload of 1 point. The total workload for a single granule cell model comes to 72 and for a single Golgi cell model to

Compiling the model to a parallel simulation

Embedding Neurospaces in parallel Genesis [13] will allow to partition large models with Neurospaces and simulate them with parallel Genesis. Translating a large model described with Neurospaces into a parallel simulation involves two separate steps:

  • 1.

    Apply the partitioning algorithm to compute the partitions and assign the partitions to the nodes of the parallel computer. In Neurospaces, the partitioning algorithm can be activated from a low-level command line interface or a high-level GUI (Fig.

Related work

Partitioning of neuronal models is becoming increasingly popular. The following projects are closely related to this work or to Neurospaces as a software component:

  • Neosim2 is a parallel discrete event simulator [16] and is based on the first Neosim project [12]. Neosim2 does not address the problem of heterogeneous models, but implicitly assumes homogeneous cell models. It therefore does not incorporate sophisticated partitioning algorithms as explained here.

  • Other simulators like Topographica

Conclusion and future work

Neurospaces automatically assembles all descriptive parameters of neuronal models. This allows to compute the CPU load of a simulation and to partition a model such that it is ready for parallel simulations.

The single compartment granule and Golgi cells are only moderately asymmetric. Introducing computationally more intensive Purkinje cell models (e.g. [9]) in the network will result in huge asymmetries in the network model. A logical next step is to evaluate and improve the algorithm

References (22)

  • H. Cornelis, E. De Schutter, Tutorial: simulations with genesis using Hsolve, Course material, November 2002, available...
  • View full text