Just-in-time connectivity for large spiking networks.
The scale of large neuronal network simulations is memory limited due to the need to store connectivity information: connectivity storage grows as the square of neuron number up to anatomically relevant limits. Using the NEURON simulator as a discrete-event simulator (no integration), we explored the consequences of avoiding the space costs of connectivity through regenerating connectivity parameters when needed: just in time after a presynaptic cell fires. We explored various strategies for automated generation of one or more of the basic static connectivity parameters: delays, postsynaptic cell identities, and weights, as well as run-time connectivity state: the event queue. Comparison of the JitCon implementation to NEURON's standard NetCon connectivity method showed substantial space savings, with associated run-time penalty. Although JitCon saved space by eliminating connectivity parameters, larger simulations were still memory limited due to growth of the synaptic event queue. We therefore designed a JitEvent algorithm that added items to the queue only when required: instead of alerting multiple postsynaptic cells, a spiking presynaptic cell posted a callback event at the shortest synaptic delay time. At the time of the callback, this same presynaptic cell directly notified the first postsynaptic cell and generated another self-callback for the next delay time. The JitEvent implementation yielded substantial additional time and space savings. We conclude that just-in-time strategies are necessary for very large network simulations but that a variety of alternative strategies should be considered whose optimality will depend on the characteristics of the simulation to be run.
Department of Physiology and Pharmacology, Biomedical Engineering, and Neurology, SUNY Downstate, Brooklyn, NY 11203, USA. billl@neurosim.downstate.edu
William W
WW
Lytton
Ahmet
A
Omurtag
Samuel A
SA
Neymotin
Michael L
ML
Hines
D000200:Action Potentials / Q000502:physiology*; D000465:Algorithms; D000818:Animals; D003198:Computer Simulation; D001330:Electronic Data Processing; D006801:Humans; D008959:Models, Neurological; D009415:Nerve Net / Q000502:physiology; D016571:Neural Networks, Computer; D009474:Neurons / Q000502:physiology*; D013569:Synapses / Q000502:physiology; D013997:Time Factors