Advanced Computer Architecture, Imperial College 2001
18
A more cunning plan… invalidation
•Suppose instead of updating remote cache lines, we invalidate them all when a store occurs?
•After the first write to a cache line we know there are no remote copies – so subsequent writes don’t lead to communication
•Is invalidate always better than update?
–Often
–But not if the other processors really need the new data as soon as possible
•Note that to exploit this, we need a bit on each cache line indicating its sharing state
•(analogous to write-back vs write-through)