Учебный курс для магистрантов Института математики и компьютерных наук УрФУ (специальности «Компьютерные науки» и «Фундаментальная информатики и информационные технологии») и Екатеринбургского филиала Школы анализа данных Яндекс.

Презентации лекций

  1. Введение.
  2. Многопоточное программирование, часть 1 (С++, Java).
  3. Многопоточное программирование, часть 2 (С++, Java).
  4. Оборудование параллельных вычислительных систем.
  5. Векторизация.
  6. Основы параллельных вычислений.
  7. Технология OpenMP.
  8. Технология MPI.
  9. MapReduce и Hadoop, часть 1.
  10. MapReduce и Hadoop, часть 2.
  11. Экосистема Hadoop
  12. Apache Spark и Storm

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

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

Сдавать домашние задания нужно через систему anytask (инструкция).

Примеры кода

https://github.com/sozykin/parallel-computing-course.

Литература

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

  1. Anthony Williams. C++ Concurrency in Action.
  2. Maurice Herlihy, Nir Shavit. The Art of Multiprocessor Programming, Revised Reprint.
  3. Брюс Эккель «Философия Java» (Thinking in Java), 4-е изд. Рекомендуется оригинал.
  4. Java Tutorials:Concurrency
  5. Пять вещей, которые вы не знали о … пакете java.util.concurrent. Часть 1, Часть 2.