当前位置:   article > 正文

LRU-K缓存替换算法_lru-k页面替换策略

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算法】

 

 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/163710
推荐阅读
相关标签
  

闽ICP备14008679号