Concurrency, Synchronization and Consistency.
Basics. Iron
- Architecture of Von Neumann
- The Bottleneck of Von Neumann Architecture
- Cache coherence. Basics
- Coherence controllers
- MSI coherence protocol
- Lockdowns, atomic operations
- Hardware conclusions
Memory Model/Memory Barriers
- What is a memory model? Sequential consensus.
- Barriers to memory
- X86 memory model
- ARM memory model
- Conclusions on memory models + materials
Applied level. Operating system - Spinlocks with examples on stdatomic.h + pthread. h h
-
Bonus: Problem False Sharing
Challenges of Competitive Programming
- The problem of dining philosophers. Mutual lockdown (Deadlock)
- Priority Inversion or the Mars bug
- Synchronization is not free. Overhead hierarchy
Golang