Advanced Computer Architecture Chapter 7.
22
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)