Skip to main content
  • Poster presentation
  • Open access
  • Published:

Improving Data Caching of the STochastic Engine for Pathway Simulation (STEPS)

Though the years the efficiency of Gillespie SSA [1] has been improved by different approaches. Many alternatives of the Direct method have been proposed [24] 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 [5] and several forms of deterministic-stochastic hybrid methods [6]. Parallelization of SSA has also been studied and achieved some degree of success [7]. 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 [8], which replaces the Direct method with Composition and Rejection solution [4]. Although the new implementation provides reasonable speedup comparing to its predecessors and outperforms several stochastic reaction-diffusion simulators that are publicly available [9], 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.


  1. Gillespie D: Exact stochastic simulation of coupled chemical reactions. The journal of physical chemistry. 1977

    Google Scholar 

  2. Gibson M, Bruck J: Efficient exact stochastic simulation of chemical systems with many species and many channels. J. Phys. Chem. A. 2000

    Google Scholar 

  3. Li H, Petzold L: Logarithmic direct method for discrete stochastic simulation of chemically reacting systems. Journal of Chemical Physics. 2006

    Google Scholar 

  4. 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.

    Article  PubMed  Google Scholar 

  5. Gillespie D: Approximate accelerated stochastic simulation of chemically reacting systems. Journal of Chemical Physics. 2001

    Google Scholar 

  6. 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.

    Article  CAS  PubMed  Google Scholar 

  7. 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. 2008

    Google Scholar 

  8. Chen W, Hepburn I, De Schutter E: Improving performance of the STochastic Engine for Pathway Simulation (STEPS). BMC Neuroscience. 2011

    Google Scholar 

  9. 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:

    Google Scholar 

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Weiliang Chen.

Rights and permissions

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 (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Chen, W., De Schutter, E. Improving Data Caching of the STochastic Engine for Pathway Simulation (STEPS). BMC Neurosci 13 (Suppl 1), P154 (2012).

Download citation

  • Published:

  • DOI: