 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
|
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 dont 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)
|
|