Бакалавриат
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