在云对象存储中,当缓存未命中时,费用是按每个 GET 请求和每字节的流出计费,而非延迟。传统缓存的目标是最小化未命中率,这其实是错误的目标:一个稀少但昂贵的对象可能比一个频繁但便宜的对象成本高出数千倍。
我们提出了一种通用缓存理论来界定未命中成本目标,但尚无基准测试来衡量已部署的启发式算法与真实云定价下的美元最优离线策略之间的差距。我们提供了这一参考。
对于具有异构未命中成本的均匀大小页面缓存,离线美元最优可以通过多项式时间的积分区间线性规划准确计算,并经过暴力搜索验证;而变量大小则为 NP-hard,因此我们将基于流的离线界限从命中率目标扩展到美元(cost-FOO),精度约为四个百分点。
我们发现以下几点: (i) 异构损失法则——LRU 的美元后悔随着未命中成本的离散性增加而上升(Spearman 0.87),而成本感知的 GreedyDual 将其降低至约十分之一; (ii) 争用边界——当预算适合昂贵的工作集时,GreedyDual 的残余后悔降至接近零,否则则为开放切片; (iii) 一个闭合形式的交叉点 s* = GET_fee/egress_rate(在 S3 上约为 4 KB,GCS 上为 330 B),可以预测哪些部署需要关注成本的缓存策略。
在真实的 Twitter 追踪中,价格向量单独使工作负载跨越 s*,如预测的那样改变了工作模式。该成果是一个可再现的、忠实于计费的基准,构建的启发式和界限来自之前的工作,均已得到认可。
博主点评: 本文提出了一种创新的方法,将云计算中缓存的设计与成本优化结合,强调了在云端环境中考虑经济因素的重要性。这一研究不仅为理论提供了支撑,也为实际部署提供了有价值的指导,尤其是在预算有限的情况下,如何选择合适的缓存策略。