• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2022/2023

Распределенные вычисления

Статус: Курс обязательный (Прикладная математика и информатика)
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 4-й курс, 2 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для всех кампусов НИУ ВШЭ
Преподаватели: Пеплин Федор Сергеевич
Язык: русский
Кредиты: 5
Контактные часы: 40

Программа дисциплины

Аннотация

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

Цель освоения дисциплины

  • Формирование представлений об основных понятиях в области высокопроизводительных вычислений и выработка навыков создания программ для систем с распределенной и общей памятью
Планируемые результаты обучения

Планируемые результаты обучения

  • Давать характеристику основным типам параллельных систем
  • Различать понятия параллельных, распределенных и одновременных вычислений.
  • Оценивать эффективность и ускорение параллельных программ
  • Формулировать основные принципы архитектуры систем с общей и распределенной паиятью
  • Находить ширину бисекции основных типов интерконнектов
  • Разрабатывать программы для систем с общей памятью с использованием библиотек pthreads и OpenMP.
  • Применять мьютексы и семафоры для предотвращения состояния гонки вследствие использования общих ресурсов, выявлять ошибки в коде вследствие использования потоконебезопасных функций
  • Оценивать влияние кэш-эффектов на производительность параллельных программ
  • Разрабатывать программы для MIMD систем с распределенной памятью с использованием библиотеки MPI.
  • Обеспечивать барьерную синхронизацию потоков с использованием мьютексов, холостых циклов и семафоров
  • Использовать команды для point-to-point и коллективной коммуникации между процессами, а также команды распределения данных (scatter, gather)
  • Уменьшать количество отправляемых сообщений с помощью производных типов данных
  • Описывать архитектуру и формулировать основные принципы работы GP GPU NVIDIA
  • Создавать программы для гетерогенных систем с использованием CUDA и DPC++.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Общие сведения о параллельных и распределенных вычислительных системах
  • Средства разработки параллельных программ для систем с общей памятью
  • Средства разработки программ для систем с распределенной памятью на примере MPI
  • Средства разработки гетерогенных систем
Элементы контроля

Элементы контроля

  • неблокирующий Выполнение операций над матрицами
  • неблокирующий Прямые и итерационные методы решения СЛАУ
  • неблокирующий Решение систем обыкновенных дифференциальных уравнений
  • неблокирующий Итоговый тест
  • неблокирующий Тест по теме "Общие сведения о параллельных и распределенных вычислительных системах"
  • неблокирующий Тест по теме "Программирование систем с общей памятью"
  • неблокирующий Тест по теме "Создание программ с распределенной памятью средствами MPI"
  • неблокирующий Тест по теме "Программирование гетерогенных систем"
Промежуточная аттестация

Промежуточная аттестация

  • 2022/2023 учебный год 2 модуль
    0.05 * Тест по теме "Программирование гетерогенных систем" + 0.165 * Решение систем обыкновенных дифференциальных уравнений + 0.05 * Тест по теме "Создание программ с распределенной памятью средствами MPI" + 0.17 * Выполнение операций над матрицами + 0.05 * Тест по теме "Программирование систем с общей памятью" + 0.05 * Тест по теме "Общие сведения о параллельных и распределенных вычислительных системах" + 0.3 * Итоговый тест + 0.165 * Прямые и итерационные методы решения СЛАУ
Список литературы

Список литературы

Рекомендуемая основная литература

  • Cloud computing, Ruparelia, N. B., 2016
  • Распределенные алгоритмы : интуитивный подход, Фоккинк, У., 2017
  • Распределенные системы : принципы и парадигмы, 877 с., Таненбаум, Э., Стеен, М., 2003
  • Теория и практика параллельных вычислений : учебное пособие, Гергель, В. П., 2007

Рекомендуемая дополнительная литература

  • Data analysis in the cloud : models, techniques and applications, Talia, D., 2016
  • Операционные системы. Т.2: Распределенные системы, сети, безопасность, Дейтел, Х. М., 2007
  • Распределенные данные : алгоритмы работы современных систем хранения информации, Петров, А., 2022

Авторы

  • Пеплин Федор Сергеевич