Shared-memory multiporcessor:
- SMP(symmetric multiprocessors / centralized shared-memeory multiprocessor) => UMA(uniform memory access)

- DSM(distributed shard memory) => NUMA(nonuniform memory access)

Coherence vs Consistency
- Coherence Defines the behavior of reads and writes to the same memory location.
- Consistency defines the behavior of reads and writes with respect to accesses to other memory locations.
Coherence Protocols
- Snooping
- MSI
- MESI
- MOESI
- Directory based
Snooping coherence protocol example
- State(MSI):
- Invalid
- Shared
- Modified



Directory-based coherence protocol example


Memory consistency models
- Sequential consistency
- Processor consistency
- Relaxed consistency
Synchronization
- Automic operation: single uninterruptible instruction
- Conditional store: piar of instructions (load locked / store conditional)
Reference:
Computer Architecture: A Quantitative Approach 5th Edition
Intel i7-4770 (Haswell) performance
Understanding CPU caching and performance
Computer memory history