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

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

  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.