Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка Гуцу Олег.docx
Скачиваний:
5
Добавлен:
21.09.2019
Размер:
2.32 Mб
Скачать

Запуск mpi-программ

Для за­пус­ка MPI-про­грамм в ком­плект MPICH2 вхо­дит про­грам­ма с гра­фи­че­ским интер­фей­сом Wmpiexec, ко­то­рая пред­став­ля­ет со­бой оболочку во­круг со­от­вет­ствую­щей утили­ты ко­манд­ной стро­ки Mpiexec. Однако Wmpiexec не обладает функцией балансировки нагрузки между узлами с разной производительностью. Поэтому для запуска предлагается воспользоваться программой Интерфейс для MPICH(Рис. 2.13).

Рис. 2.13. Скриншот программы Интерфейс для MPICH.

Балансировка

Для балансировки нагрузки, необходимо:

  • Внести данные в таблицу(имя компьютера или IP-адрес).

  • Указать сетевой путь к тестирующей программе, и сетевой путь к выходному файлу.

  • Нажать кнопку «Балансировка».

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

Для запуска программы, необходимо, чтобы таблица узлов была полностью заполнена. При этом пользователь может изменить рекомендованные программой значения. Также должен быть указан путь к mpiexec.exe и сетевой путь к MPI-программе. После введения данных нужно нажать «Запуск».

Результаты выполнения mpi-программы

В ходе дальнейшего выполнения лабораторной работы необходимо выполнить MPI-программу несколько раз и занести данные о времени выполнения программы в таблицу №1. В столбце Вычислительные узлы нужно перечислить узлы, на которых выполняется задание. Сложность задачи это параметр, который определяет объем вычислений для решения проблемы. В общем случае это может быть заданная точность вычислений, объём входных данных и т.д. В нашем случае это число итераций вычисления интеграла. После выполнения MPI-программы с заданными (согласно варианту) сложностью и конфигурацией кластера, необходимо внести время выполнения программы в секундах в таблицу. Если задача решается нескольких узлах то необходимо произвести запуск в 2-х режимах: с равномерно распределённой нагрузкой и сбалансировано распределённой.

В данном примере запуск MPI-программы производится на следующих конфигурациях:

  • 2 узла с двухядерными процессорами(Рис 2.14);

  • 1 узел с одним ядром(если назначить 1 узлу только один процесс, то он будет выполняться на одном ядре, т.е. последовательно);

  • 1 узел с числом процессов, назначенных ему, растущим как 2x ,где x – номер опыта (т.е. 1, 2, 4, 8, 16, 32, 64), для демонстрации влияния накладных расходов распараллеливания задачи на общее время выполнения программы.

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

Рисунок. 2.14. Схема кластера из 2-х узлов.

Таблица №2.5. Результаты выполнения MPI-программ на кластере на базе MPICH2.

Вычислительные узлы

Сложность задачи

Время выполнения

Равномерно распределённая нагрузка

Сбалансировано распределенная нагрузка

Узел 1

Узел 2

1

0.137732

0.010345

1000

0.003373

0.003709

1000000

0.010750

0.006647

10000000

0.061743

0.150230

100000000

0.536879

0.428189

500000000

2.368173

1.638354

1000000000

4.806102

3.204190

2000000000

9.413170

6.402070

Узел 1 последовательное выполнение

1

0.000311

-

1000

0.000274

-

1000000

0.008735

-

10000000

0.088661

-

100000000

0.885291

-

500000000

4.463532

-

1000000000

8.913408

-

2000000000

17.874241

-

Узел 1:1 процесс

1000000

0.008860

-

Узел 1:2 процесса

1000000

0.004488

-

Узел 1:4 процесса

1000000

0.004782

-

Узел 1:8 процессов

1000000

0.005014

-

Узел 1:16 процессов

1000000

0.006190

-

Узел 1:32 процесса

1000000

0.007988

-

Узел 1:64 процесса

1000000

0.013651

-