Skip to main content
Log in

Parallel probabilistic model checking on general purpose graphics processors

  • SPIN 2009
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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)

  2. Baier C., Katoen J.-P.: Principles of Model Checking, pp. 950. MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  4. Bal, H., Barnat, J., Brim, L., Verstoep, K.: Efficient large-scale model checking. In: IEEE International Parallel & Distributed Processing Symposium (IPDPS) (2009)

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  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)

    Article  MATH  Google Scholar 

  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)

  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)

  15. Cooperman, G., Finkelstein, L.: New methods for using Cayley graphs in interconnection networks. Discrete Appl. Math. 37–38: 95118 (1992)

  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)

  17. CUDA Data Parallel Primitives Library. http://gpgpu.org/developer/cudpp

  18. CUDA Programming Forum. http://www.nvidia.com/object/cuda_home.html

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  26. Hansson H., Jonsson B.: A Logic for reasoning about time and reliability. Formal Aspects Comput. 6(5), 512–535 (1994)

    Article  MATH  Google Scholar 

  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)

  28. Herman T.: Probabilistic self-stabilization. Inform. Process. Lett. 35(2), 63–67 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

    Article  Google Scholar 

  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)

  32. Inggs C.P., Barringer H.: CTL* model checking on a shared memory architecture. Electronic Notes Theor. Comput. Sci. 128(4), 107–123 (2005)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

  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)

  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)

  37. Marowka A.: Parallel computing on any desktop. Commun. ACM 50(9), 75–78 (2007)

    Article  Google Scholar 

  38. OpenCL: The open standard for parallel programming of heterogeneous systems http://www.khronos.org/opencl/

  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)

    Article  Google Scholar 

  40. Sengupta, S., Harris, M., Zhang, Y., Owens, J.D.: Scan primitives for GPU computing. In: Graphics Hardware 2007, pp. 97–106 (2007)

  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)

  42. Stewart W.J.: Introduction to the Numerical Solution of Markov Chains. Princeton University Press, Princeton (1994)

    MATH  Google Scholar 

  43. ATI Stream technology http://www.amd.com/stream

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dragan Bošnački.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bošnački, D., Edelkamp, S., Sulewski, D. et al. Parallel probabilistic model checking on general purpose graphics processors. Int J Softw Tools Technol Transfer 13, 21–35 (2011). https://doi.org/10.1007/s10009-010-0176-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-010-0176-4

Keywords

Navigation