|
|
|
|
|
|
|
Figure 8.34
SCI actions in a distributed directoryinvalidate protocol. (H,
T indicate head, tail of list.) |
|
|
|
|
|
|
|
|
Figure 8.35
Centralized directory updates. |
|
|
|
|
|
|
|
|
it is not already the head of the list, it removes itself from the list. It then references the directory with its write, placing itself at the head of the list. It now finds that cache 3 (i.e., processor 3) is at the head of the old linked list of users of the line. Cache 1 then sends an invalidate signal to processor 3 After receiving the invalidate signal, cache 3 acknowledges to cache 1 and identifies the next user of the line on the list. This process is repeated, invalidating all other users. When the last cache on the list receives the invalidate signal, it acknowledges to cache 1 and the write is complete. |
|
|
|
|
|
|
|
|
The principal difference between invalidate protocols is the time it takes to maintain the consistency across the network of processors and the source of the miss data. With the central directory, the invalidate traffic can be forwarded in parallel to all using processors. In the distributed directory, this process must be done serially through use of the lists. Since studies show that the list depths are rarely more than a few entries, the central directory advantage is not as large as it might first appear. |
|
|
|
|
|