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.
Lytton
William W
WW
Department of Physiology and Pharmacology, Biomedical Engineering, and Neurology, SUNY Downstate, Brooklyn, NY 11203, USA. billl@neurosim.downstate.edu
Omurtag
Ahmet
A
Neymotin
Samuel A
SA
Hines
Michael L
ML
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