ТЕОРИЯ И ПРАКТИКА ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ НА ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ. ТЕХНОЛОГИЯ MPI(24-32 часа) |
Данный курс предназначен для освоения технологии MPI. Курс рассчитан примерно на 32 часа занятий и включает в себя введение в операционную систему UNIX, практические сведения о параллелизме и его использовании, а также подробное изучение технологии параллельного программирования MPI (версия стандарта MPI 1.1). Предполагается одновременное проведение практических занятий на высокопроизводительном параллельном компьютере (вычислительном кластере) с выполнением предложенных заданий.
- Введение в операционную систему UNIX. Кратко о параллелизме и его
использовании. Вычислительные кластеры - архитектура, основные
характеристики, использование.
Практические занятия: вход в систему, освоение команд UNIX, написание, компиляция и отладка последовательных вариантов программ. - Общая структура программы. Общие функции MPI. Прием/передача сообщений
с блокировкой. Различные виды операторов Send.
Практические занятия: определение базовых характеристик компьютера, написание, отладка и оптимизация первых параллельных программ. - Прием/передача сообщений без блокировки. Различные виды
операторов Wait и Test.
Практические занятия: реализация различных коммуникационных схем с использованием изученных видов пересылок. - Отложенные взаимодействия. Предотвращение тупиковых ситуаций,
совмещенные прием и передача сообщений. Барьерная синхронизация.
Практические занятия: сравнение эффективности различных видов коммуникаций, реализация первого параллельного варианта содержательной практической задачи. - Коллективные взаимодействия процессов.
Практические занятия: сравнение эффективности коллективных операций с их моделированием при помощи пересылок типа точка-точка, использование коллективных операций в содержательной практической задаче. - Операции с группами процессов и коммуникаторами. Виртуальные топологии.
Практические занятия: использование групп и коммуникаторов, использование виртуальной топологии в содержательной практической задаче. - Производные типы данных. Упаковка данных.
Практические занятия: задачи на пересылки разнотипных данных, исследование и оптимизация содержательной практической задачи, нахождение узких мест, получение результатов, обсуждение.
Литература:
- MPI: A Message-Passing Interface Standard (Version 1.1)
- В.В.Воеводин, Вл.В.Воеводин "Параллельные вычисления", БХВ-Петербург, 2002, 608 стр.
- А.С.Антонов "Введение в параллельные вычисления (методическое пособие)", изд-во Физического факультета МГУ, 2002, 70 стр.
- А.С.Антонов Параллельное программирование с использованием технологии MPI: Учебное пособие. -М.: Изд-во МГУ, 2004.-71 с.
- А.А. Букатов, В.Н. Дацюк, А.И. Жегуло. Программирование многопроцессорных вычислительных систем. Ростов-на-Дону. Издательство ООО "ЦВВР", 2003, 208с. (Многопроцессорные системы и параллельное программирование)
- Шпаковский Г.И., Серикова Н.В. Программирование для многопроцессорных систем в стандарте MPI: Пособие - Мн.: БГУ, 2002. -323 с. ISBN 985-445-727-3. (справка о публикации в формате PDF. Полный текст книги можно скачать на сайте авторов)
- С.А.Немнюгин, О.Л.Стесик "Параллельное программирование для многопроцессорных вычислительных систем", БХВ-Петербург, 2002, 400 стр.
- В.Д.Корнеев "Параллельное программирование в MPI", изд-во СО РАН, Новосибирск, 2000, 213 стр.
© Лаборатория Параллельных информационных технологий НИВЦ МГУ