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

Распределенные вычисления (Технологии IoT)

Статус: Курс обязательный (Программная инженерия)
Направление: 09.03.04. Программная инженерия
Когда читается: 4-й курс, 3 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для своего кампуса
Преподаватели: Пеплин Федор Сергеевич
Язык: русский
Кредиты: 4
Контактные часы: 44

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Задача N тел
  • неблокирующий Умножение матриц
  • неблокирующий Параллельные алгоритмы решения СЛАУ
  • неблокирующий Параллельные и распределенные вычисления
  • неблокирующий Программирование систем с общей памятью
  • неблокирующий Программирование систем с распределенной памятью (MPI)
  • неблокирующий Гибридные системы
  • неблокирующий Итоговый тест
Промежуточная аттестация

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

  • 2022/2023 учебный год 3 модуль
    0.05 * Параллельные и распределенные вычисления + 0.05 * Гибридные системы + 0.167 * Параллельные алгоритмы решения СЛАУ + 0.166 * Задача N тел + 0.3 * Итоговый тест + 0.167 * Умножение матриц + 0.05 * Программирование систем с общей памятью + 0.05 * Программирование систем с распределенной памятью (MPI)
Список литературы

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

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

  • 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

Авторы

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