• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2020/2021

Параллельные и распределённые вычисления

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

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

Аннотация

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

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

  • Целью освоения дисциплины «Параллельные и распределённые вычисления» является знакомство с параллельными и распределенными вычислениями.
Планируемые результаты обучения

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

  • Понимать проблематику одновременности операций, уметь избегать коллизий при осуществлении одновременных операций
  • Уметь писать многопоточные программы на языке С++
  • Уметь работать с вычислительным кластером
  • Знать основные техники распараллеливания программ
  • Уметь писать простые программы для 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