The Why
The Purpose
Every system that uses a cache has to make the same decision over
and over when space runs out, what stays and what gets removed. Get it right and the
system runs smoothly. Get it wrong, the system keeps fetching data it didn't need to which
slows everything down.
This project exists to make that decision more reliable
especially for the data that's hardest to judge.
Why It's Needed
Older policies like LRU and LFU work fine when usage patterns are
simple and predictable. But real systems are messier. Some data is used in ways that
contradict each other, like an old file that suddenly gets popular again. Other data is
used so unpredictably that no simple rule can judge it well.
These are exactly the cases
where older policies fall short, because they were never designed to handle uncertainty
or contradiction in the first place.
The Impact
When a cache makes the wrong call, the cost shows up as extra work
the system has to go fetch data from the primary data store.
Every one of those unnecessary fetches adds delay and uses more
resources. By making retention decisions more correct, especially in the confusing
cases.
This project's goal is to reduce that wasted back-and-forth between the cache and
primary data store, so that the cache's overall efficiency remains high.
NEXT