星空网 > 软件开发 > Java

缓存算法之belady现象

前言

  在使用FIFO算法作为缺页置换算法时,分配的缺页增多,但缺页率反而提高,这样的异常现象称为belady Anomaly

  虽然这种现象说明的场景是缺页置换,但在运用FIFO算法作为缓存算法时,同样也是会遇到,增加缓存容量,但缓存命中率也会下降的情况。这也是我在学习缓存算法时遇到的概念,虽总结归纳之。

 

一、举例

  假设我们有字符串"dcbadcedcbae",页面置换算法采用FIFO算法,现在有两个内存,一个是3页,一个是4页。结果如下

  缓存算法之belady现象

  由图可以清楚的看到,前者缺页数是9,而增加后的缺页数反而是10.

 

二、分析

  让我们仔细看看在每个时刻在内存的页数。比如在时刻3,3页内存的页数是 a、c、b, 4页内存的页数是d、c、b、a,3页内存是4页内存的子集,所以此时如果3不缺页,4肯定不缺页。

  但是,比如在时刻6,3页内存为e、d、c,4页内存为e、c、b、a,3页内存不是4页内存的子集,那就意味着,4出现缺页时,3反而不一定出现缺页。时刻7和时刻10是同样的道理。

 

三、结论

  如果内存中页数更小的集合是内存页数更大的集合的子集,这个算法被称为stack algorithm。可以证明stack algorithm(如LRU)不会出现belady现象,FIFO会出现。

 

四、参考文献

1、Belady’s Anomaly




原标题:缓存算法之belady现象

关键词:缓存

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

图文实操:如何提高你的Facebook主页吸粉能力?:https://www.ikjzd.com/articles/102485
中美磋商即将重启,结果会怎样?:https://www.ikjzd.com/articles/102486
产品开发思维导图怎么做?:https://www.ikjzd.com/articles/102489
亚马逊第二季度财报公布:消失的利润用来维持扩张了?:https://www.ikjzd.com/articles/102490
亚马逊欧洲站适合卖什么产品?:https://www.ikjzd.com/articles/102492
亚马逊FBA费用又调整,商品弃置费上涨幅度惊人!:https://www.ikjzd.com/articles/102498
37号文今后是否会更新?一文详解关键信息 :https://www.kjdsnews.com/a/1836441.html
探讨内地人开设香港账户的可行性 :https://www.kjdsnews.com/a/1836442.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流