Bus sniffing
From Wikipedia, the free encyclopedia
Bus sniffing or Bus snooping is a technique used in distributed shared memory systems and multiprocessors aimed at achieving cache coherence. Every cache controller monitors the bus, awaiting for broadcasts which may cause it to invalidate its cache line.
Cache line most commonly is in states "dirty", "invalid" and "valid" or "shared". On read miss, request for read is broadcast on the bus. All cache controllers are monitoring the bus. The one having the copy in the state "dirty" changes it state to "valid" and sends the copy to requesting node. On write miss, invalidation of all cache copies is performed. When writing a block in state "valid", its state is changed to "dirty" and a broadcast is sent out to all cache controllers to invalidate their copies.
Since snooping does not scale well, larger ccNuma systems tend to use Directory-based coherence protocols.
[edit] External links
- Jim Plusquellic. Centralized Shared-Memory Architectures.