<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">mais</journal-id><journal-title-group><journal-title xml:lang="ru">Моделирование и анализ информационных систем</journal-title><trans-title-group xml:lang="en"><trans-title>Modeling and Analysis of Information Systems</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1818-1015</issn><issn pub-type="epub">2313-5417</issn><publisher><publisher-name>Yaroslavl State University</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.18255/1818-1015-2021-4-394-412</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-1567</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Theory of Computing</subject></subj-group></article-categories><title-group><article-title>Математическая модель параллельных программ и основанный на ней подход к верификации MPI-программ</article-title><trans-title-group xml:lang="en"><trans-title>A Mathematical Model of Parallel Programs and an Approach Based on it to Verification of MPI Programs</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-9132-7804</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Миронов</surname><given-names>Андрей Михайлович</given-names></name><name name-style="western" xml:lang="en"><surname>Mironov</surname><given-names>Andrew M.</given-names></name></name-alternatives><email xlink:type="simple">amironov66@gmail.com</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Московский государственный университет им. М. В. Ломоносова</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Lomonosov Moscow State University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2021</year></pub-date><pub-date pub-type="epub"><day>18</day><month>12</month><year>2021</year></pub-date><volume>28</volume><issue>4</issue><fpage>394</fpage><lpage>412</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Миронов А.М., 2021</copyright-statement><copyright-year>2021</copyright-year><copyright-holder xml:lang="ru">Миронов А.М.</copyright-holder><copyright-holder xml:lang="en">Mironov A.M.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.mais-journal.ru/jour/article/view/1567">https://www.mais-journal.ru/jour/article/view/1567</self-uri><abstract><p>В работе излагается новая математическая модель параллельных программ, на базе которой можно в частности верифицировать параллельные программы, представленные на некотором подмножестве программного интерфейса параллельного программирования MPI. Данная модель основана на понятиях последовательного и распределенного процесса. Параллельная программа моделируется распределенным процессом, в котором последовательные процессы взаимодействуют путем асинхронной передачи и приема сообщений через каналы. Главным преимуществом изложенной модели является возможность моделирования и верификации параллельных программ, порождающих неопределенное число последовательных процессов. Изложенная модель проиллюстрирована применением к верификации MPI программы перемножения матриц.</p></abstract><trans-abstract xml:lang="en"><p>The paper presents a new mathematical model of parallel programs, on the basis of which it is possible, in particular, to verify parallel programs presented on a certain subset of the parallel programming interface MPI. This model is based on the concepts of a sequential and distributed process. A parallel program is modeled as a distributed process in which sequential processes communicate by asynchronously sending and receiving messages over channels. The main advantage of the described model is the ability to simulate and verify parallel programs that generate an indefinite number of sequential processes. The proposed model is illustrated by the application of verification of the matrix multiplication MPI program.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>параллельные программы</kwd><kwd>MPI</kwd><kwd>распределенные процессы</kwd><kwd>верификация</kwd></kwd-group><kwd-group xml:lang="en"><kwd>parallel programs</kwd><kwd>MPI</kwd><kwd>distributed processes</kwd><kwd>verification</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">G. J. Holzmann, Design and Validation of Computer Protocols. Prentice Hall, 1990.</mixed-citation><mixed-citation xml:lang="en">G. J. Holzmann, Design and Validation of Computer Protocols. Prentice Hall, 1990.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">H. A. Lopez et al., “Protocol-based verification of message-passing parallel programs,” in Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications - OOPSLA 2015, 2015, pp. 280-298.</mixed-citation><mixed-citation xml:lang="en">H. A. Lopez et al., “Protocol-based verification of message-passing parallel programs,” in Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications - OOPSLA 2015, 2015, pp. 280-298.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">I. Grudenic and N. Bogunovic, “Modeling and Verification of MPI Based Distributed Software,” in Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2006, vol. 4192, Springer, 2006, pp. 123-132.</mixed-citation><mixed-citation xml:lang="en">I. Grudenic and N. Bogunovic, “Modeling and Verification of MPI Based Distributed Software,” in Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2006, vol. 4192, Springer, 2006, pp. 123-132.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">A. Blass and Y. Gurevich, “Abstract State Machines Capture Parallel Algorithms,” in ACM Transactions on Computational Logic, 2003, pp. 578-651.</mixed-citation><mixed-citation xml:lang="en">A. Blass and Y. Gurevich, “Abstract State Machines Capture Parallel Algorithms,” in ACM Transactions on Computational Logic, 2003, pp. 578-651.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">S. F. Siegel, “Model Checking Nonblocking MPI Programs,” in International Workshop on Verification, Model Checking, and Abstract Interpretation, VMCAI, vol. 4349, Springer, 2007, pp. 44-58.</mixed-citation><mixed-citation xml:lang="en">S. F. Siegel, “Model Checking Nonblocking MPI Programs,” in International Workshop on Verification, Model Checking, and Abstract Interpretation, VMCAI, vol. 4349, Springer, 2007, pp. 44-58.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">S. F. Siegel, A. Mironova, G. S. Avrunin, and L. A. Clarke, “Combining symbolic execution with model checking to verify parallel numerical programs,” ACM Transactions on Software Engineering and Methodology, vol. 17, no. 2, pp. 1-34, 2008.</mixed-citation><mixed-citation xml:lang="en">S. F. Siegel, A. Mironova, G. S. Avrunin, and L. A. Clarke, “Combining symbolic execution with model checking to verify parallel numerical programs,” ACM Transactions on Software Engineering and Methodology, vol. 17, no. 2, pp. 1-34, 2008.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">S. Vakkalanka, G. Gopalakrishnan, and R. M. Kirby, “Dynamic Verification of MPI Programs with Reductions in Presence of Split Operations and Relaxed Orderings,” in International Conference on Computer Aided Verification CAV 2008, vol. 5123, Springer, 2008, pp. 66-79.</mixed-citation><mixed-citation xml:lang="en">S. Vakkalanka, G. Gopalakrishnan, and R. M. Kirby, “Dynamic Verification of MPI Programs with Reductions in Presence of Split Operations and Relaxed Orderings,” in International Conference on Computer Aided Verification CAV 2008, vol. 5123, Springer, 2008, pp. 66-79.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">G. Gopalakrishnan et al., “Formal analysis of MPI-based parallel programs,” Communications ACM, vol. 54, no. 12, pp. 82-91, 2011.</mixed-citation><mixed-citation xml:lang="en">G. Gopalakrishnan et al., “Formal analysis of MPI-based parallel programs,” Communications ACM, vol. 54, no. 12, pp. 82-91, 2011.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">V. Forejt, S. Joshi, D. Kroening, G. Narayanaswamy, and S. Sharma, “Precise Predictive Analysis for Discovering Communication Deadlocks in MPI Programs,” ACM Transactions on Programming Languages and Systems, vol. 39, no. 4, pp. 1-27, 2017.</mixed-citation><mixed-citation xml:lang="en">V. Forejt, S. Joshi, D. Kroening, G. Narayanaswamy, and S. Sharma, “Precise Predictive Analysis for Discovering Communication Deadlocks in MPI Programs,” ACM Transactions on Programming Languages and Systems, vol. 39, no. 4, pp. 1-27, 2017.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Z. Luo, M. Zheng, and S. F. Siegel, “Verification of MPI programs using CIVL,” in EuroMPI, 2017, pp. 6:1-6:11.</mixed-citation><mixed-citation xml:lang="en">Z. Luo, M. Zheng, and S. F. Siegel, “Verification of MPI programs using CIVL,” in EuroMPI, 2017, pp. 6:1-6:11.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">W. Hong, Z. Chen, H. Yu, and J. Wang, “Evaluation of model checkers by verifying message passing programs,” in Science China Information Sciences, vol. 62, 2019.</mixed-citation><mixed-citation xml:lang="en">W. Hong, Z. Chen, H. Yu, and J. Wang, “Evaluation of model checkers by verifying message passing programs,” in Science China Information Sciences, vol. 62, 2019.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">H. Yu et al., “Symbolic Verification of Message Passing Interface Programs,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, ICSE '20, 2020, pp. 1248-1260.</mixed-citation><mixed-citation xml:lang="en">H. Yu et al., “Symbolic Verification of Message Passing Interface Programs,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, ICSE '20, 2020, pp. 1248-1260.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
