Parallel and Disrtibuted Computing I 2026
О курсе
Курс посвящён изучению основных принципов параллельных и распределённых вычислений, а также практическому освоению технологий разработки, компиляции и запуска параллельных программ.
В рамках курса рассматриваются модели параллелизма, средства межпроцессного и межпоточного взаимодействия, механизмы синхронизации и способы распределения вычислительной нагрузки.
Особое внимание уделяется работе в вычислительных кластерах и использованию планировщика задач SLURM для запуска MPI-, Pthreads- и OpenMP-программ.
Команда курса
Преподаватель - Алексей Долуденко
Расписание
Понедельник (начиная с 07.09) 15:30 - 16:55 лекция 17:05 - 18:30 семинар
аудитория 518 ГК
Программа курса
Лекция 1. Исторический аспект. Виды и классификацию многопроцессорных вычислительных систем, в том числе классификация по Флинну. Понятие внутреннего параллелизма. Модель параллельных вычислений для систем с распределенной памятью.
Лекция 2. Топология соединения узлов в суперкомпьютерах. Закон Амдала, понятие «стена Фокса», причины потери эффективности параллельных программ. Влияние интеркоммуникационной сети на ускорение параллельной программы.
Лекция 3. Метод геометрического параллелизм. Схема передачи сообщений при решении задач с локальной зависимостью данных на основе решения одномерного однородного дифференциального уравнения.
Лекция 4. Метод сдваивания и его использование в параллельных программах. Модель параллельных вычислений для систем с общей памятью.
Лекция 5. Метод конвейерного параллелизма и его использование в параллельных программах.
Критерии получения оценок
Оценки выставляются по десятибальной системе за задачу. Каждая задача имеет вес так, чтобы при получении максимального балла за все задачи максимум был 9 баллов. Еще 1 балл студент получает за посещение более 2/3 занятий.
Домашние задания
В качестве домашних заданий студентам предлагается решить 4 практические задачи по параллельному программированию.