This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
buzzword [2015/04/10 16:38] kevincha [Lecture 28 (4/8 Wed.)] |
buzzword [2015/04/13 16:08] kevincha |
||
---|---|---|---|
Line 1250: | Line 1250: | ||
* Debugging is also difficult (non-deterministic behavior) | * Debugging is also difficult (non-deterministic behavior) | ||
* Dekker's algorithm | * Dekker's algorithm | ||
- | * Inconsistency -- the two processors did NOT see the same order of | + | * Inconsistency -- the two processors did NOT see the same order of operations to memory |
- | operations to memory | + | |
* Sequential consistency | * Sequential consistency | ||
* Multiple correct global orders | * Multiple correct global orders | ||
Line 1281: | Line 1280: | ||
* Invalidates the block on a write | * Invalidates the block on a write | ||
* Has an exclusive state | * Has an exclusive state | ||
+ | |||
+ | ===== Lecture 29 (4/13 Mon.) ===== | ||
+ | * MSI coherent protocol | ||
+ | * The problem: unnecessary broadcasts of invalidations | ||
+ | * MESI coherent protocol | ||
+ | * Add the exclusive state: this is the only cache copy and it is a clean state to MSI | ||
+ | * Multiple invalidation tradeoffs | ||
+ | * Problem: memory can be unnecessarily updated | ||
+ | * A possible owner state (MOESI) | ||
+ | * Tradeoffs between snooping and directory based coherence protocols | ||
+ | * Slide 31 has a good summary | ||
+ | * Directory: data structures | ||
+ | * Bit vectors vs. linked lists | ||
+ | * Scalability of directories | ||
+ | * Size? Latency? Thousand of nodes? Best of both snooping and directory? |