Проект

Общее

Профиль

Замечания по результатам сдачи экзамена 15 декабря

Добавил(а) Vladimir Bakhtin 11 месяца назад

По результатам сдачи экзамена, который прошел сегодня, хотелось бы отметить следующее:
1. Мы неоднократно обсуждали на лекциях, что при разработке MPI-программ необходимо распределять данные между процессами.
Ни в одном из процессов массив (массивы) не должны находиться целиком.
В каждом процессе должна находиться лишь часть массива(какое-то подмножество строк/столбцов или блоков массива).
Размер этой части должен определяться с учетом количества MPI-процессов, используемых для выполнения программы.

MPI-программы, в которых массивы не распределены между процессами не принимаются.

2. На лекциях мы обсуждали недостатки централизованных алгоритмов и всегда для решения той или иной задачи старались предложить децентрализованный алгоритм, который бы обладал следующими свойствами:
-ни одна машина не имеет полной информации о состоянии системы;
-машины принимают решения на основе только локальной информации;
-выход из строя одной машины не должен приводить к отказу алгоритма.
Во второй программе необходимо реализовать именно такой алгоритм.
MPI-программы, в которых используется модель master-slave, в которых master-процесс используется для сохранения/чтения данных из контрольной точки, для дальнейшей рассылки, а затем сборки данных от всех процессов не принимаются.

3. В постановке 2 задачи говорится: "Добавить контрольные точки для продолжения работы программы в случае сбоя." На лекциях мы рассматривали средства параллельного ввода/вывода, которые есть в MPI. Контрольные точки должны быть сделаны именно с использованием MPI-IO. Программы без контрольных точек не принимаются.

4. Во многих программах, которые были показаны мне сегодня, было множество лишних барьерных синхронизаций (MPI_Barrier). Просьба внимательно проанализировать Ваши программы и убрать ненужные синхронизации. А если они действительно необходимы, то необходимо учесть их во временных оценках.


Комментарии