码迷,mamicode.com
首页 > 其他好文 > 详细

基于Alluxio内存文件系统的缓存策略

时间:2017-07-06 21:26:06      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:索引   reference   内存   一段   bsp   访问   size   缓存   recently   

Alluxio是一种基于内存的分布式文件系统,支持不同的缓存替换策略,来替换内存中的文件快。Alluxio中的文件时以文件块形式组织,其中文件通过自己实现的inode数据结构记录文件属性并索引。

下面首先介绍几种不同的缓存策略,这些缓存策略被广泛的应用在web,数据库,文件系统中。

1 基于访问频率的缓存策略

这种缓存策略是根据缓存单位的(在Alluxio中是文件块Block)访问频率来进行缓存调度,最常用的策略是LFU(Least Frequently Used)策略。该策略每次淘汰访问频率最低的缓存单位。但是如果一个文件块很早时被经常访问,但最近一段时间访问频率很低,那总访问频率依然很高,无法被淘汰。LIRS( Low Inter-Reference Set)策略淘汰具有最长访问间隔的单位,当缓存单位被访问时,会更新访问间隔,一般最近被频繁访问的文件块都具有较短的访问间隔。2Q与 LRU-2策略每次淘汰倒数第二次被访问的时间距离现在最久的缓存项。这些基于访问频率的缓存策略都考虑了访问时间对访问频率的影响,但这些策略对时间局部性良好的访问次序,效果不是很好。

2 基于访问时间的缓存策略

下面考虑访问时间对缓存策略考量的影响,这种缓存策略是考虑或主要考虑缓存单元的访问时间,被广泛使用的策略是LRU缓存策略,这种策略淘汰最久没被访问的缓存块。FIFO淘汰按先进先出策略淘汰,MRU则淘汰最近被访问的文件块。这些缓存策略未考虑访问频率的影响,所以效果也不是很好。

3 对访问时间和访问频率共同考虑的访问策略

LRFU( Least Recently Frequently Used)每次淘汰具有最小 CRF( Combined Recency and Frequency)值的缓存项,CRF值同时考虑了访问时间和访问频率,ARC( Adaptive Replacement Cache)使用了两个队列,其中一个队列管理访问顺序,另一个队列管理访问频率,队列大小可以自适应调整。但是,这两种策略在针对循环访问时,效果远差于MRU 与 LIRS。(未完)

 

基于Alluxio内存文件系统的缓存策略

标签:索引   reference   内存   一段   bsp   访问   size   缓存   recently   

原文地址:http://www.cnblogs.com/lichongjie/p/7128355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!