Previous | Next --- Slide 10 of 49
Back to Lecture Thumbnails
bjay

In the implementation of a distributed directory system, does every directory have a direct line of communication to every other directory? This seems like more overhead than a broadcast-based system. Or is is the cost incurred by the overhead of a directory-based system worth the price to pay given the improvement in the common case?

yeq

In this graph, every line of memory has a directory and the directories are held by different home nodes. If a processor needs to do memory operation, it will not shout out at all the other processors but phone the corresponding home node to get direction on its next step. It's more efficient comparing to the snooping-based strategy especially in the case when only a small percentage of the cache lines hold the data because it uses a point-to-point messaging instead of broadcasting.

khans

My analogy: So for snooping-based cache coherence, we'd have everyone shouting at each other and listening to each other - "eavesdropping" on each other's operations as it were. For directory-based, you have a receptionist who directs you where to go to find a professor in the building, instead of yelling at the whole building to find where the professor is. You go to the location the receptionist gives you and if the professor isn't in their office, the office inhabitant will tell you where they currently are.

paramecinm

If the communication goes through bus, will point to point communication be much faster than broadcast?

1_1

In the last lecture, if a processor wanted data, it had to shout to everyone that it was going to read or write to that address. Now, it will only go to the home node of that address and tell the directory.