Skip to main content
Log in

A Mathematical Model of Parallel Programs and an Approach to Verification of MPI Programs Based on the Proposed Model

  • Published:
Automatic Control and Computer Sciences Aims and scope Submit manuscript

Abstract

This article presents a new mathematical model of parallel programs that can be used, in particular, for verification of parallel programs presented on a certain subset of the MPI parallel programming interface. The model is based on the concepts of sequential and distributed processes. A parallel program is modeled as a distributed process within which sequential processes communicate by asynchronously sending and receiving messages over channels. The main advantage of the proposed model is its capability of modeling and verifying parallel programs that generate an indefinite number of sequential processes. To illustrate the model’s performance, an example of its application to verification of an MPI matrix multiplication program is described.

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.

REFERENCES

  1. Holzmann, G.J., Design and Validation of Computer Protocols, Prentice-Hall, 1990.

    Google Scholar 

  2. Lopez, H.A., Marques, E.R., Martins, F., Ng, N., Santos, C., Vasconcelos, V.T., and Yoshida, N., Protocol-based verification of message-passing parallel programs, OOPSLA 2015: Proc. 2015 ACM SIGPLAN Int. Conf. on Object-Oriented Programming, Systems, Languages, and Applications, Pittsburgh, Pa., 2015, New York: Association for Computing Machinery, 2015, pp. 280–298.  https://doi.org/10.1145/2814270.2814302

  3. Grudenic, I. and Bogunovic, N., Modeling and verification of MPI based distributed software, Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2006, Mohr, B., Träff, J.L., Worringen, J., and Dongarra, J., Eds., Lecture Notes in Computer Science, vol. 4192, Berlin: Springer, 2006, pp. 123–132.  https://doi.org/10.1007/11846802_23

    Book  Google Scholar 

  4. Blass, A. and Gurevich, Yu., Abstract state machines capture parallel algorithms, ACM Trans. Comput. Logic, 2003, vol. 4, no. 4, pp. 578–651.  https://doi.org/10.1145/937555.937561

    Article  MathSciNet  MATH  Google Scholar 

  5. Siegel, S.F., Model checking nonblocking MPI programs, International Workshop on Verification, Model Checking, and Abstract Interpretation, VMCAI 2007, Cook, B. and Podelski, A., Eds., Lecture Notes in Computer Science, vol. 4349, Berlin: Springer, 2007, pp. 44–58.  https://doi.org/10.1007/978-3-540-69738-1_3

  6. Siegel, S.F., Mironova, A., Avrunin, G.S., and Clarke, L.A., Combining symbolic execution with model checking to verify parallel numerical programs, ACM Trans. Software Eng. Methodol., 2008, vol. 17, no. 2, pp. 1–34.  https://doi.org/10.1145/1348250.1348256

    Article  Google Scholar 

  7. Vakkalanka, S., Gopalakrishnan, G., and Kirby, R.M., Dynamic verification of MPI programs with reductions in presence of split operations and relaxed orderings, International Conference on Computer Aided Verification. CAV 2008, Gupta, A. and Malik, S., Eds., Lecture Notes in Computer Science, vol. 5123, Berlin: Springer, 2008, pp. 66–79.  https://doi.org/10.1007/978-3-540-70545-1_9

  8. Gopalakrishnan, G., Kirby, R.M., Siegel, S., Thakur, R., Gropp, W., Lusk, E., De Supinski, B.R., Schulz, M., and Bronevetsky, G., Formal analysis of MPI-based parallel programs, Commun. ACM, 2011, vol. 54, no. 12, pp. 82–91.  https://doi.org/10.1145/2043174.2043194

    Article  Google Scholar 

  9. Forejt, V., Joshi, S., Kroening, D., Narayanaswamy, G., and Sharma, S., Precise predictive analysis for discovering communication deadlocks in MPI programs, ACM Trans. Program. Languages Syst., 2017, vol. 39, no. 4, p. 15.  https://doi.org/10.1145/3095075

    Article  Google Scholar 

  10. Luo, Z., Zheng, M, and Siegel, S.F, Verification of MPI programs using CIVL, EuroMPI ’17: Proc. 24th European MPI Users’ Group Meeting, Chicago, 2017, New York: Association for Computing Machinery, 2017, p. 6.  https://doi.org/10.1145/3127024.3127032

    Book  Google Scholar 

  11. Hong, W., Chen, Z., Yu, H., and Wang, J., Evaluation of model checkers by verifying message passing programs, Sci. China Inf. Sci., 2019, vol. 62, p. 200101.  https://doi.org/10.1007/s11432-018-9825-3

    Article  MathSciNet  Google Scholar 

  12. Yu, H., Chen, Z., Fu, X., Wang, J., Su, Z., Sun, J., Huang, C., and Dong, W., Symbolic verification of message passing interface programs, ICSE ’20: Proc. ACM/IEEE 42nd International Conference on Software Engineering, Seoul, 2020, New York: Association for Computing Machinery, 2020, pp. 1248–1260.  https://doi.org/10.1145/3377811.3380419

Download references

Funding

This study was supported by a grant from the Ministry of Digital Development, Communications and Mass Media of the Russian Federation and AO Russian Venture Company (contract no. 004/20 dated March 20, 2020, IGK 0000000007119P190002).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. M. Mironov.

Ethics declarations

The author declares that he has no conflicts of interest.

Additional information

Translated by A. Ovchinnikova

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mironov, A.M. A Mathematical Model of Parallel Programs and an Approach to Verification of MPI Programs Based on the Proposed Model. Aut. Control Comp. Sci. 56, 762–777 (2022). https://doi.org/10.3103/S014641162207015X

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.3103/S014641162207015X

Navigation