«Многопроцессорные системы и распараллеливание обработки данных», «Принципы и алгоритмы параллельных расчетов» (5 курс, 2 семестр)

Программа курса:

I. Архитектуры многопроцессорных вычислительных систем (МВС), модели и средства параллельного программирования, основы работы в ОС Linux (теоретический блок) [5 недель]

1. Классификация ЭВМ Флинна (SISD, SIMD, MISD, MIMD)
2. МВС с общей (разделяемой) памятью (векторно-конвейерные суперкомпьютеры, симметричные мультипроцессорные системы (SMP))
3. МВС с распределенной (индивидуальной) памятью (системы с массовым параллелизмом (МРР), кластерные системы)
(Шп. с. 9,10,14,15, Бук. с.13-27)
4. Эффективность параллельных программ и сетевой закон Амдала
(Шп. с.12-13, гл.12, Бук. с.40-41)
5. Коммуникационные (сетевые) топологии МВС
6. Средства програмирования систем с общей памятью (OpenMP)
7. Модели (SPMD, MPMD) и средства програмирования систем с распределенной памятью (MPI)
(Шп. с.15-27, Бук. с.35)

II. Параллельное программирование для библиотеки MPI в реализациях LAM/MPICH (3 практических задания) [6 недель]
(Бук. гл.7-9 (фортран), Шп. гл.3-4 (Си, фортран))
1. Основы работы в ОС Linux.
2. Вычислительная модель "клиент-сервер" и одноранговые вычисления.
3. Простые операции межточечных взаимодействий MPI_Send, MPI_Recv, MPI_SendRecv.
4. Коллективные операции MPI_Bcast, MPI_Gather, MPI_Scatter.
5. Распределенные операции (MPI_Reduce).

III. Программирование параллельных приложений для прикладных задач [4 недели]
(Выс.выч.кл.; Berts.; Шп. гл.7-10; Бук. гл.13)
1. Решение задачи Пуассона на двумерной сетке.
2. Матрично-векторные задачи.
3. Решение систем линейных алгебраических уравнений.

Основная литература

  1. (Богд.) Богданов А.В., Станкова Е.Н., Мареев В.В., Корхов В.В. Архитектуры и топологии МВС / Интернет-университет информационных технологий. - М., 2004. курс на intuit.ru
  2. (Бук.) Букатов А.А., Дацюк В.Н., Жегуло А.И. Многопроцессорные системы и параллельное программирование / РГГУ. - Ростов, 2003. курс (html, pdf)
  3. (Шп.) Шпаковский Г.И., Серикова Н.В. Программирование для многопроцессорных систем в стандарте MPI. - Минск : БГУ, 2002. пособие
  4. (Выс.выч.кл.) Высокопроизводительные вычисления на кластерах : Учебн. пособие / Под ред. А.В. Старченко. - Томск: Изд-во Том. ун-та, 2008. пособие
  5. (Berts.) Bertsekas D.P., Tsitsiklis J.N. Parallel and Distributed Computation : Numerical Methods. Athena Scientific, 1997. на сайте MIT
Дополнительная литература
  1. Немнюгин С.А. Средства программирования для многопроцессорных вычислительных систем / СПбГУ. - СПб., 2007. курс (pdf)
  2. Гергель В.П. Многопроцессорные вычислительные системы и параллельное программирование / НижГу. - Нижний Новгород. материалы (html, pdf)
  3. Антонов А.С. Параллельное программирование с использованием технологии MPI : Учебное пособие. - М.: Изд-во МГУ, 2004. курс
  4. Корнеев В.Д. Параллельное программирование в MPI. - Новосибирск, 2003.
  5. Шпаковский Г.И. Параллельное программирование и аппаратура. - Минск : БГУ, 2012. пособие
  6. Шпаковский Г.И. и др. Применение технологии MPI в GRID. - Мн.: БГУ, 2008. пособие
  7. Воеводин Вл.В. Параллельная обработка данных / НИВЦ МГУ. html-курс
  8. Суперкомпьютерные технологии в науке, образовании и промышленности / Под редакцией: академика В.А. Садовничего, академика Г.И. Савина, чл.-корр. РАН Вл.В. Воеводина. М.: Издательство Московского университета, 2009. 232 с., ил. ISBN 978-5-211-05719-7. html
  9. Информационно-аналитический центр по параллельным вычислениям parallel.ru, раздел "Учебные материалы" на parallel.ru.
Задания по курсу: