【发布时间】:2018-05-18 11:31:41
【问题描述】:
我需要证明最优页面替换算法确实是最优的,我不确定如何开始。我想也许可以通过矛盾来证明,但是一旦我提出了一个替代声明,我不确定如何证明它的页面错误与 OPT 相同或更少。
【问题讨论】:
标签: page-replacement
我需要证明最优页面替换算法确实是最优的,我不确定如何开始。我想也许可以通过矛盾来证明,但是一旦我提出了一个替代声明,我不确定如何证明它的页面错误与 OPT 相同或更少。
【问题讨论】:
标签: page-replacement
这是明天的 CSE 330 决赛吗?
【讨论】:
最长前进距离 (LFD)
定理:
证明:
– OPT 处理请求 1,2, ..., i 的方式与 LFD 相同
– OPT 处理请求 i+1 的方式与 LFD 不同
– 任何其他最优策略处理前 i+1 个请求中的一个请求的方式与 LDF 不同
• 因此,OPT 是最优解,其行为方式与 LFD 相同 尽可能久 --> 我们有 i
• 目标: 构造与请求的 LFD 相同的 OPT'。 1, ... , i+1
案例 1: 请求 i+1 不会导致页面错误
• LFD 不会改变快速存储器的内容
• OPT 的行为与 LFD 不同 --> OPT 替换了快速内存中的某些页面
– 直到请求 i+1,两种算法的行为方式相同,它们也具有相同的快速内存内容
– OPT 因此不需要新页面来请求 i+1
– 因此,OPT 也可以稍后加载该页面(无需额外费用)--> OPT'
案例 2: 请求 i+1 确实会导致页面错误
• LFD 和 OPT 将同一个页面移动到快速内存中,但它们驱逐不同的页面
--如果OPT加载不止一页,请求i+1不需要的所有页面也可以稍后加载
• 比如说,LFD 驱逐页面 p 和 OPT 驱逐页面 p'
• 根据LFD的定义,在页面p之前又需要p'
现在,有两种情况:-
a) OPT 将 p 保存在快速内存中,直到请求 ℓ
– OPT 可以在请求 i+1 时驱逐 p,保留 p' 并在请求 ℓ 时将 p(而不是 p')加载回快速内存,无需额外费用,类似于 LFD
b) OPT 应请求驱逐 p ℓ'
– OPT 可以在请求 i+1 时驱逐 p,保留 p' 并加载 p,同时在请求 ℓ' 时驱逐 p'(切换 p 和 p' 的驱逐),再次类似于 LFD
所以,OPT 并不是比 LFD 更好的解决方案。
即,LFD 是最佳页面替换技术。
LFD 也称为优化页面替换技术(OPT)。
PS:在证明中,名称“OPT”仅用作“名称”,不要将其与最佳页面替换技术混淆。
【讨论】: