分页缓存购买问题的竞争比研究
1. 问题概述
在内存系统升级中,我们面临何时以及如何升级内存系统的问题。我们考虑的问题可以建模为一个系统,其中一部分内存被预留用于一个高优先级进程(或一组进程),并平衡该进程产生的错误与所有其他进程系统性能的下降。
问题分为离线版本和在线版本。离线版本相对容易解决,对于给定的成本函数 (c(k)) 和请求序列 (\sigma),可能的最优缓存大小只有多项式数量(从 0 到请求序列的长度)。可以通过计算 Belady 算法在序列 (\sigma) 上使用该缓存大小的成本,并将缓存成本添加到结果中,在多项式时间内检查所有这些大小,最佳解决方案即为全局最优。对于许多特殊的成本函数 (c(k))(例如凸函数),还有更快的离线方法来找到最优缓存大小。
在线版本则更具挑战性。我们定义了一些符号:对于固定算法 (A) 和给定请求序列 (\sigma),(fault_A(\sigma)) 表示 (A) 在 (\sigma) 上产生的页面错误数量,(cache_A(\sigma)) 表示 (A) 在 (\sigma) 上的最终缓存大小 (x) 的成本 (c(x)),(cost_A(\sigma) = fault_A(\sigma) + cache_A(\sigma))。如果存在固定常数 (b),使得对于所有请求序列 (\sigma) 都有 (cost_A(\sigma) \leq R \cdot cost_{OPT}(\sigma) + b),则称在线算法 (A) 是 (R) - 竞争的,其中最小的 (R) 即为其竞争比,最优离线算法记为 (OPT)。
2. 主要结果
我们讨论了几种“自然”的成本函数 (c(x)):
分页缓存购买问题的竞争比研究
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



