Skip to content

Latest commit

 

History

History
31 lines (27 loc) · 2.63 KB

Parallel.md

File metadata and controls

31 lines (27 loc) · 2.63 KB

Параллельное программирование

Структура курса

  • Разделяемая память и потоки, атомарные операции, memory mapped files
  • Проблемы и понятия: race condition, deadlock, livelock, синхронизация, critical section
  • Подходы к решению задач: локинг, потокобезопасные и потоконезависимые структуры данных
  • Примитивы параллельного программирования в операционных системах
  • Мьютексы, Фьютексы и семафоры в том числе бинарные, рекурсивные и легковесные
  • Условные переменные, сравнение их с семафорами, оптимизация параллельных программ
  • Барьерная синхронизация, спинлоки и синхронизация в юзерспейсе
  • Read-write блокировки (много параллельно читают, но только один эксклюзивно пишет)
  • Другие подходы: транзакционная память, модель акторов, map/reduce, сети петри
  • Другие подходы: асинхронное программирование, реактор, корутины, фьючеры и монады
  • Практическое применение Java Threads, C# Tasks
  • Параллельное программирование на OpenMP и MPI
  • Алгоритмы консенсуса, CAP-теорема и распределенные системы

Видео-лекции