skip to main content
10.1145/2632362.2632379acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Towards a GPGPU-parallel SPIN model checker

Published: 21 July 2014 Publication History

Abstract

As General-Purpose Graphics Processing Units (GPGPUs)become more powerful, they are being used increasingly often in high-performance computing applications. State space exploration, as employed in model-checking and other verification techniques, is a large, complex problem that has successfully been ported to a variety of parallel architectures. Use of the GPU for this purpose, however, has only recently begun to be studied. We show how the 2012 multicore CPU-parallel state-space exploration algorithm of the SPIN model checker can be re-engineered to take advantage of the unique parallel-processing capabilities of the GPGPU architecture, and demonstrate how to overcome the non-trivial design obstacles presented by this task. Our preliminary results demonstrate significant performance improvements over the traditional sequential model checker for state spaces of appreciable size (>10 million unique states).

References

[1]
D. A. Alcantara, A. Sharf, F. Abbasinejad, S. Sengupta, M. Mitzenmacher, J. D. Owens, and N. Amenta. Real-time parallel hashing on the GPU. In ACM SIGGRAPH Asia 2009 Papers, SIGGRAPH Asia ’09, pages 154:1–154:9, New York, NY, USA, 2009. ACM.
[2]
D. A. F. Alcantara. Efficient hash tables on the GPU, 2011. Copyright - Copyright ProQuest, UMI Dissertations Publishing 2011; Last updated - 2014-01-23; First page - n/a; M3: Ph.D.
[3]
J. Barnat, P. Bauch, L. Brim, and M. ˘ Ce˘ ska. Designing fast LTL model checking algorithms for many-core GPUs. Journal of Parallel and Distributed Computing, 72(9):1083–1097, 2012. Accelerators for High-Performance Computing.
[4]
J. Barnat, L. Brim, and P. Ro˘ ckai. Scalable multi-core LTL model-checking. In D. Bo˘ sna˘ cki and S. Edelkamp, editors, Proc. of SPIN 2007: the 14th international SPIN conference on Model checking software, volume 4595 of Lecture Notes in Computer Science, pages 187–203. Springer Berlin Heidelberg, 2007.
[5]
J. Barnat, L. Brim, and J. St˘ r´ıbrná. Distributed LTL model-checking in SPIN. In M. Dwyer, editor, Proc. of SPIN 2001: the 8th International SPIN Workshop on Model Checking of Software, volume 2057 of Lecture Notes in Computer Science, pages 200–216. Springer Berlin Heidelberg, 2001.
[6]
E. Bartocci, E. M. Cherry, J. Glimm, R. Grosu, S. A. Smolka, and F. H. Fenton. Toward real-time simulation of cardiac dynamics. In Proceedings of the 9th International Conference on Computational Methods in Systems Biology, CMSB ’11, pages 103–112, New York, NY, USA, 2011. ACM.
[7]
E. Bartocci, R. Singh, F. B. von Stein, A. Amedome, A. J. Caceres, J. Castillo, E. Closser, G. Deards, A. Goltsev, R. S. Ines, C. Isbilir, J. K. Marc, D. Moore, D. Pardi, S. Sadhu, S. Sanchez, P. Sharma, A. Singh, J. Rogers, A. Wolinetz, T. Grosso-Applewhite, K. Zhao, A. B. Filipski, R. F. Gilmour, R. Grosu, J. Glimm, S. A. Smolka, E. M. Cherry, E. M. Clarke, N. Griffeth, and F. H. Fenton. Teaching cardiac electrophysiology modeling to undergraduate students: laboratory exercises and GPU programming for the study of arrhythmias and spiral wave dynamics. Adv Physiol Educ, 35(4):427–437, 2011.
[8]
Y. Deng, B. D. Wang, and S. Mu. Taming irregular EDA applications on GPUs. In Proceedings of the ICCAD ’09: the International Conference on Computer-Aided Design, ICCAD ’09, pages 539–546, New York, NY, USA, 2009. ACM.
[9]
S. Edelkamp and D. Sulewski. Efficient explicit-state model checking on general purpose graphics processors. In J. Pol and M. Weber, editors, Proc. of SPIN’10: the 17th International SPIN Conference on Model Checking Software, volume 6349 of Lecture Notes in Computer Science, pages 106–123. Springer Berlin Heidelberg, 2010.
[10]
S. Evangelista, A. Laarman, L. Petrucci, and J. van de Pol. Improved multi-core nested depth-first search. In S. Chakraborty and M. Mukund, editors, Automated Technology for Verification and Analysis, Lecture Notes in Computer Science, pages 269–283. Springer Berlin Heidelberg, 2012.
[11]
P. Harish and P. Narayanan. Accelerating large graph algorithms on the GPU using CUDA. In S. Aluru, M. Parashar, R. Badrinath, and V. Prasanna, editors, Proc. of HiPC’07: the 14th international conference on High performance computing, volume 4873 of Lecture Notes in Computer Science, pages 197–208. Springer Berlin Heidelberg, 2007.
[12]
G. Holzmann. Parallelizing the SPIN model checker. In A. Donaldson and D. Parker, editors, Proc. of SPIN 2012: the 19th International Workshop on SPIN Model Checking Software, volume 7385 of Lecture Notes in Computer Science, pages 155–171. Springer Berlin Heidelberg, 2012.
[13]
G. Holzmann and D. Bo˘ sna˘ cki. The design of a multicore extension of the SPIN model checker. IEEE Transactions on Software Engineering, 33(10):659–674, Oct 2007.
[14]
S. Hong, S. K. Kim, T. Oguntebi, and K. Olukotun. Accelerating CUDA graph algorithms at maximum warp. In Proc. of PPoPP ’11: the 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP ’11, pages 267–276, New York, NY, USA, 2011. ACM.
[15]
A. Laarman, J. van de Pol, and M. Weber. Multi-core LTSmin: Marrying modularity and scalability. In M. Bobaru, K. Havelund, G. Holzmann, and R. Joshi, editors, NASA Formal Methods, volume 6617 of Lecture Notes in Computer Science, pages 506–511. Springer Berlin Heidelberg, 2011.
[16]
L. Luo, M. Wong, and W. Hwu. An effective GPU implementation of breadth-first search. In Proc. of DAC ’10: the 47th Design Automation Conference, DAC ’10, pages 52–55, New York, NY, USA, 2010. ACM.
[17]
M. M. Michael. High performance dynamic lock-free hash tables and list-based sets. In Proc. of SPAA ’02: the Fourteenth Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA ’02, pages 73–82, New York, NY, USA, 2002. ACM.
[18]
A. Murthy, E. Bartocci, F. Fenton, J. Glimm, R. Gray, E. Cherry, S. Smolka, and R. Grosu. Curvature analysis of cardiac excitation wavefronts. IEEE/ACM Transactions on Computational Biology and Bioinformatics, 10(2):323–336, March 2013.
[19]
O. Shalev and N. Shavit. Split-ordered lists: Lock-free extensible hash tables. Journal of the ACM, 53(3):379–405, may 2006.
[20]
C.-H. Shann, T.-L. Huang, and C. Chen. A practical nonblocking queue algorithm using compare-and-swap. In Proc. of ICPADS ’00: the 7th International Conference on Parallel and Distributed Systems, pages 470–475, 2000.
[21]
K. Verstoep, H. Bal, J. Barnat, and L. Brim. Efficient large-scale model checking. In Parallel Distributed Processing, 2009. IPDPS 2009. IEEE International Symposium on, pages 1–12, May 2009.
[22]
A. Wijs and D. Bo˘ sna˘ cki. GPUexplore: Many-core on-the-fly state space exploration using GPUs. In E. Ábráham and K. Havelund, editors, Proc. of TACAS 2014: the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, volume 8413 of Lecture Notes in Computer Science, pages 233–247. Springer Berlin Heidelberg, 2014.
[23]
S. Xiao and W. chun Feng. Inter-block GPU communication via fast barrier synchronization. In Proc. of IPDPS 2010: the IEEE International Symposium on Parallel Distributed Processing, pages 1–12, April 2010.

Cited By

View all
  • (2024)The fast and the capacious: memory-efficient multi-GPU accelerated explicit state space exploration with GPUexplore 3.0Frontiers in High Performance Computing10.3389/fhpcp.2024.12853492Online publication date: 13-Mar-2024
  • (2024)No Need to Be Stubborn: Partial-Order Reduction for GPU Model Checking RevisitedLeveraging Applications of Formal Methods, Verification and Validation. Specification and Verification10.1007/978-3-031-75380-0_20(353-373)Online publication date: 27-Oct-2024
  • (2024)Hitching a Ride to a Lasso: Massively Parallel On-The-Fly LTL Model CheckingTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-031-57249-4_2(23-43)Online publication date: 6-Apr-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPIN 2014: Proceedings of the 2014 International SPIN Symposium on Model Checking of Software
July 2014
136 pages
ISBN:9781450324526
DOI:10.1145/2632362
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 ACM 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]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 July 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CUDA
  2. GPGPU
  3. Model Checking
  4. Multicore
  5. SPIN
  6. State Space Exploration

Qualifiers

  • Article

Conference

ISSTA '14
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)3
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)The fast and the capacious: memory-efficient multi-GPU accelerated explicit state space exploration with GPUexplore 3.0Frontiers in High Performance Computing10.3389/fhpcp.2024.12853492Online publication date: 13-Mar-2024
  • (2024)No Need to Be Stubborn: Partial-Order Reduction for GPU Model Checking RevisitedLeveraging Applications of Formal Methods, Verification and Validation. Specification and Verification10.1007/978-3-031-75380-0_20(353-373)Online publication date: 27-Oct-2024
  • (2024)Hitching a Ride to a Lasso: Massively Parallel On-The-Fly LTL Model CheckingTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-031-57249-4_2(23-43)Online publication date: 6-Apr-2024
  • (2023)Implementing a CTL Model Checker with $$\mu \mathcal {G}$$, a Language for Programming Graph Neural NetworksFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-35355-0_4(37-54)Online publication date: 10-Jun-2023
  • (2023)GPUexplore 3.0: GPU Accelerated State Space Exploration for Concurrent Systems with DataModel Checking Software10.1007/978-3-031-32157-3_11(188-197)Online publication date: 2-May-2023
  • (2023)A GPU Tree Database for Many-Core Explicit State Space ExplorationTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-031-30823-9_35(684-703)Online publication date: 22-Apr-2023
  • (2021)Practical Model Checking on FPGAsACM Transactions on Reconfigurable Technology and Systems10.1145/344827214:2(1-18)Online publication date: 15-Jul-2021
  • (2021)A Design of GPU-Based Quantitative Model CheckingVerification, Model Checking, and Abstract Interpretation10.1007/978-3-030-67067-2_20(441-463)Online publication date: 12-Jan-2021
  • (2020)Swarm model checking on the GPUInternational Journal on Software Tools for Technology Transfer10.1007/s10009-020-00576-xOnline publication date: 16-Jun-2020
  • (2019)Runtime-Programmable Pipelines for Model Checkers on FPGAs2019 29th International Conference on Field Programmable Logic and Applications (FPL)10.1109/FPL.2019.00018(51-58)Online publication date: Sep-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media