next up previous
Next: The Interface Up: Background and aims Previous: Why parallel?

Why discrete event simulation?

Neurons typically communicate by sending spikes down axons which arrive at their destination some milliseconds later. This fundamental interaction can be modelled as an event which is sent by the source neuron to its destinations with a delay. For compartmental models this delay is usually larger than the integration timestep. This delay allows for a relaxation of the synchronisation constraint; the simulation time of each model neuron does not have to be kept in lockstep, but can lag by up to its output delay. This allows for an amount of latency hiding and performance optimisation of a parallel implementation of the simulation, since if the neurons are on separate processors they do not need to synchronize every timestamp.

Variable timestep integration techniques (such as are used by CVODE in Neuron) provide order of magnitude performance improvements, as when the state variables are changing slowly, larger timesteps can be used, which means less computation. The variable timestep techniques offer particular opportunities for performance gains in large networks where the spiking rate of individual neurons is low (e.g. the granule cell layer of the cerebellar cortex). A fixed timestep technique is wasteful for this type of network, as most of the cells are inactive most of the time, yet they are updated using a timestep determined by their fastest rate of change.

An efficient algorithm for coordinating neuron updates with variable timestep uses an event list sorted in timestamp order; the next neuron to update is pulled off the bottom (this is the technque currently used in Neuron/CVode).

If each neuron has an independent timeline, then a well developed technique to coordinate a simulation is discrete event simulation. Techniques for running discrete event simulations in parallel have been published; to run efficiently on parallel machines they require a degree of lookahead or minimum delay for one entity to influence another. Spiking neurons typically provide this lookahead because of the axonal delay.

Tightly coupled systems are not well suited to the discrete event paradigm. The electrical/chemical coupling between compartments of a single neuron is better dealt with within an entity representing that neuron than by using events (note that GENESIS without hsolve used an event-style message mechanism for communicating these properties, hsolve allowed considerable performance improvements).


next up previous
Next: The Interface Up: Background and aims Previous: Why parallel?
Fred Howell
8/15/1999