Module 14: "Directory-based Cache Coherence"
  Lecture 31: "Managing Directory Overhead"
 

Remote access cache

  • Essentially a large tertiary cache
    • Captures remote cache blocks evicted from local cache hierarchy
    • Also visible to the coherence protocol: so inclusion must be maintained with processor caches
    • Must be highly associative and larger than the outermost level of cache
    • Usually part of DRAM is reserved for RAC
    • For multiprocessor nodes, requests from different processors to the same cache block can be merged together; also there is a prefetching effect
    • Used in Stanford DASH
    • Disadvantage: latency and space

COMA

  • Cache-only memory architecture
    • Solves the space problem of RAC
    • Home node only maintains the directory entries, but may not have the cache block in memory
    • A node requesting a cache block brings it to its local memory and local cache as usual
    • Entire memory is treated as a large tertiary cache
      • Known as the attraction memory (AM)
    • Home as well as any node having a cache block maintain a directory entry for the cache block
    • A request first looks up AM directory state and, if unowned, gets forwarded to home which, in turn, forwards it to one of the sharers
  • Cache-only memory architecture
    • To start with home has the cache blocks
    • It retains a cache block until it is replaced by some other migration
    • There is always a master copy of each cache block
      • The last valid copy
    • What happens on a replacement of the master copy?
      • Swap with source of migrating cache block
    • Latency problem remains at the requester
    • Inclusion problems between AM and processor cache hierarchy
      • Complicates the protocol