Cache Coherency · All levels

Barriers, Fences, and Completions: Worked Example

Worked Example for Barriers, Fences, and Completions.

Worked example

Worked Example for Barriers, Fences, and Completions explains how to reason from coherency invariant to measurable engineering decision.

A measured regression appears in fence retirement latency and post-fence violation count. The response is to constrain scope, prove mechanism, and choose the smallest fix with clear rollback.

Flow under stress

diagram
COHERENCY DECISION FLOW — Barriers, Fences, and Completions

request intent (read/shared/unique/writeback/evict)
      |
      v
ownership check + sharer metadata evaluation
      |
      v
snoop / directory action + ordering gate
      |
      v
data source selection (owner forward vs memory)
      |
      v
state transition + acknowledgment closure
      |
      v
metric validation + regression guardrails

Before and after

diagram
METRIC TREND — fence retirement latency and post-fence violation count

risk or inefficiency
  ^
  |                     target band
  |               ------------------------
  |          o after root-cause fix
  |      o isolated reproducer
  |   o baseline symptom
  +--------------------------------------> review iteration

Attach every point to a concrete artifact:
  - design revision
  - traffic profile
  - firmware tag
  - measurement script

Cache coherency deep dive

Cache coherence is a correctness contract across caches, interconnect, and software ordering.

Concept diagram

diagram
requester -> coherence fabric -> owner or memory -> state update

Metric graph

diagram
traffic mix across request, snoop, response, data

Metrics and artifacts to collect

  • coherence latency

  • invalidation rate

  • retry rate

  • stale-read incidents

Mini case study

Anchor debug to first stale read and the exact line state transition.

Debug branches

  • Track ownership

  • Track ordering

  • Track evidence

Senior review question

Ask: what is the first line state transition that deviates, and which ordering rule does it break?

Key takeaways

  • Tie every coherency claim to one cache line, one transaction identity, and one measurable counter.

  • Keep proof artifacts from simulation and silicon replay aligned by address, state, and ordering event.

Common pitfalls

  • Chasing bandwidth regressions without checking false sharing and line bouncing first.

  • Assuming coherence correctness implies memory consistency correctness.

  • Declaring closure without litmus, stress, and post-silicon replay evidence.