Previous | Next --- Slide 15 of 49
Back to Lecture Thumbnails
planteurJMTLG

Main difference with snooping-based cache coherence: instead of broadcasts, we use a directory (less communication)

emt

Going off the comment above, a directory allows there to be point to point messages between just the relevant parties, as opposed to every processor.

Metalbird

So I agree that we are using point to point which is usually less communication than broadcasting, but does this take longer? If for each process we have to rely on potentially 5 sequential messages will this worsen performance for each individual operation?

anonymous

@Metalbird, I don't think it will take longer time than broadcasting. As the above case, the system will still use the following steps to finish the task:
1, processor 0 broadcast: anyone has data X?
2, processor 2 has a copy of data X (modified).
3, processor 2 broadcast invalidate message and update X's value in memory
4, processor 0 reads data from memory.
The main idea for directory based cache coherence is using more space (directory) to save communication overhead across processors

RomanArena

Should the owner Processor 2 also has the requested cache line in its memory?

Bye

@RomanArena I don't think so. The local memory only stores the data the processor is a home node to. The distributed memory could reduce communication overhead and achieve distributed workload.