Магистратура
2020/2021
Параллельные и распределённые вычисления
Статус:
Курс по выбору (Науки о данных)
Направление:
01.04.02. Прикладная математика и информатика
Кто читает:
Базовая кафедра Яндекс
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Липовский Роман Германович
Прогр. обучения:
Науки о данных
Язык:
русский
Кредиты:
4
Контактные часы:
48
Программа дисциплины
Аннотация
Целью освоения дисциплины «Параллельные и распределённые вычисления» является знакомство с параллельными и распределенными вычислениями, различными классами высокопроизводительных систем, принципами реализации параллельных алгоритмов и используемыми моделями программирования, а также получение навыков практического использования соответствующих технологий и систем при решении при-кладных задач.
Цель освоения дисциплины
- Целью освоения дисциплины «Параллельные и распределённые вычисления» является знакомство с параллельными и распределенными вычислениями.
Планируемые результаты обучения
- Понимать проблематику одновременности операций, уметь избегать коллизий при осуществлении одновременных операций
- Уметь писать многопоточные программы на языке С++
- Уметь работать с вычислительным кластером
- Знать основные техники распараллеливания программ
- Уметь писать простые программы для GPU
- Уметь проектировать простую распределённую систему, обеспечивать базовые гарантии
- Понимать парадигму MapReduce, в том числе её ограничения
- Уметь писать несложные программы на Spark
- Понимать области применимости облачных вычислений
- Понимать основные принципы облачных вычислений
Содержание учебной дисциплины
- Concurrency (одновременность)Области применения и проблематика. Способы реализации одновременных систем, процессы и потоки, программный инструментарий. Основы многопоточного программирования на языке C++. Типичные ошибки многопоточного программирования. Взаимное исключение и условная синхронизация. Модель памяти и низкоуровневые примитивы синхронизации. Альтернативные подходы к реализации одновременных программ.
- Параллельные вычисленияОбласти применения и проблематика. Современные параллельные вычислительные системы. Теоретические основы параллельных вычислений. Показатели качества парал-лельного алгоритма. Принципы разработки и типовые структуры параллельных алгоритмов. Методология PCAM. Системы параллельного программирования, типовые модели программирования и шаблоны. Параллельное программирование на системах с общей памятью на примере технологии OpenMP. Параллельное программирование на системах с распределенной памятью на примере технологии MPI. Параллельное программирова-ние на графических процессорах на примере технологии Nvidia CUDA.
- Распределенные вычислительные системы и облачные вычисленияОбласти применения, характерные особенности и виды распределенных вычислительных систем. Теоретические основы распределенных вычислений, примеры распределен-ных алгоритмов. Способы взаимодействия распределенных процессов, модели и технологии распределенного программирования. Грид- инфраструктуры и системы добро-вольных вычислений. Концепция облачных вычислений, модели развертывания и обслуживания. Примеры использования облачных инфраструктур и сервисов.
- Распределенная обработка больших данныхФеномен Big Data. Модель программирования MapReduce, область применения и примеры задач. Принципы распределенной реализации MapReduce на кластерных системах. Платформа Apache Hadoop. Приемы и стратегии реализации MapReduce- программ. Ограничения модели MapReduce, расширения и альтернативные подходы. Система Apache Spark. Понятие Resilient Distributed Dataset (RDD), операции над RDD. Принципы распределенного выполнения Spark-программы на кластере. Запуск, отладка и оптимизация Spark-программ.
Элементы контроля
- Домашняя работа
- Домашняя работа
- ЭкзаменОценка за дисциплину выставляется в соответствии с формулой оценивания от всех пройденных элементов контроля. Экзамен не проводится.
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)0.3 * Домашняя работа + 0.3 * Домашняя работа + 0.4 * Экзамен
Список литературы
Рекомендуемая основная литература
- Белов В. А. - ЧТО ИЗМЕНИЛОСЬ В ГРАЖДАНСКОМ КОДЕКСЕ? 4-е изд. Практическое пособие - М.:Издательство Юрайт - 2019 - 359с. - ISBN: 978-5-534-12019-6 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/chto-izmenilos-v-grazhdanskom-kodekse-446667
- Михайлов, П., & Радченко, Г. (2014). Методы Моделирования И Оценки Производительности Облачных Систем. Вестник Южно-Уральского Государственного Университета. Серия: Вычислительная Математика и Информатика, (3). Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsclk&AN=edsclk.15619047
- Параллельные вычисления на GPU : архитектура и программная модель CUDA: учеб. пособие для вузов, Боресков, А. В., 2012
- ШАМАЕВА О.Ю., & БУРЕНКОВ С.А. (2016). Параллельные Вычисления Как Средство Повышения Эффективности Решения Задач Вычислительной Аэродинамики. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.B13CD620
Рекомендуемая дополнительная литература
- Батищев, Д. С., & Михелев, В. М. (2016). Инфраструктура высокопроизводительной компьютерной системы для реализации облачных сервисов хранения и анализа данных персональной медицины. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.80ECAC75