This slide says if the requested line is clean it will provided by home node. My problem is, if the home node doesn't have that line in cache, will it be better to provide the requested line from a node that has it in cache?
To add to @zhiyuany's question, Kayvon said earlier that almost all large parallel machines have asymmetry, so to be as efficient as we can be, shouldn't we also consider the network topology? That is, if a line is clean, but in multiple caches, shouldn't we pull it from the closest cache that it resides in instead of pulling it from memory of the home node?
We can pull it directly from the cache which has the latest copy of the line but to know which cache has latest copy, we need to go to directory and ask. When the cache line, which has the latest copy, provide the data it will update the base node of that line also.