MFU(最常用)页面替换算法何时具有比LRU(最少使用)更好的性能?什么时候比LRU差? 我在哪里可以找到超出MFU页面替换算法基本定义的信息?MFU和LRU页面替换算法的比较
1
A
回答
3
通常情况下,我已经看到一个MFU缓存用作主节点,由使用LRU替换算法(MRU缓存)的二级缓存支持。这个想法是,最近使用的东西将保留在主缓存中,以便快速访问。这可以减少在很少数量的项目被频繁使用时在MRU缓存中看到的“流失”。它也可以防止那些常用的项目被从缓存中驱逐出来,仅仅因为它们还没有被使用一段时间。
如果您有非常频繁引用的少量项目以及很少引用的大量项目,MFU可以很好地工作。例如,一个典型的桌面用户可能有三个或四个他每天使用多次的程序,以及他很少使用的数百个程序。如果你想通过在记忆程序中缓存来提高他的体验,以便他们能够快速启动,那么最好是缓存那些他经常使用的东西。另一方面,如果您有大量基本上随机引用的项目,或者某些项目的访问次数稍多于某些项目,或者项目通常是批量引用的(即项目A多次访问的次数超过了短期,然后根本不),那么LRU高速缓存驱逐计划可能会更好。
1
最近最少使用(LRU)页面置换算法
在这个算法,该页面还没有被使用的时间最长,必须更换。
优势LRU页面置换算法的:
- 它是经得起完整的统计分析。
- 从来没有患过Belady的异常。
最具频率(MFU)用于页面置换算法
其实MFU算法认为不会马上需要这是最常用的网页,因此将取代MFU页面
例如:考虑以下参考字符串:7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
缓冲区大小:3 字符串:7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 0 4 2 2 0 0 2 2 2 0 0 7 7 7
0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
相关问题
- 1. LRU页面替换算法C#
- 2. 实现LRU页面替换算法
- 3. 页面置换算法 - LRU
- 4. 页面替换算法:最优化,FIFO和LRU
- 5. 页面错误和LRU算法
- 6. 页面替换算法
- 7. 时钟页面替换算法和FIFO
- 8. 在这里LRU和FIFO页面替换是否正确完成?
- 9. FIFO页面替换算法问题
- 10. FIFO页面替换策略可能超越LRU吗?
- 11. 比较算法
- 12. 比较算法
- 13. 伪LRU树算法
- 14. 实现LRU算法
- 15. LRU算法在Java
- 16. 快速数组比较和替换最接近的元素的算法。 (Tracking Points)
- 17. c + +比较和替换字符串流
- 18. 我们可以在O(1)中获得LRU(最近最少使用)页面替换算法吗?
- 19. 字比较算法
- 20. C#比较算法
- 21. 替换并进行比较
- 22. 检测和比较短语的算法
- 23. 查找和替换算法
- 24. 两种算法的比较
- 25. 算法的图像比较
- 26. 比较图像的算法
- 27. 最近最少使用(LRU)的分页算法总是比FIFO更有效率?
- 28. 如何比较xaml页面和e.OriginalSource?
- 29. 比较和对比蒙特卡洛方法和演化算法
- 30. 替换算法