Problem
After studying the Dash memory hierarchy and directory protocol, answer the following questions with an analysis of potential performance:
(a) Define the cache states used in Dash.
(b) How were the cache directories implemented in the memory hierarchy?
(c) Explain the Dash directory-based coherence protocol when reading a remote cache block that is dirty in a remote cluster.
(d) Repeat part (c) for the case of writing to a shared remote cache block.