Распараллеливание и синхронизация

Бурова И.Г., Мирошниченко И.Д.
бакалавриат, семестр 6

Дисциплина предназначена магистрам второго года обучения (четвертый семестр) и имеет своей целью познакомить слушателей с методами распараллеливания и синхронизации.

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

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

Рассматриваются особенности синхронизация в средах MPI (передача и прием сообщений между отдельными процессами, коллективные взаимодействия процессов) и OpenMP (критические секции, замки, директивы синхронизации).

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

Дисциплина предусматривает курс лекций и семинарских занятий. Предлагается часть семинарских занятий совместить с практикой работы параллельного программирования в средах OpenMP (с общей памятью) и MPI (на кластере).

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