
Cache Modeling and Optimization Using Miniature Simulations [pdf] - erwan
https://www.usenix.org/system/files/conference/atc17/atc17-waldspurger.pdf
======
erwan
Sharing this paper because effective workload simulation is a necessary step
toward the Holy Grail: workload aware and self-tuning caches. In plain
english, that means a cache that can adjust its parameters so that it is most
effective for a given workload. Ideally, you want all of that without human
supervision or pre-trained models, and in its fully accomplished form the
cache can provision resources if it is worth it. Note that effectiveness here
is traditionally measured in terms of hit:miss ration but other metrics exist
too.

That's part of the broader idea of "intelligent systems" pro-actively
adjusting themselves (resources, internal structure, overall policies) to the
workload they are fed in order to optimize performance or cost-effectiveness.

The most basic caches have static eviction policies (e.g LRU/LFU), there has
been some work on adaptive eviction policies (e.g ARC), and more recently on a
clever combination of adjusting eviction policies and _admission policies_
(e.g TinyLFU). The overarching goal of this line of research is to figure out
a "silver bullet" cache which perform optimally (or close-to) regardless of
R/W distributions by scrambling between different policies wrt. admission and
eviction.

~~~
yvdriess
Are there not significant diminishing returns to such techniques? More
sophisticated eviction strategies need to be proporially more effective to
compensate for the increased overhead. Or do you see the simulations only as
an offline tool for better researching caching strategies.

~~~
d--
It turns out that most caching algorithms we use in practice (CDNs, memcached,
storage, etc.) are still pretty far from the optimal hit ratio/ miss ratio.

See, e.g., recent work that exposes that gap (I'm an author)

[https://www.cs.cmu.edu/~dberger1/pdf/2018PracticalBound_SIGM...](https://www.cs.cmu.edu/~dberger1/pdf/2018PracticalBound_SIGMETRICS.pdf)

[https://github.com/dasebe/optimalwebcaching](https://github.com/dasebe/optimalwebcaching)

