Page 1 of 1

Doc on the event delivery system

Posted: Wed Jun 27, 2007 11:30 am
by duboismathieu
Hello everybody,

I'm interested in the event delivery system (the one used in NET_RECEIVE and ARTIFICIAL_CELL) and I would like to understand it more deeply e.g which algorithm it uses, especially for the problem of moving events (net_move).

As far as I know, this is called the simulation event set problem. For some references, one can read Brette et al. "Simulation of networks of spiking neurons: A review of tools and strategies" J. Comput. Neurosci. in press (2007). http://arxiv.org/abs/q-bio.NC/0611089. A simple search in the source tree shows that different types of queues are available (balanced binary trees, splay trees) but I miss the big picture.

What kind of data structures are attached to each neuron? Is there a central event queue (and which kind)? How does NET_RECEIVE work? NetCon?

Every kind of information (articles, files in the source tree, simple explanation) is welcome. I should mention that I am more familiar with NetCon's and ARTIFICIAL_CELL (I'm working on a integrate-and-fire model) than with multi-compartment cells.

Thanks in advance,
Mathieu.

Posted: Wed Jun 27, 2007 12:35 pm
by ted
For a discussion of discrete events in NEURON, and what the NET_RECEIVE
block does, see chapter 10 of The NEURON Book, or read
Hines, M.L. and Carnevale, N.T. Discrete event simulation in the NEURON environment. Neurocomputing 58-60:1117-1122, 2004.

For hoc's interface to the event delivery system, read the Programmer's
Reference entries on:
the NetCon class, especially its event() method
the CVode class's event() method

For an example of how to load events into a NetCon's stream for subsequent
delivery during a simulation, see the following item in the FAQ list at
http://www.neuron.yale.edu/neuron/faq/general-questions
I have a set of recorded or calculated spike times. How can I use these to drive a postsynaptic mechanism?