赞
踩
【概率模型】
给定一组缓存页面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算法】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。