Concurrency, Synchronization and Consistency.
🔹Основы. Железо
- Архитектура Фон-Неймана
- Узкое место архитектуры Фон-Неймана
- Когерентность кеша. Основы
- Контроллеры когерентности
- Протокол когерентности MSI
- Блокировки, атомарные операции
- Выводы по аппаратной части
🔹Модель памяти / Барьеры памяти
- Что такое модель памяти? Sequential Consistency.
- Барьеры памяти
- Модель памяти X86
- Модель памяти ARM
- Выводы по моделям памяти + материалы
🔹Прикладной уровень. Операционная система - Spinlocks с примерами на stdatomic.h + pthread.h
-
Bonus: Проблема False Sharing
🔹Вызовы конкурентного программирования
- Проблема обедающих философов. Взаимная блокировка (Deadlock)
- Priority Inversion или баг случившийся на Марсе
- Синхронизация не бесплатна. Иерархия накладных расходов
Golang