Table of Contents

Cache directory protocols

Directory-based protocols implement cache coherence without a broadcast bus by explicitly tracking which cores hold each cache line. On a write, the directory is consulted to identify which cores need invalidation, and messages are sent only to actual sharers instead of broadcasting to all cores.

Directory protocols scale to hundreds of cores on multi-socket NUMA systems where snoopy protocols' bus contention becomes prohibitive.

Example

Directory lookup replaces broadcast.

Snooping:   every write -> broadcast to all N caches
Directory:  every write -> lookup directory -> message K actual sharers (K <= N)