System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于持续学习的混合缓存数据分配方法组成比例_技高网

一种基于持续学习的混合缓存数据分配方法组成比例

技术编号:40148752 阅读:7 留言:0更新日期:2024-01-24 00:56
本发明专利技术公开了一种基于持续学习的混合缓存数据分配方法,以此更好的解决混合缓存中数据分配和存储的问题。包括如下步骤:S1:每当缓存块被替换出去时,通过持续学习算法,获取该缓存块的分配特征并记录在预测表中;S2:如果程序发出写请求,则查询预测表,如果缓存特征标记为1,则将缓存块写入SRAM中,如果缓存特征标记为0,则将缓存块写入NVM之中;S3:如果程序发出读请求,则直接读取混合缓存中的数据;S4:如果程序发出更新请求,则直接更新混合缓存中的数据;S5:如果有缓存访问操作,则返回至步骤S1,如果没有缓存访问操作,则缓存访问结束。本发明专利技术所提出的持续学习算法获取缓存的访问特征,将缓存块数据以低功耗的形式存储在混合缓存中,提升系统能效和性能。

【技术实现步骤摘要】

本专利技术涉及到计算机存储系统结构领域,具体涉及一种基于持续学习的混合缓存数据分配方法


技术介绍

1、sram(static random access memory,静态随机存取存储器)和nvm(non-volatile memory,非易失性存储器)混合缓存技术结合了两种存储器的特点,旨在提供更高的存储容量和较低的功耗。传统的缓存技术通常使用sram作为缓存存储器,因为它具有快速的访问速度和可靠性。然而,sram的容量有限,无法满足大量数据的存储需求。与此相反,nvm具有较大的存储容量和非易失性特性,但访问速度相对较慢。为了充分利用两种存储器的优势,sram和nvm混合缓存技术被提出。它的基本原理是将sram和nvm结合在一起,形成一个缓存系统。

2、在这种混合缓存技术中,小容量sram用于存储经常访问的数据块。由于sram具有快速的访问速度,可以提供低延迟的数据访问。而大容量nvm则用于存储较少访问的数据块。由于nvm具有较大的存储容量,可以存储更多的数据。当cpu需要访问数据时,首先会在sram中查找,如果数据存在,则可以快速访问。如果数据不在sram中,则需要从nvm中加载到sram中,然后再进行访问。这样可以充分利用sram的快速访问速度,并提供较大的存储容量。通过使用sram和nvm混合缓存技术,可以在一定程度上提高缓存系统的性能和存储容量。同时,由于nvm是非易失性存储器,即使系统断电,数据仍然可以保持,避免了数据丢失的风险。

3、然而,现有技术的缺点主要包括以下几点:

4、(1)sram和nvm之间的缓存数据迁移和替换,将产生额外的系统开销;

5、(2)在混合缓存中采用缓存数据分配方法,识别频繁访问的缓存块将产生额外的存储开销;

6、(3)混合缓存数据分配效率偏低,对混合缓存的访问性能控制的不够好。


技术实现思路

1、本专利技术提供了一种基于持续学习的混合缓存数据分配方法,目的在于克服现有混合缓存数据分配方法的不足,通过利用持续学习方法获取缓存的持续访问行为特征,然后分配数据至sram或nvm,进而优化系统功耗和性能,更好的解决混合缓存中数据分配效率的问题。

2、为了实现本专利技术的目的,本专利技术所采用的技术方案为,设计一种基于持续学习的混合缓存数据分配方法,包括如下步骤:

3、s1:每当缓存块被替换出去时,通过持续学习算法,获取该缓存块的分配特征并记录在预测表中;

4、s2:如果程序发出写请求,则查询预测表,如果缓存特征标记为1,则将缓存块写入sram中,如果缓存特征标记为0,则将缓存块写入nvm之中;

5、s3:如果程序发出读请求,则直接读取混合缓存中的数据;

6、s4:如果程序发出更新请求,则直接更新混合缓存中的数据;

7、s5:如果有缓存访问操作,则返回至步骤s1,如果没有缓存访问操作,则缓存访问结束。

8、其中,所述步骤s1中的持续学习算法包括如下步骤:

9、输入:任务的数量,余弦相似度阈值,学习率

10、步骤1:初始化缓存数据预测表,其中矩阵记录着缓存读写次数,向量是对应的缓存特征标记;

11、步骤2:对于第t轮任务,其中t,每当缓存块被替换出去时,执行下述子步骤;

12、步骤2.1:获取被替换出去的缓存块读写特征;

13、步骤2.2:计算的奇异值,并计为;

14、步骤2.3:计算和的余弦相似度;

15、步骤2.4:如果,则设置设置对应的,同时更新;

16、步骤2.5:如果< ,设置对应的;

17、步骤3:对于每次写操作,根据决定数据的分配方式;

18、步骤4:对于第t轮任务结束时,执行下述子步骤;

19、步骤4.1:计算第t轮任务的损失函数;

20、步骤4.2:更新阈值,其中表示对做梯度下降运算;

21、步骤4.3:更新t=t+1,进入步骤2执行第t轮任务访问过程。

22、本专利技术的有益效果在于:

23、(1)本方法采用的是一种基于持续学习的混合缓存数据分配方法,即通过持续学习方法指导混合缓存数据分配,优化混合缓存sram和nvm中的数据布局,非常适合在混合缓存中使用,可以有效降低系统功耗、提升系统的性能;

24、(2)本方法的适用范围比较广泛,在多种类型的非易失性存储器中均可使用,在存储架构的不同层次中均可使用;

25、(3)本方法对现有的体系结构改动较小,算法复杂度不高,软硬件实现开销小。

本文档来自技高网...

【技术保护点】

1.一种基于持续学习的混合缓存数据分配方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种基于持续学习的混合缓存数据分配方法,其特征在于:步骤S3和S4中所述的混合缓存,从结构上看,由SRAM和NVM共同构成。

【技术特征摘要】

1.一种基于持续学习的混合缓存数据分配方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种基于持...

【专利技术属性】
技术研发人员:沈凡凡徐超陈勇
申请(专利权)人:南京审计大学
类型:发明
国别省市:

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

1