Co-designing cache eviction with update/invalidate freshness mechanisms

Determine how to co-design cache eviction policies with backend-triggered update and invalidate mechanisms for maintaining bounded-staleness freshness in lazy (cache-aside) in-memory caches, given that eviction algorithms can observe Time-To-Live (TTL) timers but cannot predict when invalidations or updates will arrive, so that eviction and freshness decisions interact effectively without relying on TTL timing information.

Background

The paper argues that TTL-based freshness mechanisms become impractical at real-time timescales and proposes reacting to writes with updates and invalidations to maintain bounded staleness. While TTLs integrate naturally with eviction (e.g., eviction algorithms can exploit TTL timers), the proposed approach decouples freshness from TTL timing, complicating eviction decisions that previously relied on TTL information.

The authors note that eviction algorithms can monitor TTL timers but cannot anticipate when the backend will send invalidations or updates for a key. This uncertainty raises a concrete systems design challenge: integrating freshness actions that are triggered by write activity with eviction policies that must decide which objects to retain without foreknowledge of future invalidation/update arrivals.

References

While prior works have explored leveraging TTLs in eviction, it is unclear how invalidation and updates can be co-designed with eviction since eviction algorithms can monitor the current value of the TTL timer, but cannot know when an invalidation or update is likely to arrive.

Revisiting Cache Freshness for Emerging Real-Time Applications  (2412.20221 - Mao et al., 2024) in Section 5: Conclusion and Open Questions (Combining freshness with eviction decisions)