基于细粒度刻画的自适应缓存淘汰(OSDI 2026)

原题:Merlin: An Efficient Adaptive Cache Eviction Algorithm via Fine-Grained Characterization

一句话总结:既有adaptive cache在少数LFU/LRU/scan类别间切换,base algorithms之间还互相干扰;Merlin按object同时刻画frequency、recency与相对cache-size locality,并解耦characterization/selection/eviction,在11 datasets、5,423 traces上把系统throughput提高1.4×–7.8×。

问题与动机

现代KV/CDN/page-cache workload由LFU-friendly、LRU-friendly、churn、scan等pattern混合并随时间变化。现有adaptive policy通常在两三个完整algorithm之间切换;它们只识别预设典型pattern,且各自metadata/admission/eviction会改变另一个算法看到的状态,真实trace上甚至输给static policy。

关键观察 / 隐含假设

  • workload不能可靠归为单一全局类别,应在individual object粒度刻画access locality。
  • frequency/recency是否有价值依赖cache capacity;相同trace在不同cache size下pattern可改变。
  • 组件各做单一职责比并行运行完整base algorithms更稳,可避免shadow state interference。
  • online history能代表近期访问,phase变化速度不超过characterizer反应速度。

核心方法

Merlin为对象维护低成本fine-grained signal,将frequency、recency/reuse与cache-size-aware position统一进pattern characterization;随后由独立policy adjustment将对象分配到适合的管理逻辑,而 eviction data structure只执行已选决策。此“刻画—调节—执行”解耦避免传统adaptive algorithm间共享状态和相互驱逐。

实现强调constant-size/采样式metadata与multicore scalability,目标是在高并发software cache中让adaptive收益大于管理开销。

实验与结果

  • 11个real-world datasets、5,423 traces覆盖不同cache sizes与访问混合,比较static与adaptive eviction baselines。
  • Merlin在hit rate上表现稳健,不只优化少数adversarial trace;下游KV/cache系统throughput提高1.4×–7.8×。
  • pattern breakdown展示已有adaptive schemes在churn/scan/mixed phases下可低于其static component,支持“粗粒度分类+算法干扰”诊断。
  • concurrency/metadata实验显示设计保有low overhead与high multicore scalability,避免hit-rate收益被锁竞争抵消。

论断—证据表

论断证据边界置信度
既有adaptive algorithm并不稳健§3 trace analysis11 datasets
object/cache-size-aware刻画提高hit rateevaluation/ablation5,423 traces
可转化为throughput收益system experiments指定cache backends
multicore overhead可控scalability experiments所测CPU/cache sizes

批判性分析

论证链条

论文先用大规模trace反驳“adaptive天然优于static”,再把失败拆成characterization盲区与component interference;Merlin对应两因,论证结构清楚。广泛trace比只展示平均hit rate更有说服力。

假设压力测试

object-level metadata对极高cardinality/small-object cache可能仍昂贵;rapid phase change、TTL、variable object size和cost-aware eviction会增加状态维度。hit-rate最优不等于byte-hit、latency或backend-cost最优。

实验可信度

实验数据支持主要设计论断,但平台与工作负载范围仍限制其普遍性。

系统性缺陷

自适应policy复杂度提高debug/预测困难;对adversarial access可被迫频繁改变策略。throughput 1.4×–7.8×依赖miss penalty,不能直接泛化到所有cache system。

局限与后续工作

  • 扩展到variable-size/cost/TTL-aware objectives与byte hit rate。
  • 测突发phase change、adversarial trace及metadata budget极低场景。
  • 在CDN、kernel page cache与distributed cache生产系统长期A/B验证tail latency。

相关