Multicore & Synchronization
Coherence protocols can be invalidation-based or update-based. Why do most CPUs use invalidation?
- AWhen the same core writes a line repeatedly, only the first write needs an invalidation, so traffic is lower
- BWith update-based protocols other cores read stale values
- CInvalidation doubles cache capacity
Show answer and explanation
Answer: A. When the same core writes a line repeatedly, only the first write needs an invalidation, so traffic is lower
An update-based protocol sends the new value to other copies on every write, which helps if other cores read it soon, but generates traffic on each of a core's repeated writes. With invalidation, after the first write invalidates other copies, further writes to the M line need no communication. Real programs often write repeatedly, so invalidation is the norm.
- A. Correct. Update-based protocols send the value on every write.
- B. Update-based protocols also stay correct; the issue is traffic.
- C. Capacity does not change.