Back to Projects List
- Kael Dai (Allen Institute) @kaeldai
- Ben Dichter (Stanford Lab) @bendichter
- Yazan Billeh (Allen Institute) @CellAssembly
An efficent, parallizable way to store the results, and even the input, of large-scale in-silico network simulations.
- Create an extension for storing and reading discrete single unit simulation data (ie spike times from a biophysical/point network simulation).
- Create an extension for continuous data (ie membrane potential, calcium conc).
- May have to create a second extension for multi-compartment reporting (ie membrane potential along all sections of the dentrites)
Goals: We want to be able to save spike trains from a simulation of anywhere between hundreds to millions of different cells. The previous way to do this was given every cell their own dataset.
While simple to understand, having to open a dataset handle for every possible cell in the network didn't scale well. For the new format, we store all spikes in a single file, using an index table link a given spike time with a cell gid.
Goals:
- Store cell variable data (membrane potential, [Ca++], etc), collected during a simulation
- Multiple cells
- Individual cells may be made up of different sections (soma, axon, dendritic branches) potentially needing to be stored.
- Want to be able to write/read in parallel.
- Want to be able to chunk data by time or by cell
Conceptural Framework:
- Index table stores range of segment ids.
- Stores relative recording position of each cell segment.
Segment recordings from each cell are stored in a single TimeSeries
-
Need to be able to use region references as a more explict way of indexing tables.
-
Critical: we need to be able to preallocate memory blocks and write in chunks (and to take advantage of MPI).