Improving performance of the STochastic Engine for Pathway Simulation (STEPS)
© Chen et al; licensee BioMed Central Ltd. 2011
Published: 18 July 2011
STEPS (http://steps.sourceforge.net) is a GNU-licensed simulation platform that uses an extension of Gillespie's SSA  to deal with reactions and diffusion of molecules in 3D reconstructions of neuronal morphology and tissue . In STEPS, the diffusion of molecules is simulated as diffusive fluxes between tetrahedral elements in the mesh, represented by a series of first-order reactions.
STEPS has been used in various research projects where its overall performance was considered adequate. However, as more complex models are being developed and investigated, total model simulation times became an issue leading to requests for a faster reaction-diffusion simulator. Here we discuss a number of strategies we have followed to improve STEPS performance at different levels.
The previous implementation of STEPS adapted Gibson and Bruck’s enhancement of the Direct method  with a k-ary tree structure. The overall complexity of searching and updating of this method is O(log k N), giving N as the total number of kinetic processes in the system and k as the branch width of the tree. Although this is a great improvement comparing to the O(N) complexity of Gillespie’s original method, the logarithmic dependency of N becomes a critical limitation of performance, particularly in simulations with high amount of tetrahedral elements and consequently large N. Recently a constant-time version of the Direct method with a slightly more complex data structure has been introduced , providing an attractive searching and updating complexity of O(1), independent of N. This method is implemented in the new version of STEPS. In the poster, I will present the validation of the new simulator by comparing the stochastic simulation results with analytical solutions. I will also present the improvement made by adapting the new method.
Several approaches to parallelizing STEPS have been investigated. In a realistic simulation, the state of the system, including molecule distribution, reaction/diffusion rates, may be frequently read and/or modified during the simulation. Some of these operations could be greatly parallelized in shared memory architecture, efficiently reducing the cost of data accessing. Previous studies  also suggested that the Direct SSA could be parallelized as a Parallel Discrete-Event Simulation (PDES). However, the performance of such a parallelization significantly depends on the model itself as well as the approach of simulation decomposition. Some examples of above methods will be present and discussed in the poster.
- Gillespie DT: Exact stochastic simulation of coupled chemical reactions. The journal of physical chemistry. 1977Google Scholar
- Wils S: STEPS: modeling and simulating complex reaction-diffusion systems with Python. Frontiers in Neuroinformatics. 2009Google Scholar
- Gibson MA, Bruck J: Efficient exact stochastic simulation of chemical systems with many species and many channels. J Phys Chem A. 2000Google Scholar
- Slepoy A, Thompson AP, Plimpton SJ: A constant-time kinetic Monte Carlo algorithm for simulation of large biochemical reaction networks. The journal of chemical physics. 2008, 128: 205101-10.1063/1.2919546.View ArticlePubMedGoogle Scholar
- Dematté L, Mazza T: On parallel stochastic simulation of diffusive systems. Computational methods in systems biology. 2008Google Scholar
This article is published under license to BioMed Central Ltd. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.