Page 1 of 1

How the threads communicate?

Posted: Fri Oct 18, 2013 12:05 am
by gregw
Suppose I have 2 neurons running in separate threads (on separate processors). Let them be connected by a single synapse via NetCon object. How the synchronization between these two threads is implemented? If these two neurons are simulated in parallel on separate processors their simulation time may be different at the time when the synapse firies. For example if this time is 105 ms for the Presynaptic neuron, it may be 103 ms or 108 ms for the Postsynaptic neuron.

I can imagine this synchronization to work like that:

1. When a spike occurs in the Presynaptic neuron at time for example 105 ms , the simulation of this neuron is stopped.
2. If the Postynaptic neuron simulation time is for example 103 ms, then the Postsynaptic neuron is allowed to be simulated until 105 ms. If the Postynaptic neuron simulation time is for example 108 ms, then the Postsynaptic neuron simulation time is rolled back to 105 ms.
3. After the simulation times are adjusted as in (2), the synapse firies and the both neurons start running independently again. Until the next spike of the Presynaptic neuron.

Is this the case in NEURON? If not, then how it is actually implemented?

Re: How the threads communicate?

Posted: Fri Oct 18, 2013 1:01 pm
by ted
Have you read
Migliore, M, Cannia, C., Lytton, W.W., Markram, H. and Hines, M.L.
Parallel network simulations with NEURON.
Journal of Computational Neuroscience 21:119-129, 2006
?
This and several other key articles are available from http://www.neuron.yale.edu/neuron/nrnpubs