We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Distributed Computing

2022/2023
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Delivered at:
Department of Applied Mathematics and Informatics (Faculty of Informatics, Mathematics, and Computer Science (HSE Nizhny Novgorod))
Course type:
Compulsory course
When:
4 year, 2 module

Instructor

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

Аннотация

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

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

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

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

  • Давать характеристику основным типам параллельных систем
  • Различать понятия параллельных, распределенных и одновременных вычислений.
  • Оценивать эффективность и ускорение параллельных программ
  • Формулировать основные принципы архитектуры систем с общей и распределенной паиятью
  • Находить ширину бисекции основных типов интерконнектов
  • Разрабатывать программы для систем с общей памятью с использованием библиотек 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

Авторы

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