О курсе

Открытый курс "Параллельные и распределенные вычисления" организован в рамках Школы анализа данных Яндекс (НГУ, Новосибирск, Весна, 2016).


  • Аудиторные занятия проходят один раз в неделю (по вторникам): лекция + семинар
  • Место проведения занятий: НГУ, новый спорткомплекс (ул. Пирогова 12/1), ауд. 223, с 18-30 до 21-00

Новости

  • 02 мар 2016 В разделе 'Доступ к кластеру' размещены инструкции
  • 01 мар 2016 Лекция 3 состоится 15 марта
  • 12 фев 2016 Первая лекция состоится 16 февраля 2016

Лектор

В курсе рассматриваются технологии параллельного и распределенного программирования. Первая часть курса посвящена многопоточному программированию, вопросам синхронизации и реализации распространенных шаблонов параллельного программирования (С/C++, OpenMP). Во второй части курса рассматриваются технологии разработки параллельных программ для систем с распределённой памятью (MPI), средства параллельной обработки больших массивов данных (Big Data) и модель программирования MapReduce. Технология программирования графических процессоров NVIDIA CUDA. Программирование сопроцессоров Intel Xeon Phi. Практические занятия и домашние задания включают написание параллельных программ и работу на вычислительном кластере.

Отчётность по курсу и критерии оценки

Оценка за курс выставляется по результатам выполнения домашних заданий (ДЗ):

Каждое задание оценивается максимум в 10 баллов (в сумме за 4 задания можно получить 40 баллов). Критерии выставления итоговой оценки за курс:

На выполнение каждого задания отводится не менее трех недель.

Домашние задания

Материалы лекций и семинаров

Доступ к кластеру

Программа курса

Многопоточное программирование

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

Модель распределенных вычислений MapReduce

Распределенные системы

Программирование графических процессоров и ускорителей

Материалы по курсу

Видеолекции

Архитектурно-ориентированная оптимизация программного обеcпечения

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

Многопоточное программирование

POSIX Threads

OpenMP

MPI

Архитектура вычислительных систем

MapReduce

Apache Hadoop

Распределенные вычисления

Алгоритмы Интернет

Доказательство корректности программ, верификация

Журнал успеваемости