Параллельные и распределённые вычисления 2019: различия между версиями

Материал из Public ATP Wiki
Перейти к навигации Перейти к поиску
 
(не показано 26 промежуточных версий 2 участников)
Строка 1: Строка 1:
= Общие сведения =
= Общие сведения =
* Форма контроля: экзамен
* Семестр: 5 (третий курс)
* Форма контроля: зачет
* '''[http://bit.ly/336mbtp Форма регистрации на курс]'''
* '''[http://bit.ly/336mbtp Форма регистрации на курс]'''
* [https://docs.google.com/spreadsheets/d/1tZ0K2b_3M20WyFig43-MJCNNIFoMhRYd1B4-2WoJoJw/edit#gid=0 Таблица с оценками]
* [https://docs.google.com/spreadsheets/d/1tZ0K2b_3M20WyFig43-MJCNNIFoMhRYd1B4-2WoJoJw/edit#gid=0 Таблица с оценками]
Строка 6: Строка 7:


'''Материалы занятий'''
'''Материалы занятий'''
* [https://www.youtube.com/channel/UCdxesVp6Fs7wLpnp1XKkvZg/playlists?view=50&sort=dd&shelf_id=10 Видео лекций]
* [https://www.youtube.com/watch?v=XR38gW_9CSI&list=PL4_hYwCyhAvaPnYMJ-mBwwkG1iORVpwz1 Видео лекций]
* [https://drive.google.com/drive/folders/1tUlmDBzczmYZWDg3UVV4i8AXJ3fyZ_x6 Слайды презентаций]
* [https://drive.google.com/drive/folders/1tUlmDBzczmYZWDg3UVV4i8AXJ3fyZ_x6 Слайды презентаций]
* [https://gitlab.com/VeLKerr/pardistrib Материалы семинаров и домашние задания]
* [https://gitlab.com/VeLKerr/pardistrib Материалы семинаров]
* [https://piazza.com/class/jz6s27kehkt1yl# Q&A форум "Piazza"]
* [https://piazza.com/class/jz6s27kehkt1yl# Q&A форум "Piazza"]
* [https://gitlab.com/VeLKerr/pardistrib/tree/master/distribute/homeworks Домашние задания]


= Преподаватели =
= Преподаватели =
* Лекторы:
* '''Лекторы'''
** Долуденко Алексей
** Долуденко А.
** Ивченко Олег
** Ивченко О.
* Семинаристы:
** Пилипенко А.
** Бабин Олег (791)
** Лахвич Д.
** Булгакова Дарья (792)
** Леонов Я.
** Долуденко Алексей (793, 796)
 
** Ахтямов Павел (794)
* '''Семинаристы'''
** Чернецкий Аркадий (795)
** Параллельная часть:
** Иванова Юлия (797)
*** Бабин Олег
** Ивченко Олег (798, 7910)
*** Долуденко Алексей
*** Ахтямов Павел
*** Иванова Юлия
** Распределённая часть:
*** Бабин Олег
*** Булгакова Дарья
*** Долуденко Алексей
*** Ахтямов Павел
*** Чернецкий Аркадий
*** Иванова Юлия
*** Ивченко Олег
 
* '''Учебные ассистенты'''
** Вручтель Серафима
** Госткин Евгений.
 
= Критерии получения оценки =
Зачёт выставляется на основании баллов, полученных в течение семестра.
 
=== Параллельная часть ===
2 домашних задания. Сдача предполагает публикацию кода на GitLab, а также устную защиту работы.
 
=== Распределённая часть ===
4 домашних задания. Сдача проходит в 2 этапа:
* прохождение автоматических тестов на базе системы BigJudge,
* code review (проводится преподавателем либо учебным ассистентом).
 
После мягкого дедлайна задачи можно сдавать лишь с 50% от максимальной оценки.
После жёсткого - 25%.
 
3 самостоятельных работы на семинарах:
* 2-3 теор. вопроса,
* 15-20 минут времени.
 
==== Дедлайны по домашкам ====
{|  class="wikitable"
|-
! Домашка
! Мягкий deadline
! Жёсткий deadline
|-
|[https://piazza.com/class/jz6s27kehkt1yl?cid=142 HDFS] || 27.10, 23:59 || 04.11, 23:59
|-
|[https://piazza.com/class/jz6s27kehkt1yl?cid=206 MapReduce] || 17.11, 23:59 || 24.11, 23:59
|-
|[https://piazza.com/class/jz6s27kehkt1yl?cid=356 Hive] || 24.11, 23:59 || 01.12, 23:59
|-
|[https://piazza.com/class/jz6s27kehkt1yl?cid=379 Spark (bonus)] || 02.12, 23:59 || 09.12, 23:59
|-
|[https://piazza.com/class/jz6s27kehkt1yl?cid=617 ZooKeeper] || 21.12, 23:59 || 21.12, 23:59
|}
 
= План курса =
{|  class="wikitable"
|-
! Дата
! Лектор
! Тема лекций и семинаров
! Дополнительные активности
|-
| 29.10
|| Пилипенко А.
|| Hive, продолжение
|| Контрольная по HDFS & MapReduce
|-
| 05.11
|| Лахвич Д.
|| Spark, начало
|| Выдача домашки по Hive
|-
| 12.11
|rowspan="5"| Леонов Я.
|| Лекция: Модель распределённых систем
|| Семинар: продолжение Spark
|-
| 19.11
|| AB, FLP, CAP.
|| Контрольная по Hive & Spark. Выдача домашки по Zookeeper
|-
| 26.11
||Распределённые конфигурации. Zookeeper
||
|-
| 03.12
||Dynamo-подобные системы. Cassandra
||
|-
| 10.12
||Очереди в распределённых вычислениях. Kafka.
|| Контрольная по Kafka, Zookeeper.
|}


= Список рекомендуемых материалов =
= Список рекомендуемых материалов =
* Параллельная часть
* Параллельная часть
** [https://d1b10bmlvqabco.cloudfront.net/attach/jz6s27kehkt1yl/jrswc6qfy9w3fv/k0e4khsqjq4a/GrishaginVAParallelnoeprogrammirovanienaosnoveMPI.pdf Методичка по MPI]
# [https://d1b10bmlvqabco.cloudfront.net/attach/jz6s27kehkt1yl/jrswc6qfy9w3fv/k0e4khsqjq4a/GrishaginVAParallelnoeprogrammirovanienaosnoveMPI.pdf Методичка по MPI]
** [https://d1b10bmlvqabco.cloudfront.net/attach/jz6s27kehkt1yl/jrswc6qfy9w3fv/k0ms1yc9wnat/openmp.pdf Методичка по OpenMP]
# [https://d1b10bmlvqabco.cloudfront.net/attach/jz6s27kehkt1yl/jrswc6qfy9w3fv/k0ms1yc9wnat/openmp.pdf Методичка по OpenMP]
* Распределённая часть (лекции)
# [https://docs.google.com/presentation/d/1206T54F84HDhKbScxrDFzLnERRGwu0oLrbWEJ3mT9GI Распределённые файловые системы (GFS, HDFS). Её составляющие. Их достоинства, недостатки и сфера применения. Чтение и запись в HDFS. HDFS APIs: WebUI, shell, Java API]
# [https://drive.google.com/file/d/1j5NEBSGjROwEXCujSNhFqKfrf9fL-ZGR/view?usp=sharing Парадигма MapReduce. Основная идея, формальное описание. Обзор реализаций.  API для работы с Hadoop (Native Java API vs. Streaming), примеры]
# [https://drive.google.com/file/d/1E_90b6GxA7wym3BB5RVsvBSS62bqjreh/view?usp=sharing Типы Join'ов и их реализации в парадигме MR. Паттерны проекттирования MR (pairs, stripes, составные ключи). PageRank в MR. Планировщик задач в YARN]
# [https://drive.google.com/drive/folders/151645JTf7yK3CjuQMn5SM2AlPHtYCPcY?usp=sharing SQL поверх BigData]
* Распределённая часть (семинары)
# [https://gitlab.com/VeLKerr/pardistrib/blob/master/practice/01-hdfs.md Устройство Hadoop-кластера, HDFS CLI, Web API, внутреннее устройство HDFS]
# [https://gitlab.com/VeLKerr/pardistrib/blob/master/practice/02-hadoop.md Hadoop streaming API. Простейшая программа на MapReduce (подсчёт слов в тексте). Её модификации. Инструменты отладки в MapReduce.]
# [https://gitlab.com/VeLKerr/pardistrib/blob/master/practice/03-hadoop2.md Advanced HDFS shell. Hadoop Java API, Joins в MapReduce, Счётчики в MapReduce]
# [https://gitlab.com/VeLKerr/pardistrib/blob/master/practice/04-Hive.md Apache Hive. Язык HiveQL, его расширения (Hive Streaming, User defined functions)]

Текущая версия от 23:54, 16 февраля 2020

Общие сведения

Материалы занятий

Преподаватели

  • Лекторы
    • Долуденко А.
    • Ивченко О.
    • Пилипенко А.
    • Лахвич Д.
    • Леонов Я.
  • Семинаристы
    • Параллельная часть:
      • Бабин Олег
      • Долуденко Алексей
      • Ахтямов Павел
      • Иванова Юлия
    • Распределённая часть:
      • Бабин Олег
      • Булгакова Дарья
      • Долуденко Алексей
      • Ахтямов Павел
      • Чернецкий Аркадий
      • Иванова Юлия
      • Ивченко Олег
  • Учебные ассистенты
    • Вручтель Серафима
    • Госткин Евгений.

Критерии получения оценки

Зачёт выставляется на основании баллов, полученных в течение семестра.

Параллельная часть

2 домашних задания. Сдача предполагает публикацию кода на GitLab, а также устную защиту работы.

Распределённая часть

4 домашних задания. Сдача проходит в 2 этапа:

  • прохождение автоматических тестов на базе системы BigJudge,
  • code review (проводится преподавателем либо учебным ассистентом).

После мягкого дедлайна задачи можно сдавать лишь с 50% от максимальной оценки. После жёсткого - 25%.

3 самостоятельных работы на семинарах:

  • 2-3 теор. вопроса,
  • 15-20 минут времени.

Дедлайны по домашкам

Домашка Мягкий deadline Жёсткий deadline
HDFS 27.10, 23:59 04.11, 23:59
MapReduce 17.11, 23:59 24.11, 23:59
Hive 24.11, 23:59 01.12, 23:59
Spark (bonus) 02.12, 23:59 09.12, 23:59
ZooKeeper 21.12, 23:59 21.12, 23:59

План курса

Дата Лектор Тема лекций и семинаров Дополнительные активности
29.10 Пилипенко А. Hive, продолжение Контрольная по HDFS & MapReduce
05.11 Лахвич Д. Spark, начало Выдача домашки по Hive
12.11 Леонов Я. Лекция: Модель распределённых систем Семинар: продолжение Spark
19.11 AB, FLP, CAP. Контрольная по Hive & Spark. Выдача домашки по Zookeeper
26.11 Распределённые конфигурации. Zookeeper
03.12 Dynamo-подобные системы. Cassandra
10.12 Очереди в распределённых вычислениях. Kafka. Контрольная по Kafka, Zookeeper.

Список рекомендуемых материалов

  • Параллельная часть
  1. Методичка по MPI
  2. Методичка по OpenMP
  • Распределённая часть (лекции)
  1. Распределённые файловые системы (GFS, HDFS). Её составляющие. Их достоинства, недостатки и сфера применения. Чтение и запись в HDFS. HDFS APIs: WebUI, shell, Java API
  2. Парадигма MapReduce. Основная идея, формальное описание. Обзор реализаций. API для работы с Hadoop (Native Java API vs. Streaming), примеры
  3. Типы Join'ов и их реализации в парадигме MR. Паттерны проекттирования MR (pairs, stripes, составные ключи). PageRank в MR. Планировщик задач в YARN
  4. SQL поверх BigData
  • Распределённая часть (семинары)
  1. Устройство Hadoop-кластера, HDFS CLI, Web API, внутреннее устройство HDFS
  2. Hadoop streaming API. Простейшая программа на MapReduce (подсчёт слов в тексте). Её модификации. Инструменты отладки в MapReduce.
  3. Advanced HDFS shell. Hadoop Java API, Joins в MapReduce, Счётчики в MapReduce
  4. Apache Hive. Язык HiveQL, его расширения (Hive Streaming, User defined functions)