| Literature DB >> 24416069 |
Lorenzo L Pesce1, Hyong C Lee2, Mark Hereld3, Sid Visser2, Rick L Stevens3, Albert Wildeman2, Wim van Drongelen4.
Abstract
Our limited understanding of the relationship between the behavior of individual neurons and large neuronal networks is an important limitation in current epilepsy research and may be one of the main causes of our inadequate ability to treat it. Addressing this problem directly via experiments is impossibly complex; thus, we have been developing and studying medium-large-scale simulations of detailed neuronal networks to guide us. Flexibility in the connection schemas and a complete description of the cortical tissue seem necessary for this purpose. In this paper we examine some of the basic issues encountered in these multiscale simulations. We have determined the detailed behavior of two such simulators on parallel computer systems. The observed memory and computation-time scaling behavior for a distributed memory implementation were very good over the range studied, both in terms of network sizes (2,000 to 400,000 neurons) and processor pool sizes (1 to 256 processors). Our simulations required between a few megabytes and about 150 gigabytes of RAM and lasted between a few minutes and about a week, well within the capability of most multinode clusters. Therefore, simulations of epileptic seizures on networks with millions of cells should be feasible on current supercomputers.Entities:
Mesh:
Year: 2013 PMID: 24416069 PMCID: PMC3876705 DOI: 10.1155/2013/182145
Source DB: PubMed Journal: Comput Math Methods Med ISSN: 1748-670X Impact factor: 2.238
Size (diameter and length) of cells compartments in µm [26].
| Soma ( | D1 ( | D2 ( | D3 ( | D4 ( | BD ( | IS ( | |
|---|---|---|---|---|---|---|---|
| SPYR | 16.1, 22 | 2.0, 140 | 3.3, 190 | — | — | 2.4, 200 | 2.2, 50 |
| DPYR | 16.1, 22 | 2.0, 250 | 2.9, 400 | 4.4, 400 | 4.7, 400 | 6.3, 200 | 2.2, 50 |
| BASK1 | 16.1, 22 | 2.0, 900 | — | — | — | — | — |
| BASK2 | 8.0, 11 | 2.0, 600 | — | — | — | — | — |
| BASK3 | 5.4, 5.5 | 2.0, 300 | — | — | — | — | — |
| CHAN | 4.0, 5.5 | 2.0, 150 | — | — | — | — | — |
Rows contain cell types (SPYR: superficial pyramidal, DPYR: deep pyramidal, BASK1,…, BASK3: basket cells of type 1 to 3, CHAN: chandelier cell) while columns represent the various segments (Soma, D1,…, D4: dendritic compartments 1 to 4, BD: basal dendrite, IS: axon initial segment).
Percentage of time spent at an MPI barrier as a function of the network size and pool of MPI processes used for Verdandi.
| Network size | Number of MPI processes used | |||||
|---|---|---|---|---|---|---|
| 4 | 9 | 16 | 36 | 81 | 144 | |
| 2.6 K | 16% | 34% | 42% | 56% | 77% | N/A |
| 32 K | 12% | 25% | 27% | 34% | 43% | 53% |
| 94 K | 21% | 35% | 38% | 42% | 46% | 51% |
| 380 K | N/A | 44% | 48% | 53% | 56% | 57% |
Figure 1Example of emergent behavior produced by this type of simulation (using Verdandi). Seizure-like oscillation in a patch of 90 K neurons as displayed by the pseudo-EEG. Below are the action potential trains of ten representative cells of each kind: superficial pyramidal cells (SPYR), deep pyramidal cells (DPYR), large basket cells (BASK), and chandelier cells (CHAN). The ten cells are selected from different locations in the simulated network.
Figure 2Maximum memory usage per process for pNeo on Beagle as a function of network size on a log-log plot with basis 10. Different lines depict simulations that used a different number of MPI processes. Results on Fusion were essentially identical. The results for Verdandi were qualitatively similar. The total memory used by each simulation can be obtained by multiplying these numbers by the number of MPI processes and it is reasonably constant for each network size.
Figure 3Strong scaling plots for calculations performed on Beagle: (a) Verdandi and (b) pNeo. Run time is the time it took to complete a simulation, from beginning to end. Most of the measurements exhibit nearly perfect strong scaling.
Estimated values for weak scaling problem for Verdandi (first block) and pNeo (second block).
| Network size | Closest actual MPI pool from simulation | Estimated size of MPI pool | Expected computation Time (s) |
|---|---|---|---|
| Verdandi | |||
| 2.6 K | 4 | 4 | 0.94 K |
| 32 K | 36 | 49 | 2.2 K |
| 94 K | 81 | 144 | 6.2 K |
| 380 K | 256 | 576 | 6.6 K |
|
| |||
| pNeo | |||
| 8.8 K | 4 | 4 | 1.8 K |
| 35 K | 16 | 16 | 2.6 K |
| 98 K | 36 | 45 | 4.1 K |
| 390 K | 81 | 178 | 6.8 K |
“Closest actual simulation” is an MPI pool that was actually run for that network size. “Estimated size of MPI pool” is the number of processes necessary to keep the ratio of number of cells/number of processors constant. The estimate time is computed assuming the observed scaling laws either with interpolation (up to 94 K for Verdandi, and up to 98 K for pNeo) or with extrapolation on a straight line (the larger network).
Figure 4Increase in total time (sum of the time taken by each thread in a simulation and called “Parallelization penalty” because it is the total CPU time allocated to the simulation) as the number of OpenMP threads is increased while keeping the number of MPI processes at 1 (single node). This calculation was performed on Beagle.
Figure 5Run time (wall clock time here, not total time as in the previous plot) for a 100 K-cell network on 9 nodes (216 cores) of Beagle. The number of MPI processes was varied while the number of OpenMP threads was adjusted so that each run used all 216 available cores. The leftmost point corresponds to 3 MPI processes per node with 8 OpenMP threads per process.