Multicore & Synchronization
Why do systems with many cores use directory-based coherence instead of snooping?
- ARecording which cores hold each line lets notices go only to the cores involved, reducing traffic
- BDirectory-based coherence makes caches unnecessary
- CDirectory-based coherence can notify all cores on every write
Show answer and explanation
Answer: A. Recording which cores hold each line lets notices go only to the cores involved, reducing traffic
Directory-based coherence keeps a table (the directory) recording, for each line, which cores hold copies and in what state. On a write, it consults the directory and sends invalidations only to the cores holding copies. With less traffic than snooping, which notifies all caches at once, it is used in CPUs with dozens of cores or more, such as server processors.
- A. Correct. There is no need to broadcast to everyone.
- B. Caches are still used.
- C. Avoiding broadcast is the whole point.