skip to main content
research-article
Open Access

SODECL: An Open-Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel

Published:13 July 2020Publication History
Skip Abstract Section

Abstract

Stochastic differential equations (SDEs) are widely used to model systems affected by random processes. In general, the analysis of an SDE model requires numerical solutions to be generated many times over multiple parameter combinations. However, this process often requires considerable computational resources to be practicable. Due to the embarrassingly parallel nature of the task, devices such as multi-core processors and graphics processing units (GPUs) can be employed for acceleration.

Here, we present SODECL (https://github.com/avramidis/sodecl), a software library that utilizes such devices to calculate multiple orbits of an SDE model. To evaluate the acceleration provided by SODECL, we compared the time required to calculate multiple orbits of an exemplar stochastic model when one CPU core is used, to the time required when using all CPU cores or a GPU. In addition, to assess scalability, we investigated how model size affected execution time on different parallel compute devices.

Our results show that when using all 32 CPU cores of a high-end high-performance computing node, the task is accelerated by a factor of up to ≈6.7, compared to when using a single CPU core. Executing the task on a high-end GPU yielded accelerations of up to ≈4.5, compared to a single CPU core.

References

  1. Juan A. Acebrón, Luis L. Bonilla, Conrad J. Pérez Vicente, Félix Ritort, and Renato Spigler. 2005. The Kuramoto model: A simple paradigm for synchronization phenomena. Rev. Mod. Phys. 77, 1 (2005), 137Google ScholarGoogle ScholarCross RefCross Ref
  2. Richard Adams, Allan Clark, Azusa Yamaguchi, Neil Hanlon, Nikos Tsorman, Shakir Ali, Galina Lebedeva, Alexey Goltsov, Anatoly Sorokin, Ozgur E. Akman, Carl Troein, Andrew J. Millar, Igor Goryanin, and Stephen Gilmore. 2013. SBSI: An extensible distributed software infrastructure for parameter estimation in systems biology. Bioinformatics 29, 5 (2013), 664--665.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ozgur E. Akman, James C. W. Locke, Sanyi Tang, Isabelle Carré, Andrew J. Millar, and David A. Rand. 2008. Isoform switching facilitates period control in the Neurospora crassa circadian clock. Mol. Syst. Biol. 4 (2008), 164.Google ScholarGoogle ScholarCross RefCross Ref
  4. Ozgur E. Akman, David A. Rand, Paul E. Brown, and Andrew J. Millar. 2010. Robustness from flexibility in the fungal circadian clock. BMC Syst. Biol. 4, 1 (2010), 88.Google ScholarGoogle ScholarCross RefCross Ref
  5. Ozgur E. Akman, Steven Watterson, Andrew Parton, Nigel Binns, Andrew J. Millar, and Peter Ghazal. 2012. Digital clocks: Simple Boolean models can quantitatively describe circadian systems. J. Roy. Soc. Interface 9, 74 (2012), 2365--2382.Google ScholarGoogle ScholarCross RefCross Ref
  6. Edward J. Allen, Linda J. S. Allen, Armando Arciniega, and Priscilla E. Greenwood. 2008. Construction of equivalent stochastic differential equation models. Stoch. Anal. Appl. 26, 2 (2008), 274--297.Google ScholarGoogle ScholarCross RefCross Ref
  7. Maksat Ashyraliyev, Yves Fomekong-Nanfack, Jaap A. Kaandorp, and Joke G. Blom. 2009. Systems biology: Parameter estimation for biochemical models. FEBS J. 276, 4 (2009), 886--902.Google ScholarGoogle ScholarCross RefCross Ref
  8. Eleftherios Avramidis. 2015. Optimisation and Computational Methods to Model the Oculomotor System with Focus on Nystagmus. Ph.D. Dissertation. University of Exeter.Google ScholarGoogle Scholar
  9. Eleftherios Avramidis and Ozgur E. Akman. 2017. Optimisation of an exemplar oculomotor model using multi-objective genetic algorithms executed on a GPU-CPU combination. BMC Syst. Biol. 11 (2017), 1.Google ScholarGoogle ScholarCross RefCross Ref
  10. Christian Bick, Marc Timme, Danilo Paulikat, Dirk Rathlev, and Peter Ashwin. 2011. Chaos in symmetric phase oscillator networks. Phys. Rev. Lett. 107, 24 (2011), 244101.Google ScholarGoogle ScholarCross RefCross Ref
  11. G. E. P. Box and Mervin E. Muller. 1958. A note on the generation of random normal deviates. Ann. Math. Statist. 29, 2 (1958), 610--611.Google ScholarGoogle ScholarCross RefCross Ref
  12. Gunnar Cedersund and Jacob Roll. 2009. Systems biology: Model based evaluation and comparison of potential explanations for given biological data. FEBS J. 276, 4 (2009), 903--922.Google ScholarGoogle ScholarCross RefCross Ref
  13. Gunnar Cedersund, Oscar Samuelsson, Gordon Ball, Jesper Tegnér, and David Gomez-Cabrero. 2016. Optimization in biology parameter estimation and the associated optimization problem. In Uncertainty in Biology: A Computational Modeling Approach, Liesbert Geris and David Gomez-Cabrero (Eds.). Cham: Springer, 177--197.Google ScholarGoogle Scholar
  14. Kathleen E. Cullen, Claudio G. Rey, Daniel Guitton, and Henrietta L. Galiana. 1996. The use of system identification techniques in the analysis of oculomotor burst neuron spike train dynamics. J. Comput. Neurosci. 3, 4 (1996), 347--368.Google ScholarGoogle ScholarCross RefCross Ref
  15. Leonardo Dagum and Ramesh Menon. 1998. OpenMP: An industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5, 1 (1998), 46--55.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Hiroaki Daido. 1992. Order function and macroscopic mutual entrainment in uniformly coupled limit-cycle oscillators. Prog. Theor. Phys. 88, 6 (1992), 1213--1218.Google ScholarGoogle ScholarCross RefCross Ref
  17. Hooman Darabi and Asad A. Abidi. 2000. Noise in RF-CMOS mixers: A simple physical model. IEEE J. Solid-State Circuits 35, 1 (2000), 15--25.Google ScholarGoogle ScholarCross RefCross Ref
  18. Gustavo Deco, Viktor Jirsa, Anthony R. McIntosh, Olaf Sporns, and Rolf Kötter. 2009. Key role of coupling, delay, and noise in resting brain fluctuations. Proc. Natl. Acad. Sci. U.S.A. 106, 25 (2009), 10302--10307.Google ScholarGoogle ScholarCross RefCross Ref
  19. Denis Demidov, Karsten Ahnert, Karl Rupp, and Peter Gottschling. 2013. Programming CUDA and OpenCL: A case study using modern C++ libraries. SIAM J. Sci. Comput. 35, 5 (2013), C453–C472.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Kevin Doherty, Khulood Alyahya, Ozgur E. Akman, and Jonathan E. Fieldsend. 2017. Optimisation and landscape analysis of computational biology models: A case study. In Proc. GECCO’17 (2017). 1644--1651.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Aldo Faisal, Luc P. J. Selen, and Daniel M. Wolpert. 2008. Noise in the nervous system. Nat. Rev. Neurosci. 9, 4 (2008), 292--303.Google ScholarGoogle ScholarCross RefCross Ref
  22. Jonathan E. Fieldsend. 2015. Elite accumulative sampling strategies for noisy multi-objective optimisation. In Proc. EMO 2015 (2015). 172--186.Google ScholarGoogle ScholarCross RefCross Ref
  23. Jun He and Xin Yao. 2001. Drift analysis and average time complexity of evolutionary algorithms. Artif. Intell. 127, 1 (2001), 57--85.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Desmond J. Higham. 2001. An algorithmic introduction to numerical simulation of stochastic differential equations. SIAM Rev. 43, 3 (2001), 525--546.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Jerald B. Johnson and Kristian S. Omland. 2004. Model selection in ecology and evolution. Trends Ecol. Evol. 19, 2 (2004), 101--108.Google ScholarGoogle ScholarCross RefCross Ref
  26. Mads Kaern, Timothy C. Elston, William J. Blake, and James J. Collins. 2005. Stochasticity in gene expression: From theories to phenotypes. Nat. Rev. Genet. 6, 6 (2005), 451--464.Google ScholarGoogle ScholarCross RefCross Ref
  27. Leeat Keren, David Van Dijk, Shira Weingarten-Gabbay, Dan Davidi, Ghil Jona, Adina Weinberger, Ron Milo, and Eran Segal. 2015. Noise in gene expression is coupled to growth rate. Genome Res. 25, 12 (2015), 1893--1902.Google ScholarGoogle ScholarCross RefCross Ref
  28. Khronos OpenCL Working Group. 2015. The OpenCL Specification, Version 2.1, Document Revision: 23. Technical Report. Lee Howes (Ed.).Google ScholarGoogle Scholar
  29. Peter E. Kloeden and Eckhard Platen. 2011. Numerical Solution of Stochastic Differential Equations. Springer: Berlin.Google ScholarGoogle Scholar
  30. Gabriele Lillacci and Mustafa Khammash. 2010. Parameter estimation and model selection in computational biology. PLoS Comput. Biol. 6, 3 (2010), e1000696.Google ScholarGoogle ScholarCross RefCross Ref
  31. Marc Mantas, José M. De la Asunción and Manuel J. Castro. 2016. An introduction to GPU computing for numerical simulation. In Numerical Simulation in Physics and Engineering, Inmaculada Higueras, Teo Roldán, and Juan J. Torrens (Eds.). Springer, 219--251.Google ScholarGoogle Scholar
  32. H. Nakao. 2016. Phase reduction approach to synchronisation of nonlinear oscillators. Contemp. Phys. 57, 2 (2016), 188--214.Google ScholarGoogle ScholarCross RefCross Ref
  33. Cristóbal A. Navarro, Nancy Hitschfeld-Kahler, and Luis Mateu. 2014. A survey on parallel computing and its applications in data-parallel problems using GPU architectures. Commun. Comput. Phys. 15, 2 (2014), 285--329.Google ScholarGoogle ScholarCross RefCross Ref
  34. Béla Paláncz, Kent Stewart, József Homlok, Christopher G. Pretty, J. Geoffrey Chase, and Balázs Benyó. 2016. Stochastic simulation and parameter estimation of the ICING model. IFAC-PapersOnLine 49, 5 (2016), 218--223.Google ScholarGoogle Scholar
  35. Manolis Papadrakakis, George Stavroulakis, and Alexander Karatarakis. 2011. A new era in scientific computing: Domain decomposition methods in hybrid CPU–GPU architectures. Comput. Methods Appl. Mech. Engrg. 200, 13 (2011), 1490--1508.Google ScholarGoogle ScholarCross RefCross Ref
  36. Eckhard Platen. 1999. An introduction to numerical methods for stochastic differential equations. Acta Numer. 8 (1999), 197--246.Google ScholarGoogle ScholarCross RefCross Ref
  37. Yoshihiro Saito and Taketomo Mitsui. 1996. Stability analysis of numerical schemes for stochastic differential equations. SIAM J. Numer. Anal. 33, 6 (1996), 2254--2267.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. John K. Salmon, Mark A. Moraes, Ron O. Dror, and David E. Shaw. 2011. Parallel random numbers: As easy as 1, 2, 3. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (2011). 1--12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Andries J. Scholten, Luuk F. Tiemeijer, Ronald Van Langevelde, Ramon J. Havens, Adrie T. A. Zegers-van Duijnhoven, and Vincent C. Venezia. 2003. Noise modeling for RF CMOS circuit simulation. IEEE Trans. Electron. Devices 50, 3 (2003), 618--632.Google ScholarGoogle ScholarCross RefCross Ref
  40. Diego. F. Slezak, Cecilia Suárez, Guillermo A. Cecchi, Guillermo Marshall, and Gustavo Stolovitzky. 2010. When the optimal is not the best: Parameter estimation in complex biological models. PloS One 5, 10 (2010), e13283.Google ScholarGoogle ScholarCross RefCross Ref
  41. Steven H. Strogatz. 2000. From Kuramoto to Crawford: Exploring the onset of synchronization in populations of coupled oscillators. Physica D 143, 1--4 (2000), 1--20.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Jianyong Sun, Jonathan M. Garibaldi, and Charlie Hodgman. 2012. Parameter estimation using metaheuristics in systems biology: A comprehensive review. IEEE/ACM Trans. Comput. Biol. Bioinform. 9, 1 (2012), 185--202.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Carsten Witt. 2008. Population size versus runtime of a simple evolutionary algorithm. Theor. Comput. Sci. 403, 1 (2008), 104--120.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SODECL: An Open-Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Mathematical Software
          ACM Transactions on Mathematical Software  Volume 46, Issue 3
          September 2020
          267 pages
          ISSN:0098-3500
          EISSN:1557-7295
          DOI:10.1145/3410509
          Issue’s Table of Contents

          Copyright © 2020 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 13 July 2020
          • Online AM: 7 May 2020
          • Revised: 1 February 2020
          • Accepted: 1 February 2020
          • Received: 1 April 2019
          Published in toms Volume 46, Issue 3

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format