Магистратура
2020/2021![Цель освоения дисциплины](/f/src/global/i/edu/objectives.svg)
![Планируемые результаты обучения](/f/src/global/i/edu/results.svg)
![Содержание учебной дисциплины](/f/src/global/i/edu/sections.svg)
![Элементы контроля](/f/src/global/i/edu/controls.svg)
![Промежуточная аттестация](/f/src/global/i/edu/intermediate_certification.svg)
![Список литературы](/f/src/global/i/edu/library.svg)
Распределенные вычисления и параллельное программирование
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Суперкомпьютерное моделирование в науке и инженерии)
Направление:
01.04.04. Прикладная математика
Кто читает:
Департамент прикладной математики
Когда читается:
1-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Прогр. обучения:
Суперкомпьютерное моделирование в науке и инженерии
Язык:
русский
Кредиты:
3
Контактные часы:
30
Программа дисциплины
Аннотация
В ходе изучения дисциплины «Распределенные вычисления и параллельное программирование» студенты получат знания в области параллельных и распределенных вычислений, овладеют навыком разработки, отладки и исследования производительности параллельных программ. Задачи дисциплины состоят в изучении и практическом освоении современных суперкомпьютерных технологий.
Цель освоения дисциплины
- Получение студентами знаний в области параллельных и распределенных вычислений
- Получение навыков разработки, отладки и исследования производительности параллельных программ
Планируемые результаты обучения
- Знание основных типов архитектур параллельных вычислений, средств разработки параллельных и распределенных приложений, понятий ускорения, эффективности и масштабируемости.
- Знание понятий потока и процесса.
- Владение библиотекой POSIX Threads, функциями для создания и взаимодействия потоков, понимание механизмов синхронизации: семафоров, мьютекса, условных переменных
- Владение средствами многопоточного программирования в современном стандарте С++: класс thread, классы и методы для создания и синхронизации потоков, атомарные данные и модели констистентности памяти
- Знание директивного многопоточного программирования на основе OpenMP.
- Знание библиотеки MPI, концепции SPMD, понятий коммуникатора, средств управления коммуникаторами в MPIприложении, парных взаимодействий MPIпроцессов, синхронных и асинхронных взаимодействий, коллективных взаимодействий MPIпроцессов, системы типов в MPI-программах, базовых и производных типов, источников ошибок в MPIпрограммах, взаимных блокировок, недетерминизма
- Знание устройства современных грид-систем, в том числе принципов организации вычислений на базе ПО BOINC, основных типов и принципов функционирования облачных систем.
Содержание учебной дисциплины
- Средства разработки программ для многоядерных систем с общей памятьюПонятия потока и процесса. Библиотека POSIX Threads, функции для создания и взаимодействия потоков. Синхронизация: семафоры, мьютексы, условные переменные. Средства многопоточного программирования в современном стандарте С++. Класс thread, классы и методы для создания и синхронизации потоков. Атомарные данные и модели констистентности памяти. Директивное многопоточное программирование на основе OpenMP.
- Средства разработки программ для систем с распределенной памятьюБиблиотека MPI, концепция SPMD. Понятия коммуникатора, средства управления коммуникаторами в MPI-приложении. Парные взаимодействия MPI-процессов, синхронные и асинхронные взаимодействия. Коллективные взаимодействия MPI-процессов. Система типов в MPI-программах, базовые и производные типы. Источники ошибок в MPI-программах, взаимные блокировки, недетерминизм.
- Распределенные и облачные системыУстройство современных грид-систем, в том числе принципы организации вычислений на базе ПО BOINC. Основные типы и принципы функционирования облачных систем.
- Общие сведения о современных параллельных и распределенных вычислительных комплексахВведение в архитектуру микропроцессоров, функциональные устройства, ядра, иерархия памяти. Основные способы организации систем с общей памятью, подходы SMP, NUMA. Типовое устройство систем с распределенной памятью, вычислительные кластеры. Грид-системы и облачные инфраструктуры.
Элементы контроля
- Работа на семинарах
- Контрольная работа
- ЭкзаменЭкзамен проводится в устной форме (опрос по материалам курса). Экзамен проводится на платформе Zoom (https://www.zoom.us/). К экзамену необходимо подключиться согласно расписанию ответов, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка Zoom. Для участия в экзамене студент обязан: поставить на аватар свою фотографию, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещено: выключать камеру, пользоваться конспектами и подсказками. Кратковременным нарушением связи во время экзамена считается нарушение связи менее минуты. Долговременным нарушением связи во время экзамена считается нарушение минута и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи подразумевает использование усложненных заданий.
- Контрольно-измерительные материалы
- Работа на семинарах
- Контрольная работа
- ЭкзаменЭкзамен проводится в устной форме (опрос по материалам курса). Экзамен проводится на платформе Zoom (https://www.zoom.us/). К экзамену необходимо подключиться согласно расписанию ответов, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка Zoom. Для участия в экзамене студент обязан: поставить на аватар свою фотографию, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещено: выключать камеру, пользоваться конспектами и подсказками. Кратковременным нарушением связи во время экзамена считается нарушение связи менее минуты. Долговременным нарушением связи во время экзамена считается нарушение минута и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи подразумевает использование усложненных заданий.
- Контрольно-измерительные материалы
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.5 * Работа на семинарах + 0.5 * Экзамен
Список литературы
Рекомендуемая основная литература
- Бабичев С. Л., Коньков К. А. - РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ. Учебное пособие для вузов - М.:Издательство Юрайт - 2019 - 507с. - ISBN: 978-5-534-11380-8 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/raspredelennye-sistemy-445188
- Гергель В.П. - Теория и практика параллельных вычислений - Национальный Открытый Университет "ИНТУИТ" - 2016 - 500с. - ISBN: 978-5-94774-645-7 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100527
- Технология CUDA в примерах : введение в программирование графических процессоров, Сандерс, Дж., 2011
- Энтони Уильямс - Параллельное программирование на C++ в действии. Практика разработки многопоточных программ - Издательство "ДМК Пресс" - 2012 - 672с. - ISBN: 978-5-94074-448-1 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/4813
Рекомендуемая дополнительная литература
- Антонов А.С. - Параллельное программирование с использованием технологии MPI - Национальный Открытый Университет "ИНТУИТ" - 2016 - 83с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100359
- Биллиг В.А. - Параллельные вычисления и многопоточное программирование - Национальный Открытый Университет "ИНТУИТ" - 2016 - 310с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100361
- Качин К., Гуерру Р., Родригес Л. - Введение в надежное и безопасное распределенное программирование - Издательство "ДМК Пресс" - 2016 - 512с. - ISBN: 978-5-97060-369-7 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100904
- Левин М.П. - Параллельное программирование с использованием OpenMP - Национальный Открытый Университет "ИНТУИТ" - 2016 - 133с. - ISBN: 978-5-94774-857-4 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100358
- Топорков В.В. - Модели распределенных вычислений - Издательство "Физматлит" - 2011 - 320с. - ISBN: 5-9221-0495-0 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/2339