Введение в параллельные алгоритмы

Рассматриваются параллельные алгоритмы и методы решения задач различных классов на многопроцессорных вычислительных системах. Рассматриваются факторы, влияющие на время выполнения параллельных программ и на эффективность использования вычислительной мощности многопроцессорных систем.
Для специалистов
Записаться
Объём

36 час.
Длительность

30 дней
Нагрузка

6 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Учебный курс рассматривает принципы построения параллельных алгоритмов и методы их адаптации для многопроцессорных вычислительных систем. Обучение охватывает широкий круг тем: от базовых концепций и балансировки нагрузки до специализированных алгоритмов сортировки, численного интегрирования и генерации псевдослучайных чисел. Особое внимание уделяется анализу производительности и поиску путей повышения эффективности вычислений. Курс ориентирован на системных программистов, разработчиков высокопроизводительного ПО и специалистов в области обработки больших данных, стремящихся освоить методы эффективного распределения вычислительных ресурсов для решения сложных задач.
Цели
  • Сформировать понимание принципов проектирования параллельных алгоритмов для многопроцессорных систем.
  • Раскрыть методы оптимизации вычислений и балансировки нагрузки между процессорами.
  • Систематизировать знания о подходах к решению классических задач в параллельной среде.
Чему я научусь?
  • Проектировать параллельные алгоритмы для решения задач сортировки и численного интегрирования.
  • Анализировать факторы, влияющие на производительность и масштабируемость параллельных программ.
  • Использовать методы балансировки нагрузки для эффективного распределения ресурсов многопроцессорных систем.

Авторы

Якобовский Михаил Владимирович
Якобовский Михаил Владимирович
Профессор кафедры математического моделирования МФТИ и кафедры прикладной математики МГТУ «СТАНКИН», заведующий сектором Института математического моделирования РАН, доктор физико-математических наук.\n
Чему я научусь?
  • Проектировать параллельные алгоритмы для решения задач сортировки и численного интегрирования.
  • Анализировать факторы, влияющие на производительность и масштабируемость параллельных программ.
  • Использовать методы балансировки нагрузки для эффективного распределения ресурсов многопроцессорных систем.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз.
1 Введение "Во введении дается общее представление об учебном курсе. Рассматриваются задачи, решаемые на многопроцессорных системах. Обсуждаются требования... "Во введении дается общее представление об учебном курсе. Рассматриваются задачи, решаемые на многопроцессорных системах. Обсуждаются требования к алгоритмам для суперкомпьютеров. Рассматривается содержание учебного курса и обсуждаются навыки, необходимые для его успешного освоения. Обсуждение конечного автомата ""жизнь"". В завершении лекции указывается учебно-методическая литература, которая может быть полезна при изучении курса." ещё
2 Основные понятия "Рассматриваются следующие понятия: многопроцессорные системы с общей и с распределенной памятью
Основные понятия тест для курса Введение в параллельные алгоритмы 25 мин
3 Методы построения параллельных алгоритмов. Часть 1 Рассматриваются простые методы построения параллельных алгоритмов, в том числе методы: геометрического параллелизма, конвейерного параллелизма, коллективного решения.... Рассматриваются простые методы построения параллельных алгоритмов, в том числе методы: геометрического параллелизма, конвейерного параллелизма, коллективного решения. Рассматриваются их свойства. Обсуждаются проблемы статической и динамической балансировки загрузки процессоров. Рассматривается алгоритм диффузной балансировки загрузки. Приводится пример задачи, для сокращения времени решения которой необходимо создание нового алгоритма (сложение длинных чисел). ещё
Методы построения параллельных алгоритмов. Часть 1 тест для курса Введение в параллельные алгоритмы 30 мин
4 Методы построения параллельных алгоритмов. Часть 2 "Построение эталонного последовательного алгоритма сортировки. Описание ""плохого"" последовательного, но быстрого параллельного метода сортировки. Оценка времени выполнения... "Построение эталонного последовательного алгоритма сортировки. Описание ""плохого"" последовательного, но быстрого параллельного метода сортировки. Оценка времени выполнения алгоритма в наилучшем, среднем и наихудшем случае. Зависимость времени сортировки от вида исходной последовательности." ещё
Методы построения параллельных алгоритмов. Часть 2 тест для курса Введение в параллельные алгоритмы 25 мин
5 Сортировка данных с точки зрения МВС. Часть 1 Рассмотрение минимальных сетей сортировки, сети четно-нечетное слияния. Построение на основе сетей сортировки параллельного алгоритма сортировки данных.... Рассмотрение минимальных сетей сортировки, сети четно-нечетное слияния. Построение на основе сетей сортировки параллельного алгоритма сортировки данных. Определение его характеристик при реализации на системах с общей и с распределенной памятью. Оценка времени выполнения сортировки. Оценка необходимого объема оперативной памяти. Обсуждение возможности сокращения объема передаваемых данных и требуемой оперативной памяти. ещё
Сортировка данных с точки зрения МВС. Часть 1 тест для курса Введение в параллельные алгоритмы 25 мин
6 Сортировка данных с точки зрения МВС. Часть 2
Сортировка данных с точки зрения МВС. Часть 2 тест для курса Введение в параллельные алгоритмы 30 мин
7 Решение систем линейных уравнений и диффузная балансировка нагрузки процессоров Задачи, приводящие к появлению систем линейных уравнений (СЛАУ) с трехдиагональной матрицей коэффициентов. Параллельные алгоритмы решения трехдиагональных... Задачи, приводящие к появлению систем линейных уравнений (СЛАУ) с трехдиагональной матрицей коэффициентов. Параллельные алгоритмы решения трехдиагональных СЛАУ. Итерационные методы. ещё
Решение систем линейных уравнений и диффузная балансировка нагрузки процессоров тест для курса Введение в параллельные алгоритмы 25 мин
8 Последовательности псевдослучайных чисел для многопроцессорных вычислительных систем Задачи, решаемые с использованием последовательностей псевдослучайных чисел (ПСЧ). Параллельные алгоритмы решения таких задач. Требования к генераторам... Задачи, решаемые с использованием последовательностей псевдослучайных чисел (ПСЧ). Параллельные алгоритмы решения таких задач. Требования к генераторам ПСЧ для многопроцессорных систем. Параллельные алгоритмы генерации ПСЧ. Тестирование полученных последовательностей. ещё
Последовательности псевдослучайных чисел для многопроцессорных вычислительных систем тест для курса Введение в параллельные алгоритмы 20 мин
9 Параллельные алгоритмы численного интегрирования Параллельные алгоритмы интегрирования функции одной переменной, построенные на основе методов геометрического параллелизма и коллективного решения. Адаптивный... Параллельные алгоритмы интегрирования функции одной переменной, построенные на основе методов геометрического параллелизма и коллективного решения. Адаптивный последовательный алгоритм интегрирования. Параллельный алгоритм интегрирования с динамической балансировкой загрузки для многопроцессорных систем с общей памятью. ещё
Экзамен для курса Введение в параллельные алгоритмы 60 мин
Экзамен экстерном для курса Введение в параллельные алгоритмы 90 мин
Тренировочный экзамен для курса Введение в параллельные алгоритмы 90 мин
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз.
Экзамен