基于循环神经网络的SSD缓存管理方法及装置、介质、设备与流程
- 国知局
- 2024-11-21 11:40:21
本发明涉及存储领域,尤其是涉及一种基于循环神经网络的ssd缓存管理方法及装置、介质、设备。
背景技术:
1、随着性能优于机械式硬盘hdd的固态硬盘ssd的出现,存储设备的平均响应时间显著缩短。然而,与hdd相比,ssd的价格更高且使用寿命有限,这使得数据中心无法用ssd完全取代基于hdd的存储子系统。
2、先前的研究已经提出多层存储子系统可以利用机械和非机械存储设备的优势。混合存储系统中有两种主要方法:(1)分层方法;(2)缓存方法。在分层方法中,ssd与hdd处于同一级别,系统的总容量等于两个设备的空间之和。与分层方法相反,在缓存方法中,数据页的副本将移动到ssd以加快i/o请求。与缓存方法相比,分层方法在总体成本和容量方面效率更高,但由于分层方法之间的数据迁移成本高昂,因此在工作负载突然更改期间,分层方法的性能较低。因此分方法层更适合具有稳定工作负载的。另一方面,缓存方法可以在具有突然更改的工作负载中实现更高的性能,这使得它们在同时运行工作负载的系统上非常高效。
3、在存储系统中基于ssd的缓存方面有许多研究。这些研究中的大多数都提出了基于传统算法的简单线性缓存算法,例如最近最少使用或访问频率,这些算法已在其他级别的内存层次结构中被证明是实用和有效的。尽管最近最少使算法的开销较低,但某些工作负载可能会导致缓存抖动,并显著降低其效率。以前使用最近最少使用作为基线缓存算法的研究试图通过各种方法克服这个问题,尽管上述研究在少数工作负载中提高了ssd缓存性能,但它们在其他工作负载类型中的性能仍然较低。此外,在此类架构中,不必要的缓存替换数量仍然很高。
4、由于i/o请求的工作负载的不可预测和非线性行为,基于ssd的缓存方法的性能高度依赖于缓存算法。使用低效的缓存算法不仅会降低性能,还会由于不必要的缓存替换而缩短ssd的寿命。
技术实现思路
1、针对以上至少一个技术问题,本发明实施例提供一种基于循环神经网络的ssd缓存管理方法及装置、介质、设备。
2、第一方面,本发明实施例提供的基于循环神经网络的ssd缓存管理方法包括:
3、捕获i/o请求,并根据所述i/o请求从固态硬盘中进行数据查询;
4、若从所述固态硬盘中未查询到相应的数据,则从机械式硬盘中进行数据查询,并将查询到的数据进行反馈;
5、采用rnn负载分类模型识别出所述i/o请求对应的工作负载类型;
6、采用所述工作负载类型对应的rnn决策模型决定是否将针对所述i/o请求从所述机械式硬盘中查找到的数据迁移到所述固态硬盘中以及确定所述固态硬盘中需要清理的冷数据的信息;
7、若所述rnn决策模型的输出结果中包括将针对所述i/o请求从所述机械式硬盘中查找到的数据迁移到所述固态硬盘中,则执行所述将针对所述i/o请求从所述机械式硬盘中查找到的数据迁移到所述固态硬盘中的操作;
8、根据所述rnn决策模型的输出结果中包括的需要清理的冷数据的信息,将对应的冷数据从所述固态硬盘中逐出去。
9、在一个实施例中,所述rnn决策模型具体用于:计算所述i/o请求的收益值;根据所述收益指确定是否将针对所述i/o请求从所述机械式硬盘中查找到的数据迁移到所述固态硬盘中;其中,所述收益值越高,将针对所述i/o请求从所述机械式硬盘中查找到的数据迁移到所述固态硬盘中的概率越大。
10、在一个实施例中,所述rnn决策模型具体用于采用第一计算式计算所述i/o请求的收益值,所述第一计算式为:
11、
12、其中,benefit为收益值,thdd为所述i/o请求的机械式硬盘响应时间,tssd为所述i/o请求的固态硬盘响应时间,reqsize为所述i/o请求的大小,nreq为i/o请求总数量,nread为类型为读的i/o请求数量。
13、在一个实施例中,所述rnn决策模型还具体用于:根据所述固态硬盘中各个历史i/o请求对应数据的访问次数,确定各个历史i/o请求对应数据的持久度;根据各个历史i/o请求对应数据的持久度,确定各个历史i/o请求对应数据的清理优先级;针对每一种清理优先级设置一个队列,在每一个队列中存储对应清理优先级的历史i/o请求;在所述固态硬盘的缓存空间不足时,按照清理优先级从高到低的顺序,逐个地对队列中的历史i/o请求对应数据作为冷数据从所述固态硬盘中逐出去;其中,历史i/o请求对应数据的清理优先级越高,该历史i/o请求对应数据的清理紧迫度越高。
14、在一个实施例中,所述rnn决策模型中根据各个历史i/o请求对应数据的持久度,确定各个历史i/o请求对应数据的清理优先级,包括:
15、若历史i/o请求对应数据的持久度小于所述固态硬盘的缓存空间大小,则对应的清理优先级为第一清理优先级;
16、若历史i/o请求对应数据的持久度大于等于所述固态硬盘的缓存空间大小且小于所述固态硬盘的缓存空间大小的2倍,则对应的清理优先级为第二清理优先级;
17、若历史i/o请求对应数据的持久度大于等于所述固态硬盘的缓存空间大小的2倍,则对应的清理优先级为第三清理优先级;
18、其中,所述一清理优先级、所述第二清理优先级和所述第三清理优先级的优先级依次降低;在所述第一清理优先级对应的队列中的历史i/o请求对应数据清理完成后,清理所述第二清理优先级对应的队列;在所述第二清理优先级对应的队列中的历史i/o请求对应数据清理完成后,清理所述第三清理优先级对应的队列。
19、在一个实施例中,在一个清理优先级对应的队列中,位置越靠前的历史i/o请求对应的数据的被访问次数越高,在对一个队列中历史i/o请求对应的数据进行清理时,按照从后向前的顺序进行清理。
20、在一个实施例中,所述rnn负载分类模型和各个工作负载类型对应的所述rnn决策模型均为预先在离线状态下利用各个工作负载追踪信息训练得到;其中,预先针对每一种工作负载类型训练得到对应的rnn决策模型,所述工作负载类型包括邮件服务器、web服务器、数据库和文件服务器。
21、根据第二方面,本发明实施例提供的基于循环神经网络的ssd缓存管理装置包括:
22、第一查询模块,用于捕获i/o请求,并根据所述i/o请求从固态硬盘中进行数据查询;
23、第二查询模块,用于若从所述固态硬盘中未查询到相应的数据,则从机械式硬盘中进行数据查询,并将查询到的数据进行反馈;
24、类型识别模块,用于采用rnn负载分类模型识别出所述i/o请求对应的工作负载类型;
25、模型决策模块,用于采用所述工作负载类型对应的rnn决策模型决定是否将针对所述i/o请求从所述机械式硬盘中查找到的数据迁移到所述固态硬盘中以及确定所述固态硬盘中需要清理的冷数据的信息;
26、数据迁移模块,用于若所述rnn决策模型的输出结果中包括将针对所述i/o请求从所述机械式硬盘中查找到的数据迁移到所述固态硬盘中,则执行所述将针对所述i/o请求从所述机械式硬盘中查找到的数据迁移到所述固态硬盘中的操作;
27、数据清理模块,用于根据所述rnn决策模型的输出结果中包括的需要清理的冷数据的信息,将对应的冷数据从所述固态硬盘中逐出去。
28、根据第三方面,本发明实施例提供计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现第一方面提供的方法。
29、根据第四方面,本发明实施例提供的计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面提供的方法。
30、本发明实施例提供的基于循环神经网络的ssd缓存管理方法及装置、介质、设备,首先捕获i/o请求,并根据所述i/o请求从固态硬盘中进行数据查询;若从所述固态硬盘中未查询到相应的数据,则从机械式硬盘中进行数据查询,并将查询到的数据进行反馈;在进行反馈后,采用rnn负载分类模型识别出所述i/o请求对应的工作负载类型,采用所述工作负载类型对应的rnn决策模型决定是否将针对所述i/o请求从所述机械式硬盘中查找到的数据迁移到所述固态硬盘中以及确定所述固态硬盘中需要清理的冷数据的信息,最后根据rnn决策模型的输出结果进行相应的缓存或者不缓存、清理冷数据等操作。在上述过程中,基于rnn负载分类模型进行工作负载类型的识别,基于rnn决策模型进行决策输出,由于两个模型均为神经网络模型,可以实现对i/o请求对应数据是否缓存以及对固态硬盘进行及时数据清理的高效决策。而且,由于并不是对所有i/o请求对应数据都要缓存,而且及时对缓存进行清理,可以减少不必要的缓存替换,延长ssd的寿命。
本文地址:https://www.jishuxx.com/zhuanli/20241120/332314.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。