Verification of MPI programs via compilation into Petri nets

Book chapter


Guliak, R.N., Shmeleva, T.R. and Zaitsev, D. 2025. Verification of MPI programs via compilation into Petri nets. in: Raj, P., Dutta, P. K., Chong, P. H. J., Song, H. and Zaitsev, D. A. (ed.) Applied Graph Data Science : Graph Algorithms and Platforms, Knowledge Graphs, Neural Networks, and Applied Use Cases Morgan Kaufmann; Elsevier Inc.. pp. 245-269
AuthorsGuliak, R.N., Shmeleva, T.R. and Zaitsev, D.
EditorsRaj, P., Dutta, P. K., Chong, P. H. J., Song, H. and Zaitsev, D. A.
Abstract

We study parallel Java programs that use an implementation of the MPI (Message-Passing Interface) standard MPJ with the goal of proving their liveness that can be formulated in a simplified form as absence of deadlocks. In the process of parsing a given program, we create the program MPI communication model in the form of a Petri net. A static code analyzer has been developed; among its current version limitations are: point-to-point MPI communication functions Send and Recv are considered; models are obtained for a given number of processes; unfolding of loops is implemented for loops with the number of repetition known on the compilation stage. The obtained Petri net model of the program MPI communication is analyzed by Tina modeling system using the state space and symbolic state space techniques; application of the symbolic state space tool tedd for finding deadlocks yields manifold speed-up that makes feasible analyzing big software systems. The results are illustrated with a case study that includes both sets of program examples: deadlock free and containing deadlocks. The verification kit is supplied with generators of MPJ programs for testing and benchmarking the analyzer on big programs with pre-defined patterns of communications such as a chain and a loop of a given size, etc.

KeywordsHigh-performance computing; MPI; verification; deadlock; Petri net; clan
Page range245-269
Year2025
Book titleApplied Graph Data Science : Graph Algorithms and Platforms, Knowledge Graphs, Neural Networks, and Applied Use Cases
PublisherMorgan Kaufmann; Elsevier Inc.
ISBN9780443296543
Digital Object Identifier (DOI)https://doi.org/10.1016/B978-0-443-29654-3.00005-3
Web address (URL)https://www.sciencedirect.com/science/article/abs/pii/B9780443296543000053
File
File Access Level
Restricted
Output statusPublished
Publication dates31 Jan 2025
Publication process dates
Deposited31 Mar 2025
Permalink -

https://repository.derby.ac.uk/item/qw4zv/verification-of-mpi-programs-via-compilation-into-petri-nets

  • 20
    total views
  • 1
    total downloads
  • 14
    views this month
  • 0
    downloads this month

Export as

Related outputs

3D multicore CPU vs GPU on sparse patterns of Sleptsov net virtual machine
Zaitsev, D., Ajima, Y., Bartlett, J. F. C. and Kumar, A. 2025. 3D multicore CPU vs GPU on sparse patterns of Sleptsov net virtual machine. International Journal of Parallel, Emergent and Distributed Systems. https://doi.org/10.1080/17445760.2025.2490148
Analysis of Bitcoin fork by colored Petri nets
Zhou, Z., Liu, D., Shmeleva, T.R. and Zaitsev, D. 2024. Analysis of Bitcoin fork by colored Petri nets. 2024 IEEE International Conference on Systems, Man, and Cybernetics (SMC). IEEE. https://doi.org/10.1109/SMC54092.2024.10831492
Sleptsov net based reliable embedded system design on microcontrollers and FPGAs
Xu, R., Zhang, S., Liu, D. and Zaitsev, D. 2024. Sleptsov net based reliable embedded system design on microcontrollers and FPGAs. 2024 IEEE International Conference on Embedded Software and Systems (ICESS). IEEE. https://doi.org/10.1109/ICESS64277.2024.00011
Notation for mass parallel algorithms: computing Petri net state space on GPU case study
Zaitsev, D., Zhang, Z., Liu, D. and Shmeleva, T. R. 2024. Notation for mass parallel algorithms: computing Petri net state space on GPU case study. International Journal of Parallel, Emergent and Distributed Systems . pp. 1-15. https://doi.org/10.1080/17445760.2024.2431545