Тема: Группы и коммуникаторы
Цель: Научится использовать механизмы создания и работы с группами и коммуникаторами
Задание к лабораторной работе
В заданиях лабораторной работы предлагается дописать предлагаемые фрагменты программ на языке C, написанные с использованием процедур MPI. Пропущенные фрагменты обозначены соответствующим комментарием.
Задание 1 В программе на языке C (z1.c) создаются две группы процессов gr_1 и gr_2. После чего на консоль выводится информация о каждом процессе: ранг в глобальной группе gr_world и в группах gr_1, gr_2. gr_1 должна создаваться путем включения в нее части процессов из группы gr_world заданных массивом рангов members1. gr_2 должна создаваться путем исключения из группы gr_world заданных процессов массивом рангов members2. Некоторые команды по созданию групп пропущены. Откорректировать исходный код программы. Откомпилировать и запустить программу.
Задание 2 В программе на языке C (z_2.c) необходимо для части процессов из глобального коммуникатора создать группу, в которую будут входить процессы с рангами из массива ranks. Для созданной группы необходимо создать коммуникатор и определить ранг процесса в вновь созданной группе. Некоторые команды по созданию группы и коммуникатора пропущены. Откорректировать исходный код программы. Откомпилировать и запустить программу.
Задание 3 Проанализировать исходный код приложения и внести в него правки. Некоторые команды по созданию группы и коммуникатора пропущены. Откомпилировать и запустить программу.
Литература
Эндрю Таненбаум, Мартин ван Стеен Распределенные системы. Принципы и парадигмы = Andrew S. Tanenbaum, Maarten van Steen. "Destributed systems. Principles and paradigms. — Санкт-Петербург: Питер, 2003. — 877 с. — (Классика computer science). — ISBN 5-272-00053-6
С. Н. Андрианов, А. Б. Дегтярев 1 // ПАРАЛЛЕЛЬНЫЕ И РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛЕНИЯ. — С.-Петерб.: Издательство С.-Петербургского университета, 2007. — 61 с.
А. А. Букатов, В. Н. Дацюк, А. И. Жегуло Программирование многопроцессорных вычислительных систем. — Ростов-на-Дону: ООО «ЦВВР», 2003. — 208 с. — ISBN 5-94153-062-5
Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования. Пер.с англ. — М.: Издательский дом «Вильямс», 2003.
Миллер Р., Боксер Л. Последовательные и параллельные алгоритмы. Пер. с англ. — М.: БИНОМ. Лаборатория знаний, 2006.
Богачёв К.Ю. Основы параллельного программирования. — М.: БИНОМ. Лаборатория знаний, 2003.