Fri Jul 14 14:10:05 EDT 2017
Maybe obvious, but getting into this as being a central problem to a
lot of architecture problems.
Cache trades management of local state against resource use,
i.e. communication overhead, and computation time.
Essentially computation time is also communication delay, so really
the idea is: "remember shit so you don't have to bother anyone to get
your job done".
Caches rely on reliable change notifications, and (optionally) on
reliable initialization procedures.
At the level of data structures, this is about representing
differences -- the update operators -- in a way that is efficient.