Question: The directory protocol used in 5.9 (based on Figure 5.20) assumes that the directory controller receives requests, sends invalidates, receives modified data, sends modified data
The directory protocol used in 5.9 (based on Figure 5.20) assumes that the directory controller receives requests, sends invalidates, receives modified data, sends modified data to requester if block was dirty, and so on.
Assume now that the directory controller will delegate some work to the cores.
For example, it will notify the exclusive owner of a modified block when some other core needs the block and will have the owner send the block to the new sharer. Specifically, consider the following optimizations and indicate what their benefits (if any) are. Also, specify how the messages will be modified (in comparison with Figure 5.20 protocol) to support the new change.
Hint: Benefits might be reduction in number of messages, faster response time, and so on.
a. On a write miss to a shared memory block, the directory controller sends the data to the requester and instructs the sharers to send their invalidate acknowledgements directly to the requester.
b. On a read miss to a block modified in some other core, the directory controller instructs the owner of the modified copy to directly forward the data to the requester.
c. On a read miss to a block in shared (S) state in some other cores, the directory controller instructs one of the sharers (say, the one closest to the requester) to directly forward the data to the requester.
Figure 5.20

Data write-back Fetch invalidate CPU write hit CPU read hit Invalid Send write miss message CPU write CPU read Send read miss message Modified (read/write) CPU read miss Invalidate Fetch Data write-back Data write-back; read miss CPU write miss CPU read hit Data write-back Write miss Shared (read only) Send invalidate message CPU write hit CPU write miss Send write miss message CPU read miss Read miss
Step by Step Solution
3.53 Rating (160 Votes )
There are 3 Steps involved in it
The scenario described involves optimizations to a directorybased cache coherence protocol in a multiprocessor system Lets analyze each of the optimizations described and see how they might modify the ... View full answer
Get step-by-step solutions from verified subject matter experts
