Исспользование MPI при определении динамических характеристик времени выполнения распределенного приложения, страница 2

1.  План работы:

В 3 самостоятельной работе, нами уже было написано приложение, рассчитывающее динамические характеристики для распределенного приложения, соответствующего заданной модели.

Поэтому, в данной самостоятельной работе нам необходимо модифицировать уже созданное приложение, таким образом, чтобы оно поддерживало параллельную обработку данных, используя библиотеку MPI.

Так как в 3 самостоятельной работе мы уже проводили проверку результатов с помощью математического пакета MatCad и подтвердили их корректность, то в этой работе мы, мы будет опираться на уже имеющиеся результаты вычислений.

Так как мы хотим добиться параллельной обработки данных, то очевидно, что в результате работы, должно уменьшиться время вычислений, а результат работы приложения измениться не должен.

Работу я начну с того, что измерю время выполнения программы для рассчета динамических характеристик, разработанного нами в 3 самостоятельной работе, после чего получу результаты для последующей проверки нового продукта, исспользующего MPI для проведения сравнения.


2.  Вычисление динамических характеристик времени выполнения распределенного приложения при помощи разработанного нами продукта

2.1  Вычисление динамических характеристик и времени выполнения программы, для расчета динамических характеристик, без исспользования библиотеки MPI:

Данная программа уже написана, нам остается только запустить ее.

Результаты работы программы без MPI представлены на рис.2:

Рис.2 Результаты работы программы без MPI

Как мы видим, программа без MPI выполнялась 1 секунду 422 милисекунды. Посмотрим, какие результаты нам даст применение MPI.


2.2  Вычисление динамических характеристик и времени выполнения программы, для расчета динамических характеристик, с исспользованием библиотеки MPI.

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

Сначала стоит определиться, какие из процессов независимы и могут быть выполнены ассинхронно, а какие зависят от результатов других процессов и должны быть выполненны синхронно.