7.8Discussion and the Future of Snooping

book pp. 148–149 · ~2 min read

  • two-message vs. three-message transactions
  • snooping's decline
  • hierarchical coherence

Why snooping won early…

Snooping dominated early multiprocessors for two reasons. Its reputed simplicity — one idea, distributed FSMs, no indirection. And, for the small systems that then ruled the market, a genuine latency edge:

SnoopingDirectory (ch. 8 preview)
Messages per transactionTwo: broadcast request → data responseOften three: request to home → forward to owner → response
Network requirementTotally ordered broadcast (bus, tree, timestamps)Any low-cost, unordered, point-to-point network
Acknowledgments Implicit (from the total order)Explicit messages
Scaling limitBroadcast bandwidth + per-controller snoop bandwidthDirectory storage & indirection latency

…and why it faded

Despite the advantages, snooping is no longer commonly used — even at small scale. The culprit is the network requirement: a totally ordered broadcast network is simply too costly next to the cheap unordered interconnects that satisfy a directory protocol. And for large systems the verdict is structural: broadcasting requests consumes network bandwidth proportional to the core count, and snooping those requests consumes controller bandwidth at every core. Scalability is exactly the need that motivated the directory protocols of the next chapter.

The comeback role

Snooping may yet persist inside a divide-and-conquer hierarchy: keep a multicore chip coherent with a snooping protocol — a small, ordered domain where two-message transactions shine — and stitch chips together with a scalable directory protocol. Section 9.1.6 explores exactly this design.

Check yourself

1.What performance edge does snooping hold over directory protocols for small systems?

2.Why has snooping fallen out of favor even for SMALL systems, where its scalability limits don't bite?

3.What future does the book see for snooping?

3 questions
Chapter 7 references
  1. N. Agarwal, L.-S. Peh, and N. K. Jha. In-network snoop ordering (INSO): Snoopy coherence on unordered interconnects. HPCA, 2009.
  2. L. A. Barroso and M. Dubois. Cache coherence on a slotted ring. ICPP, 1991.
  3. A. Charlesworth. Starfire: Extending the SMP envelope. IEEE Micro, 18(1), 1998.
  4. S. Frank, H. Burkhardt III, and J. Rothnie. The KSR1: Bridging the gap between shared memory and MPPs. COMPCON, 1993.
  5. M. Galles and E. Williams. Performance optimizations, implementation, and verification of the SGI Challenge multiprocessor. HICSS, 1994.
  6. M. M. K. Martin et al. Timestamp snooping: An approach for extending SMPs. ASPLOS, 2000.
  7. M. R. Marty and M. D. Hill. Coherence ordering for ring-based chip multiprocessors. MICRO, 2006.
  8. B. Sinharoy, R. N. Kalla, J. M. Tendler, R. J. Eickemeyer, and J. B. Joyner. POWER5 system microarchitecture. IBM J. R&D, 49(4/5), 2005.