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

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Список рекомендуемых материалов)
(Критерии получения оценки)
 
(не показано 27 промежуточных версий 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 и OpenMP]
+
# [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)]

Текущая версия на 02:54, 17 февраля 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)