算法与 phase ​
在分页问题中,缓存容量为
Clean 与 stale 分析 ​
本 phase 未在上一 phase 出现的页称 clean;上一 phase 出现但本 phase 尚未请求的页称 stale。clean 页首次请求必导致算法 fault,也迫使任意离线最优在相邻 phases 的并上付出一定成本。每出现一个 clean 页,随机淘汰会使 remaining stale 页被逐步污染;第
型和。精确配对可得期望
一 phase 图像 ​
缓存含上一 phase 的
对手边界 ​
随机竞争保证通常针对 oblivious adversary,即请求序列不根据本轮随机淘汰结果调整。能观察缓存再选下一请求的 adaptive 对手可专门请求刚被淘汰页,破坏分析。
OPT 下界与 phase 衔接 ​
相邻两个 phases 的并含至少
所有页都 marked 时不应立即随机淘汰 marked 页,而应在下一次将出现新 distinct 页时结束 phase、清标记,再按未标记规则处理。实现边界错一请求会破坏 clean/stale 定义。
一阶段缓存怎样变化 ​
设 a,b,c,b,d。前三个不同页被标记;第二次 b 命中且仍保持标记。请求 d 会开启下一 phase,而不是在已有三个标记页中强行找“未标记页”淘汰;清空标记后再处理 d,算法不变量才成立。
分析把当前 phase 首次出现、且上一 phase 未出现的页称 clean,其余首次出现页称 stale。每个 clean 请求必 miss;stale 页在到来前是否已被随机淘汰,由尚未请求的 stale 页之间对称性控制,调和和由此出现。对 oblivious 对手,期望 fault 数是
若对手能看到每次随机淘汰结果后自适应选择下一请求,对称性可能被破坏,保证模型必须另写。随机数也应在未标记缓存页上均匀抽取,按物理槽编号但未过滤标记会产生非法淘汰。
参考资料
- Amos Fiat et al., Competitive Paging Algorithms, Journal of Algorithms, 1991.
- Allan Borodin, Ran El-Yaniv, Online Computation and Competitive Analysis, 1998.