Parallel probabilistic model checking on general purpose graphics processors

  • Dragan Bošnački
  • Stefan Edelkamp
  • Damian Sulewski
  • Anton Wijs
SPIN 2009


We present algorithms for parallel probabilistic model checking on general purpose graphic processing units (GPGPUs). Our improvements target the numerical components of the traditional sequential algorithms. In particular, we capitalize on the fact that in most of them operations like matrix–vector multiplication and solving systems of linear equations are the main complexity bottlenecks. Since linear algebraic operations can be implemented very efficiently on GPGPUs, the new parallel algorithms show considerable runtime improvements compared to their counterparts on standard architectures. We implemented our parallel algorithms on top of the probabilistic model checker PRISM. The prototype implementation was evaluated on several case studies in which we observed significant speedup over the standard CPU implementation of the tool.


Parallel model checking General purpose graphics processing units 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allmaier, S.C., Kowarschik, M., Horton, G.: State space construction and steady-state solution of GSPNs on a Shared-Memory Multiprocessor. In: Proceedings of 7th Intt. Workshop on Petri Nets and Performance Models (PNPM’97), pp. 112–121. IEEE Comp. Soc. Press (1997)Google Scholar
  2. 2.
    Baier C., Katoen J.-P.: Principles of Model Checking, pp. 950. MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  3. 3.
    Baier C., Katoen J.-P., Hermanns H., Haverkort B.: Model-checking algorithms for contiuous-time Markov chains. IEEE Trans. Softw. Eng. 29(6), 524–541 (2003)CrossRefGoogle Scholar
  4. 4.
    Bal, H., Barnat, J., Brim, L., Verstoep, K.: Efficient large-scale model checking. In: IEEE International Parallel & Distributed Processing Symposium (IPDPS) (2009)Google Scholar
  5. 5.
    Barnat, J., Brim, L., Ceska, M., Lamr, T.: CUDA accelerated LTL model checking. In: Proceedings of international conference on parallel and distributed systems (ICPADS), pp. 34–41 (2009)Google Scholar
  6. 6.
    Barnat, J., Brim, L., Ročkai, P.: Scalable multi-core model-checking. In: Model checking software, 14th international SPIN workshop, SPIN 07 LNCS, vol. 4595, pp. 187–203. Springer, Berlin (2007)Google Scholar
  7. 7.
    Barnat, J., Brim, L., Černá, I.: Cluster-based LTL model checking of large systems formal methods for components and objects. In: LNCS, vol. 4111, pp. 259–279. Springer, Berlin (2005)Google Scholar
  8. 8.
    Barnat, J., Brim, L., Černá, I., Ceska, M., Tumova, J.: ProbDiVinE-MC: multi-core LTL model checker for probabilistic systems. In: International conference on the quantitative evaluaiton of systems QEST 2008, pp. 77–78. IEEE Compuer Society Press (2008)Google Scholar
  9. 9.
    Barnat, J., Brim, L., Ročkai, P.: DiVinE multi-core—a parallel LTL model-checker. In: Automated technology for verification and analysis, ATVA 2008, LNCS, vol. 5311, pp. 234–239. Springer, Berlin (2008)Google Scholar
  10. 10.
    Barnat, J., Brim, L., Stríbrná, J.: Distributed LTL model checking in SPIN. In: Proceedings of the 8th Intl. Spin Workshop on Model Checking of Software, SPIN 2001, LNCS, vol. 2057, pp. 200–216. Springer, Berlin (2001)Google Scholar
  11. 11.
    Baskaran, M.M., Bordawekar, R.: Optimzing sparse matrix–vector multiplication on GPUs using compile-time and run-time strategies. IBM Reserach Report, RC24704 (W0812-047) (2008)Google Scholar
  12. 12.
    Bell A., Haverkort J.-P., Hermanns B.R.: Distribute disk-based algorithms for model checking very large Markov chains. Formal Methods Syst. Design 29, 177–196 (2006)CrossRefzbMATHGoogle Scholar
  13. 13.
    Blom, S., van de Pol, J., Weber, M.: LTSmin: Distributed and symbolic reachability. In: Proceedings of 22th Intl. Conf. Computer Aided Verification (CAV). LNCS, vol. 6174, pp. 354–359. Springer, Berlin (2010)Google Scholar
  14. 14.
    Bošnački, D., Edelkamp, S., Sulewski, D.: Efficient probabilistic model checking on general purpose graphics processors. In: Proceedings of 16th International SPIN Workshop, LNCS, vol. 3925, pp. 32–49. Springer, Berlin (2006)Google Scholar
  15. 15.
    Cooperman, G., Finkelstein, L.: New methods for using Cayley graphs in interconnection networks. Discrete Appl. Math. 37–38: 95118 (1992)Google Scholar
  16. 16.
    Ciardo, G.: Distributed and Structured Analysis Approaches to Study Large and Complex Systems. Eur. Educ. Forum School Formal Methods Perform. Anal. 2000, 344–374 (2000)Google Scholar
  17. 17.
    CUDA Data Parallel Primitives Library.
  18. 18.
  19. 19.
    Dai, P., Mausam, Weld, D.S.: External memory value iteration. In: Proceedings of the Twenty-Third AAAI Conf. on Artificial Intelligence (AAAI), pp. 898–904 (2008)Google Scholar
  20. 20.
    Edelkamp, S., Sulewski, D.: Model Checking via Delayed Duplicate Detection on the GPU. Technical Report 821, Universität Dortmund, Fachberich Informatik, ISSN 0933-6192 (2008)Google Scholar
  21. 21.
    Edelkamp, S., Jabbar, S., Bonet, B.: External memory value iteration. In: Proceedigs of 17th Int. Conf. on Automated Planning and Scheduling, pp. 128–135, AAAI Press (2007)Google Scholar
  22. 22.
    Edelkamp, S., Sulewski, D., Yücel, C.: Perfect hashing for state space exploration on the GPU. In: Proceedings of 20th Int. Conf. International Conference on Automated Planning and Scheduling, pp. 57–64 (2010)Google Scholar
  23. 23.
    Edelkamp, S., Sulewski, D., Yücel, C.: GPU exploration of two-player games with perfect hash functions. In: Proceedings of third international symposium of combinatorial search (To appear)Google Scholar
  24. 24.
    Garavel, H., Mateescu, R., Lang, F., Serwe, W.: CADP 2006: A toolbox for the construction and analysis of distributed processes. In: Proceedings of 19th Intl. Conf. Computer Aided Verification (CAV), LNCS, vol. 4590, pp. 158–163. Springer, Berlin (2006)Google Scholar
  25. 25.
    Garavel, H., Mateescu, R., Smarandache, I.M.: Parallel State space construction for model-checking model checking software. In: 8th International SPIN Workshop, LNCS, vol. 2057, pp. 217–234. Springer, Berlin (2001)Google Scholar
  26. 26.
    Hansson H., Jonsson B.: A Logic for reasoning about time and reliability. Formal Aspects Comput. 6(5), 512–535 (1994)CrossRefzbMATHGoogle Scholar
  27. 27.
    Haverkort, B., Hermanns, H., Katoen, J.-P.: On the use of model checking techniques for dependability evaluation. In: Proceedings of 19th IEEE Symposium on Reliable Distributed Systems (SRDS’00), pp. 228–237 (2000)Google Scholar
  28. 28.
    Herman T.: Probabilistic self-stabilization. Inform. Process. Lett. 35(2), 63–67 (1990)CrossRefMathSciNetzbMATHGoogle Scholar
  29. 29.
    Hermanns, H., Meyer-Kayser, J., Siegle, M.: Multi terminal binary decision diagrams to represent and analyse continuous time Markov Chains. In: Proceedings of 3rd International Workshop on Numerical Solution of Markov Chains (NSMC’99), pp. 188–207 (1999)Google Scholar
  30. 30.
    Holzmann G.J., Bošnački D.: The Design of a multi-core extension of the Spin Model Checker. IEEE Trans. Softw. Eng. 33(10), 659–674 (2007)CrossRefGoogle Scholar
  31. 31.
    Holzmann, G.J., Bošnački, D.: Multi-core model checking with spin. In: Proceedings of Parallel and Distributed Processing Symposium, IPDPS 2007, pp. 1–8. IEEE International (2007)Google Scholar
  32. 32.
    Inggs C.P., Barringer H.: CTL* model checking on a shared memory architecture. Electronic Notes Theor. Comput. Sci. 128(4), 107–123 (2005)CrossRefGoogle Scholar
  33. 33.
    Inggs C.P., Barringer H.: Effective state exploration for model checking on a shared memory architecture. Electronic Notes Theor. Comput. Sci. 68(4), 605–620 (2002)CrossRefGoogle Scholar
  34. 34.
    Kwiatkowska, M., Norman, G., Parker, D.: PRISM: Probabilistic symbolic model checker. In: Computer performance evaluation, modelling techniques and tools 12th international conference, TOOLS 2002, LNCS, vol. 2324, pp. 200–204. Springer, Berlin (2005)Google Scholar
  35. 35.
    Kwiatkowska, M., Norman, G., Parker, D.: Stochastic model checking. In: Formal methods for the design of computer, communication and software systems: performance evaluation, LNCS, vol. 4486, pp. 220–270. Springer, Berlin (2007)Google Scholar
  36. 36.
    Lerda, F., Sisto, R.: Distributed model checking in SPIN. In: Theoretical and Practical Aspects of SPIN Model Checking, 5th and 6th International SPIN Workshops, LNCS, vol. 1680, pp. 22–39. Springer, Berlin (1999)Google Scholar
  37. 37.
    Marowka A.: Parallel computing on any desktop. Commun. ACM 50(9), 75–78 (2007)CrossRefGoogle Scholar
  38. 38.
    OpenCL: The open standard for parallel programming of heterogeneous systems
  39. 39.
    Philips J.C., Braun R., Wang W., Gumbart J., Tajkhorshid E., Villa E., Chipot C., Skeel R.D., Kale L., Sculten K.: Scalable molecular dynamics with NAMD. J. Comput. Chem. 26, 1781–1802 (2005)CrossRefGoogle Scholar
  40. 40.
    Sengupta, S., Harris, M., Zhang, Y., Owens, J.D.: Scan primitives for GPU computing. In: Graphics Hardware 2007, pp. 97–106 (2007)Google Scholar
  41. 41.
    Stern, U., Dill, D.: Parallelizing the Mur\({\phi}\) Verifier. In: Proceedings of 9th Intl. Conf. Computer Aided Verification (CAV), LNCS, vol. 1254, pp. 256–278. Springer, Berlin (1997)Google Scholar
  42. 42.
    Stewart W.J.: Introduction to the Numerical Solution of Markov Chains. Princeton University Press, Princeton (1994)zbMATHGoogle Scholar
  43. 43.
    ATI Stream technology
  44. 44.
    Valmari, A.: The state explosion problem. In: Lectures on Petri Nets I: Basic Models, LNCS Tutorials, LNCS, vol. 1491, pp. 429–528. Springer, Berlin (1998)Google Scholar

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  • Dragan Bošnački
    • 1
  • Stefan Edelkamp
    • 2
  • Damian Sulewski
    • 2
  • Anton Wijs
    • 1
  1. 1.Eindhoven University of TechnologyEindhovenThe Netherlands
  2. 2.TZI, Universität BremenBremenGermany

Personalised recommendations