Stochastic diffusion simulation in NEURON

TitleStochastic diffusion simulation in NEURON
Publication TypeConference Paper
Year of Publication2014
AuthorsTropper, C., Pataory M., Mcdougal R., Hines M., & Lytton WW.
Conference NameSociety for Neuroscience 2014 (SFN '14)
KeywordsSFN, Society for Neuroscience
Abstract

Neuronal simulation with reaction-diffusion presents a variety of computational demands. Among these is the need to couple simulation of the large volumes of major dendrites and soma with simulation in small structures such as the dendritic spine. The former situation requires deterministic (Fick's law) simulation for reason of efficiency, whereas the latter requires stochastic simulation due to the variable effects of small n which requires that individual molecules or ions be handled independently. We are developing a subsidiary parallel discrete event simulator interfaced with 1D and 3D deterministic diffusion within the NEURON simulator. We are developing Neuron Time Warp (NTW, a stochastic method based on the next sub-volume method (NSM) an outgrowth of the Gillespie algorithm. We compared a shared memory version of our simulator to a MPI based version because of the continuous increase in the number of cores in multi-core machines. We have discovered that the shared memory version consistently out-performed the MPI based version in spite of the increased synchronization necessary due to the shared memory. Because of the relatively small number of cores (8) in our platform, the priority queue did not experience as much contention as it would have if the machine had a larger number of cores. Further work on priority queue algorithms will be necessary. We have also implemented threads in NTW in order to better take advantage of multi-core machines. While our results indicated that execution time scaled well with the number of processors, the number of rollbacks also increased and caused the decrease in execution time to flatten. Both dynamic window management and dynamic load balancing are necessary in order to contain the number of rollbacks. (The window size controls the optimism of Time Warp, preventing an excessive number of rollbacks). We have previously developed AI based algorithms for dynamic load balancing and window management-we are going to implement them in NTW (simulated annealing, multi-state Q-learning and genetic algorithms) shortly. We note that threads complicate matters for load balancing, as both the thread level and the processor level have to be accounted for differently when developing algorithms to deal with load balancing.