📝The main complication for CPU cache is shared and mutable state

source
Chisnall2018

The main issue of CPU cache is that it is expected to be both shared and mutable. This requires a complex protocol for invalidation between threads.

If different model is assumed, it would allow for much faster and simpler caches. e.g., in Erlang all mutable memory is thread-local and all shared memory is immutable. With this model, invalidation is only required when thread is moved to another CPU unit, and that’s all.

Backlinks