一种基于布谷鸟算法的农业光谱混合存储系统缓存替换算法技术方案

技术编号:29098824 阅读:33 留言:0更新日期:2021-06-30 10:10
本发明专利技术公开了一种基于布谷鸟算法的农业光谱数据缓存替换算法。近年来海量增长得农业光谱数据数据的对存储系统带来巨大挑战。单一的存储介质如HDD(Hard Disk Drive,HDD)或SSD(Solid State Drive,SSD)由于其固有物理特性限制,并不能满足实际需求,将SSD和HDD混合使用的存储架构是一种可行的解决方案,这样管理农业光谱数据的混合存储的缓存替换策略就成为存储性能提升的关键。我们推出一种基于计数布谷鸟过滤器热探测方案(Count Cuckoo Filter Hot

【技术实现步骤摘要】
一种基于布谷鸟算法的农业光谱混合存储系统缓存替换算法


[0001]本专利技术涉及农业光谱数据混合存储系统,通用基于布谷鸟算法,结合LRU缓存替换算法,提出一种基于计数布谷鸟过滤器热探测方案的混合存储缓存替换策略,已降低时间复杂度和空间复杂度,提高农业光谱混合存储系统缓存命中率。

技术介绍

[0002]随着5G、大数据、物联网农业等新技术的快速发展和应用,数据产生的规模和速度呈现指数式增长。海量增长得数据给存储系统带来巨大挑战,作为数据主要存储介质HDD(HardDisk Drive,HDD)由于其固有的物理特性限制,性能提升已经遇到瓶颈。SSD(Solid StateDrive,SSD)是一种新型存储介质,其读写性能大大优于HDD,但SSD的单位成本要远远高于 HDD。用SSD完全替换HDD的成本开销是十分昂贵。因此,采用SSD和HDD构建混合存储系统,是一种兼顾性能与成本的优秀方案。
[0003]SSD

HDD混合存储系统一般将SSD作为HDD的缓存,利用SSD的高性能和HDD低成本大容量的特点,为用户提供高性能、大容量的存储系统。由于SSD价格较高,所以SSD存储空间有限,这样管理混合存储的缓存替换策略就成为性能提升的关键。性能较好的混合存储缓存替换策略,都会考虑数据的访问频率,以确定这个数据是冷数据还是热数据,根据冷、热不同替换代价,设计最优的缓存替换策略。因此,判定一个数据冷、热的热探测(或冷探测) 是核心技术。
[0004]本专利基于布谷鸟过滤器,提出一种计数布谷鸟过滤器热探测方案。并将CCF和自适应两级LRU相结合,形成CCF

LRU缓存替换策略。该策略利用CCF识别热数据,利用自适应两级LRU管理缓存。实验结果表明,结合热探针方案的缓存替换策略与传统策略相比,能显著提高缓存命中率。CCF

LRU相比其他结合热探针方案的缓存替换策略,时间复杂度和空间复杂度更小,命中率更高。

技术实现思路

[0005]本专利描述的农业光谱混合存储系统,SSD是作为介于HDD和内存之间的缓存,SSD存储的是HDD中的数据副本,图6描述系统主要组件之间的关系和数据交互路径。黑色箭头表示数据流动路径,当内存发出读请求时,CCF

LRU判断SSD是否命中,如果命中则从SSD中读取数据,如未命中则从HDD中读取数据,并复制一个副本给SSD。当内存发出写请求时,则先写入SSD,然后延迟写回HDD。
[0006]本专利将CCF和自适应两级LRU相结合,形成CCF

LRU策略,该策略利用CCF识别热数据,利用自适应两级LRU管理缓存。如图4所示,CCF

LRU维护冷和热两级LRU链,热链用于存储热数据,冷链用于存储冷数据。热链的尾端和冷链的首端相连,热链中被驱逐的数据,插入冷链首端。
[0007]当有访问请求时,判断是否命中。如命中,如图5(a)所示,则返回数据LAB地址,并通过CCF判断命中的是热数据还是冷数据,如果是热数据则放入热链首端,如果是冷数据则
放入冷链首端。如未命中,如图5(b)所示,则从外存读取数据放入LRU链中,再返回数据。首次读取数据默认是冷数据,插入冷LRU链的首端,如果此时LRU链已满,则通过CCF判断冷链尾端数据,如果是冷数据,则直接驱逐,如果是热数据则重新插入到热链的首端,再重复上一步操作,直到有数据被驱逐。CCF

LRU缓存替换策略见算法5。
[0008][0009]两级LRU缓存替换策略的链表长度一般是固定,或由人工调整,很难适应不同的工作场景和变化的工作负载。大量实践表明,两个适当的链表长度比例可以提高命中率,因此自适应调整链表长度是很有意义的。
[0010]在CCF

LRU中,两个链表的长度在工作过程中能自适应调整,LRU链表总长度等于热链表和冷链表之和L=L
hot
+L
cold
,L
hot
在0.2L到0.8L范围内调整。初始状态L
hot
=0.2L、 L
cold
=0.8L,每经过Q次访问后,比较热链队尾和冷链队头0.01L长度的链表中热数据块的个数,如果热链热数据块多,则冷链队头0.01L长度的链表归并到热链队尾,如果冷链热数据块多,则热链队尾0.01L长度的链表归并到冷链队头,如果数据块相等,则不操作。从而实现自适应调整两个链表长度。自适应两级LRU如图6所示
附图说明
[0011]图1:布谷鸟过滤器结构示意图。
[0012]图2:计数布谷鸟过滤器热探针法模型示意图。
[0013]图3: LRU缓存替换策略示意图。
[0014]图4 :CCF

LRU缓存替换策略两级LRU链示意图。
[0015]图5:CCF

LRU缓存替换策略示意图。
[0016]图6:自适应两级LRUU缓存替换策略示意图。
[0017]图7:农业光谱混合存储系统概述。
具体实施方式
[0018]1、布谷鸟过滤器
[0019]布谷鸟算法的布谷鸟过滤器由哈希表由n个存储桶组成,每个存储桶可以存储b个条目。每个项目先通过哈希计算得到一个j位的指纹f,公式1,再由哈希函数h1(x)和h2(x)确定两个候选的存储桶索引,公式2

3。
[0020]f=fingerprint(x)
ꢀꢀ
(1)
[0021]h1(x)=hash(x)
ꢀꢀ
(2)
[0022][0023]公式3中的异或运算确保h1(x)也可以通过h2(x)和指纹f异或得到。换言之,如果有两个桶a和b,桶a中存储有指纹f,可以通过桶a的索引η
a
和指纹f异或得到另外一个桶的索引η
b
,见公式4
[0024][0025]CF利用以上特性完成插入、查询和删除操作。图1左半部分演示了有8个桶,每个桶有 4个条目的CF(n=8,b=4)。当要插入新元素x
i
时,CF通过公式1

3计算两个候选的存储桶索引η和指纹f
i
,如果候选桶中有空的条目,则写入指纹f
i
,如果两个桶都满,CF随机重置一个桶中的条目,如图2中为f4,将指纹f
i
写入条目。受害者f4根据公式4计算另外一个候选桶的索引η
b
,如果候选桶有空条目则写入指纹f4,如果候选桶也没有条目,则CF再个候选桶中的条目,如图2中为f
12
,写入指纹f4,受害者f
12
重复以上过程,直到所有的指纹都找到自己的条目或重复次数大于最大踢出数,最后一个受害者指纹被抛弃为止,插入操作完成。
[0026]CF的查询和删除操作较为简单,如图2右半部分,查询元素x8,CF本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.本专利对在谷鸟过算法的基础上提出了一种计数布谷鸟过滤器热探测方案(Count Cuckoo Filter Hot

probe Method,CCF)。2.本专利设计了一种能自适应调整的自适应两级LRU缓存替换算法...

【专利技术属性】
技术研发人员:王吟吟杨余旺柯亚琪陈霆希曹宏鑫葛道阔
申请(专利权)人:江苏省农业科学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1