So far every system model used shared-wire buses. Two upgrades follow directly from §7.1’s asymmetry — requests need totally ordered broadcast, responses need nothing at all.
7.6.1 A separate, non-bus network for data responses
Coherence responses require no broadcast and no ordering — so route them over a crossbar, mesh, torus, or butterfly instead of a bus. Three wins:
- Implementability — high-speed shared-wire buses are hard to build, especially with many controllers; point-to-point links are not.
- Throughput — a bus carries one response at a time; other topologies carry many in flight.
- Latency — no per-response bus arbitration; responses launch immediately.
7.6.2 A logical bus for coherence requests
Requests still need their total order — but a logical bus logical bus Any interconnect providing totally ordered broadcast without a physical shared-wire bus: a tree serialized at its root (Starfire), or logical-time ordering on arbitrary topologies (Timestamp Snooping, INSO). defined in Chapter 7 — open in glossary delivers totally ordered broadcast without one physical shared wire:
Physically ordered topology: the tree
Controllers at the leaves; a request is unicast up to the root — the serialization point serialization point The mechanism where the network fixes the order of coherence requests (bus arbitration logic, tree root); a requestor learns its own request's place by snooping the request stream. defined in Chapter 7 — open in glossary — then broadcast down. Every controller sees the same order (possibly at different times, which is fine). All links point-to-point. Sun’s Starfire (§7.7) works exactly this way.
Logical order on ANY topology
Timestamp Snooping (Martin et al.): broadcast each request labeled with the logical time at which it should be ordered, ensuring (a) every broadcast gets a distinct logical time, (b) controllers process requests in logical-time order even when they arrive out of physical-time order, and (c) no request at logical time T reaches a controller after it has passed T. Agarwal et al.’s In-Network Snoop Ordering (INSO) is a similar scheme. The network can then be anything at all.
Check yourself
1.Why can data responses travel on a crossbar, mesh, or torus while requests cannot (in a traditional snooping system)?
2.What makes a tree topology a LOGICAL BUS for coherence requests?
3.Timestamp Snooping achieves ordered broadcast on ANY topology. What three things must the protocol ensure?
4.Flashback (pop quiz Q7): 'A snooping cache coherence protocol requires the cores to communicate on a bus.' True or false?