Improving Data Caching of the STochastic Engine for Pathway Simulation (STEPS)
© Chen and De Schutter; licensee BioMed Central Ltd. 2012
Published: 16 July 2012
Though the years the efficiency of Gillespie SSA  has been improved by different approaches. Many alternatives of the Direct method have been proposed [2–4] reducing the algorithmic complexity from O(N) to O(1), whilst maintaining the accuracy of the solution. Other solutions provide further speedup by introducing approximations to the system, examples include tau-leaping  and several forms of deterministic-stochastic hybrid methods . Parallelization of SSA has also been studied and achieved some degree of success . However, most of these studies do not address the actual implementation of the simulator, since it depends on not only the algorithm itself, but also less generic factors such as the type of operating platform, the programming style of developers, etc.
In CNS 2011 we've introduced STEPS 1.3.0 , which replaces the Direct method with Composition and Rejection solution . Although the new implementation provides reasonable speedup comparing to its predecessors and outperforms several stochastic reaction-diffusion simulators that are publicly available , further profiling indicated that all potential benefits of the CR solution had not yet been reached, mainly due to the less efficient data structure inherited from previous versions. This raised our interest on how the detail implementation of STEPS, particularly data structure that relates to the SSA kernel, affects its overall efficiency.
We’ve identified the proportions of algorithmic cost (computational cost introduced by SSA itself) and data accessing cost (the time for caching data from memory) in a single SSA iteration simulation with STEPS 1.3.0. The result confirms our speculation that although the algorithmic cost has been reduced significantly by the new algorithm, the data accessing cost was mostly maintained, therefore becoming the major bottleneck of performance. We’ve redesigned the internal data structure according to this analysis, so that data accessed during SSA iteration is stored cohesively, and consequently more friendly for memory caching. Benchmarking test shows that the performance of STEPS is significantly improved due to better memory caching of the simulator.
In this poster I will present our profiling results, and the changes we’ve made in our new implementation. I will also present the performance comparison of both versions, showing that the detailed implementation of data structures can significantly affect the performance of a SSA-based simulator, even if the algorithm applied remains the same.
- Gillespie D: Exact stochastic simulation of coupled chemical reactions. The journal of physical chemistry. 1977Google Scholar
- Gibson M, Bruck J: Efficient exact stochastic simulation of chemical systems with many species and many channels. J. Phys. Chem. A. 2000Google Scholar
- Li H, Petzold L: Logarithmic direct method for discrete stochastic simulation of chemically reacting systems. Journal of Chemical Physics. 2006Google Scholar
- Slepoy A, Thompson AP, Plimpton SJ: A constant-time kinetic Monte Carlo algorithm for simulation of large biochemical reaction networks. Journal of Chemical Physics. 2008, 128: 205101-10.1063/1.2919546.View ArticlePubMedGoogle Scholar
- Gillespie D: Approximate accelerated stochastic simulation of chemically reacting systems. Journal of Chemical Physics. 2001Google Scholar
- Wylie DC, Hori Y, Dinner AR, Chakraborty AK: A hybrid deterministic-stochastic algorithm for modeling cell signaling dynamics in spatially inhomogeneous environments and under the influence of external fields. The Journal of Physical Chemistry B. 2006, 110: 12749-12765. 10.1021/jp056231f.View ArticlePubMedGoogle Scholar
- Jeschke M, Park A, Ewald R, Fujimoto R: Parallel and distributed spatial simulation of chemical reactions. Proceedings of the 22nd Workshop on Principles of Principles of Advanced and Distributed Simulation. 2008Google Scholar
- Chen W, Hepburn I, De Schutter E: Improving performance of the STochastic Engine for Pathway Simulation (STEPS). BMC Neuroscience. 2011Google Scholar
- Hepburn I, Chen W, Wils S, De Schutter E: STEPS: Efficient simulation of stochastic reaction-diffusion models in realistic morphologies. 2012, In submission and available at: http://steps.sourceforge.net/STEPS/Documentation.htmlGoogle 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.