Abstract

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.

Highlights

  • ВведениеПараллельные программы – это программы, предназначенные для исполнения на многопроцессорных вычислительных системах (МПВС).

  • Существующие методы решения данной задачи пригодны лишь для достаточно ограниченного класса параллельных программ.

  • В настоящей работе вводится новая математическая модель параллельных программ, на основе которой можно решать задачи верификации параллельных программ, представленных на некотором подмножестве MPI.

Read more

Summary

Введение

Параллельные программы – это программы, предназначенные для исполнения на многопроцессорных вычислительных системах (МПВС). Существующие методы решения данной задачи пригодны лишь для достаточно ограниченного класса параллельных программ. В настоящей работе вводится новая математическая модель параллельных программ, на основе которой можно решать задачи верификации параллельных программ, представленных на некотором подмножестве MPI. Наиболее близким из существующих в настоящее время подходов к моделированию параллельных программ к тому подходу, который излагается в настоящей работе, является формализм расширенных конечных автоматов (Extended Finite State Machine – EFSM) [1]. Наиболее важной особенностью предлагаемого подхода является возможность его применения для верификации параллельных программ, которые могут порождать неопределенное число процессов. В этой работе представлен инструмент ParTypes для моделирования и верификации параллельных программ, порождающих неопределенное число процессов. Преимуществом данной работы является пример решения задачи верификации такой MPI-программы, которую невозможно верифицировать на основе использования других известных моделей параллельных программ

MPI-программы
MPI-функции передачи сообщений
MPI-программа умножения матриц
Неформальное описание MPI-программы умножения матриц
Модель параллельных программ
Вспомогательные понятия
Действия
Переходы в последовательных процессах
Редукция графов последовательных процессов
Переименования
Понятие распределенного процесса
Переходы в распределенных процессах
Метод построения модели MPI-программы в виде распределенного процесса
Вспомогательные переменные
Упрощения
Последовательный процесс 0
Заключение
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call