Table of Contents

WTI

WTI (write-through invalidate) is the simplest snoopy coherence protocol: every write is sent both to the local cache and straight through to main memory, and every other cache snooping the bus invalidates its own copy of that line the moment it sees the write go by.

States

WTI only needs two states per line:

There is no “dirty” state, because a write-through cache never lets its copy diverge from memory in the first place; every write lands in memory immediately.

Why it fell out of favor

Write-through means every single write, not just every first write to a line, generates bus and memory traffic. A tight loop that increments the same local counter a million times sends a million writes to memory, even though only the final value ever matters to another core. This wastes bus bandwidth and memory bandwidth in proportion to write frequency rather than to how much data actually needs to be shared, which is why write-back protocols like MSI replaced it as caches and bus contention became the bottleneck rather than memory bandwidth.