LRU-K缓存替换算法

【概率模型】

给定一组缓存页面N={p1,p2,p3,p4.....pn},它是我们要访问的对象(当然是缓存已命中的情形),另外再给出一组访问序列R={r1,r2,r3....rt......},

r(t)=p(p属于N,意思就是第t次访问的是p页面)。对于任意的t值,我们假定每一个缓存页面p在第(t+1)次被访问到的概率为Pr(r(t+1))=Bp (p属于N),依据这一概率模型,我们还可以给出另外一个更形象的定义Ip,它表示页面p被访问的期望间隔,Ip=1/(Bp)。这一点是很好理解的,例如若Bp=0.1,则Ip=10,也就是说页面p每10次访问中就有可能被访问一次。现在的问题是如何来量化Ip,以便于计算?

 

【向后K距】

问:x是什么?

t表示当前总的访问次数,对页面p来说,如果它在(t-x)次被访问到了的话,那么在t-x次与第t次(可以等于t次)之间

还必须有K-1次被访问到。如果不能满足这一条件,那么p的向后K距为无穷大,否则为x。例如,当K=2的时候,只需要页面p在第t-x次

被访问到的同时在t-x次与第t次(可以等于t)之间还有1次被访问到了,此时p的向后K距即为x,否则为无穷大。

通过向后K距的方式将概率Bp进行了量化,LRU-K替换算法会淘汰掉x值最小的块。

 

问:可能同时存在多个无穷大,怎么办?

同时存在多个x值为无穷大的情况是可能的,此时在这些同为无穷大的页面中采用其它替换策略,如LRU。

 

【LRU-K算法】

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值