Concurrency, Synchronization and Consistency. Fundamentals & Locking Synchronization
🔹Основы. Железо
- Архитектура Фон-Неймана
- Узкое место архитектуры Фон-Неймана
- Когерентность кеша. Основы
- Контроллеры когерентности
- Протокол когерентности MSI
- Блокировки, атомарные операции
- Выводы по аппаратной части
🔹Модель памяти / Барьеры памяти
- Что такое модель памяти? Sequential Consistency.
- Барьеры памяти
- Модель памяти X86
- Модель памяти ARM
- Выводы по моделям памяти + материалы
🔹Прикладной уровень. Операционная система
- Spinlocks с примерами на stdatomic.h + pthread.h
- Race Condition + Mutex
- Mutex Internals. Fast Userspace Mutex
- Semaphores. Основы. Сферы применения.
- Read-Write Mutexes
- Масштабируемость RW Mutex
- Mutex vs RWMutex
- Bonus: Проблема False Sharing
- Приоритеты потоков на примере Linux
- Ключевое слово volatile в C
- Реентерабелные функции в C
🔹Вызовы конкурентного программирования
- Проблема обедающих философов. Взаимная блокировка (Deadlock)
- Priority Inversion или баг случившийся на Марсе
- Double checked locking problem
- Синхронизация не бесплатна. Иерархия накладных расходов
Golang
- Пишем собственный Mutex
- sync.Mutex Internals
Post #403
7.41K
- 👍 22
- ❤ 9