CN113946292B - 一种基于强化学习的频繁写缓存数据压缩方法 - Google Patents

一种基于强化学习的频繁写缓存数据压缩方法 Download PDF

Info

Publication number
CN113946292B
CN113946292B CN202111252212.5A CN202111252212A CN113946292B CN 113946292 B CN113946292 B CN 113946292B CN 202111252212 A CN202111252212 A CN 202111252212A CN 113946292 B CN113946292 B CN 113946292B
Authority
CN
China
Prior art keywords
data
compression
cache
reinforcement learning
collection module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111252212.5A
Other languages
English (en)
Other versions
CN113946292A (zh
Inventor
沈凡凡
徐超
陈勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANJING AUDIT UNIVERSITY
Original Assignee
NANJING AUDIT UNIVERSITY
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NANJING AUDIT UNIVERSITY filed Critical NANJING AUDIT UNIVERSITY
Priority to CN202111252212.5A priority Critical patent/CN113946292B/zh
Publication of CN113946292A publication Critical patent/CN113946292A/zh
Application granted granted Critical
Publication of CN113946292B publication Critical patent/CN113946292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于强化学习的频繁写缓存数据压缩方法,以此更好的解决非易失性缓存中数据压缩存储的问题。包括如下步骤:S1:对于每一次缓存写请求访问操作,将写强度和复用局部性信息记录在数据收集模块;S2:通过强化学习模式选择算法,选择适合压缩的模式,将选择的模式信息记录在预测表中;S3:根据预测表中缓存数据的压缩标志位,如果待写数据适合压缩,则将其压缩后存储在缓存中,下次读取该数据时,根据预测表中记录的压缩方法还原被压缩数据;S4:基于霍夫曼编码的数据压缩算法压缩待存储的数据;S5:如果有缓存访问操作,则返回至步骤S1,如果没有缓存访问操作,则缓存访问结束。本发明所提出的强化学习方法获取频繁写数据,以低功耗的形式压缩存储在非易失性缓存中,提升压缩效率和系统性能。

Description

一种基于强化学习的频繁写缓存数据压缩方法
技术领域
本发明涉及到计算机存储系统结构领域,具体涉及一种基于强化学习的频繁写缓存数据压缩方法。
背景技术
在现代处理器架构中,为了减轻处理器和内存之间的存储鸿沟,通常都会添加多级缓存,传统基于SRAM结构的缓存将消耗较多芯片面积和功耗开销。随着CMOS技术的进一步提升,SRAM的漏电功耗和可靠性成为一个重要的问题。近年来,非易失性存储技术(non-volatile memory,NVM)为存储架构提供了新的方案,因为NVM具有非易失性、低功耗和快速访问的特征,具有非常大的潜力。然而NVM因为材料工艺和设计原理的特征,NVM具有写功耗高和写延迟长等问题。许多研究者从位级、访问级和混合缓存架构等方面做了深入探讨,希望提升NVM的访问效率。
缓存压缩技术是提升存储空间和访问效率的有效途径,广泛应用于传统存储架构中。例如,基于预定义编码长度的频繁模式压缩方法,基于静态编码和目录模式的压缩方法,基于增量立即数的局部性数据压缩方法,以及基于统计学的数据压缩方法等,这些方法对缓存数据的压缩均有一定的价值。然而,现有技术存在如下缺点。
(1)数据压缩率较低。
(2)压缩和解压缩的复杂度相对较高,会影响系统的性能。
(3)未通过压缩技术解决NVM的写问题。
发明内容
本发明提供了一种基于强化学习的频繁写缓存数据压缩方法,目的在于克服现有缓存数据压缩方法的不足,通过利用强化学习方法获取缓存的频繁访问行为特征,压缩高频写数据,进而优化写功耗和性能,更好的解决NVM缓存中数据压缩的效率问题。
为了实现本发明的目的,本发明所采用的技术方案为,设计一种基于强化学习的频繁写缓存数据压缩方法,包括如下步骤。
S1:对于每一次缓存写请求访问操作,将写强度和复用局部性信息记录在数据收集模块。
S2:通过强化学习模式选择算法,选择适合压缩的模式,将选择的模式信息记录在预测表中。
S3:根据预测表中缓存数据的压缩标志位,如果待写数据适合压缩,则将其压缩后存储在缓存中,下次读取该数据时,根据预测表中记录的压缩方法还原被压缩数据。
S4:基于霍夫曼编码的数据压缩算法压缩待存储的数据。
S5:如果有缓存访问操作,则返回至步骤S1,如果没有缓存访问操作,则缓存访问结束。
其中,步骤S2中所述的强化学习模式选择算法包括如下步骤。
输入:当前状态,压缩动作,代理策略π,压缩阈值τ,训练周期ψ,调整大小 比例ε。
输出:缓存压缩模式数组P。
步骤1:如果程序每运行ψ个周期,测试数据收集模块中的每一行数据,并执行下述子步骤。
步骤1.1:设置条件概率分布π()=, 其中表示第i个数据在t时刻的压缩动作,表示第i个数据在t时刻的状态。
步骤1.2:如果π()>τ,则=1,并将当前的数据计入预测表,同 时将该数据写入P,最后去除重复的压缩模式。
步骤1.3:如果π(<τ,则=0。
步骤2:设置数据收集模块中的数据频率
步骤3:如果程序在运行周期ψ之内,则执行如下子步骤。
步骤3.1:更新数据收集模块中的数据访问信息,包括数据频率和饱和计数 器
步骤3.2:如果在后续访问中,P中的元素多次命中并且,那么设置数 据收集模块的窗口作为奖励反馈,并且在该数据存储阶段先压缩后 再存储该数据。
步骤3.3:如果在后续访问中,P中元素未命中,那么设置作 为反馈。
步骤4:返回压缩模式数组P,进入下一轮访问过程,进入步骤1。
本发明的有益效果在于:
(1)本方法采用的是一种基于强化学习的频繁写缓存数据压缩方法,即通过强化学习方法指导NVM缓存数据压缩,优化NVM缓存中频繁写数据存储操作,非常适合在NVM缓存中使用,可以有效降低系统功耗、提升系统的性能。
(2)本方法的适用范围比较广泛,在多种类型的非易失性存储器中均可使用。
(3)本方法对现有的体系结构改动较小,算法复杂度不高,软硬件实现开销小。
附图说明
图1为一种基于强化学习的频繁写缓存数据压缩方法逻辑结构图。
图2为强化学习模式选择算法示意图。
实施方式
为了使本发明的目的及优点更加清楚明白,下面结合附图和实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例:一种基于强化学习的频繁写缓存数据压缩方法,利用强化学习方法探索频繁写操作,并压缩该缓存数据,从位级别优化NVM缓存中数据存储操作。图1为本实施例的一种基于强化学习的频繁写缓存数据压缩方法逻辑结构图。该结构图包括如下部分。
(1)数据收集模块。
(2)强化学习模式选择模块。
(3)预测表模块。
(4)压缩模块。
(5)解压缩模块。
对应于上述逻辑结构,数据收集模块实时收集缓存的读写操作行为,根据收集到 的信息,强化学习模块训练该数据并得到频繁写访问模式,更新预测表数据,最后根据该信 息压缩写入缓存的数据。反之,解压缩时,将根据预测表的信息还原被压缩的数据。预测表 的结构包含数据(word),频繁写计数器(),饱和计数器()。具体的逻辑关系和步 骤如下。
S1:对于每一次缓存写请求访问操作,将写强度和复用局部性信息记录在数据收集模块。
S2:通过强化学习模式选择算法,选择适合压缩的模式,将选择的模式信息记录在预测表中。
S3:根据预测表中缓存数据的压缩标志位,如果待写数据适合压缩,则将其压缩后存储在缓存中,下次读取该数据时,根据预测表中记录的压缩方法还原被压缩数据。
S4:基于霍夫曼编码的数据压缩算法压缩待存储的数据。
S5:如果有缓存访问操作,则返回至步骤S1,如果没有缓存访问操作,则缓存访问结束。
对应于上述逻辑结构,其主要的强化学习模式选择算法如图2所示,它包含以下步骤。
输入:当前状态,压缩动作,代理策略π,压缩阈值τ,训练周期ψ,调整大小 比例ε。
输出:缓存压缩模式数组P。
步骤1:如果程序每运行ψ个周期,测试数据收集模块中的每一行数据,并执行下述子步骤。
步骤1.1:设置条件概率分布π()=, 其中表示第i个数据在t时刻的压缩动作,表示第i个数据在t时刻的状态。
步骤1.2:如果π()>τ,则=1,并将当前的数据计入预测表,同 时将该数据写入P,最后去除重复的压缩模式。
步骤1.3:如果π(<τ,则=0。
步骤2:设置数据收集模块中的数据频率
步骤3:如果程序在运行周期ψ之内,则执行如下子步骤。
步骤3.1:更新数据收集模块中的数据访问信息,包括数据频率和饱和计数 器
步骤3.2:如果在后续访问中,P中的元素多次命中并且,那么设置数 据收集模块的窗口作为奖励反馈,并且在该数据存储阶段先压缩后 再存储该数据。
步骤3.3:如果在后续访问中,P中元素未命中,那么设置作 为反馈。
步骤4:返回压缩模式数组P,进入下一轮访问过程,进入步骤1。
本实施例的实验测试方法如下,本发明涉及的算法可以利用目前流行的模拟器GEM5进行验证。首先需要配置模拟器的基准体系结构参数,具体配置可以参考表1。
参数 配置
处理器 8核,主频为2GHz
一级缓存 私有缓存,指令数据缓存为32KB,2路组相连,LRU,读写为2个周期,缓存块大小为64B
混合缓存 共享缓存,缓存大小为4MB,8路组相连,LRU,缓存块大小为64BNVM读延迟:7个周期NVM写延迟:33个周期NVM读功耗:0.858nJNVM写功耗:4.997nJ
主存 大小为4GB,频率为1600MHz,8个块,12GB/s,读写为200个周期
参数 W=50,ψ=5百万个周期,ε=0.2
表1
其次,在该模拟器中修改缓存模块以实现本发明的方法,最后,在修改后的模拟器中执行一组标准测试程序集(PARSEC),采用simlarge数据集作为应用程序的输入,所有程序运行至兴趣点(region of interest),然后运行20亿条指令。
综上所述,本发明专利使用一种基于强化学习的频繁写缓存数据压缩方法,在测试程序运行过程中,频繁写缓存数据将压缩后存储在NVM缓存之中,随着程序运行的推进,可以有效降低混合缓存的访问功耗,同时提升系统的整体性能。
基于前文所述可知,本发明提出的一种基于强化学习的频繁写缓存数据压缩方法具有如下优点。
(1)本方法采用的是一种基于强化学习的频繁写缓存数据压缩方法,即通过强化学习方法指导NVM缓存数据压缩,优化NVM缓存中频繁写数据存储操作,非常适合在NVM缓存中使用,可以有效降低系统功耗、提升系统的性能。
(2)本方法的适用范围比较广泛,在多种类型的非易失性存储器中均可使用。
(3)本方法对现有的体系结构改动较小,算法复杂度不高,软硬件实现开销小。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,极易根据上述实施例,领会本发明的精神,并做出不同的改进和润饰,但只要不脱离本发明的基本原理,这些改进和润饰也应视为本发明的保护范围内。

Claims (2)

1.一种基于强化学习的频繁写缓存数据压缩方法,其特征在于,包括:数据收集模块、强化学习模式选择模块、预测表模块、压缩模块和解压缩模块,其特征在于:
(1)所述数据收集模块,含有32位的字、8位频繁写计数器和3位饱和计数器,用于收集缓存的写访问行为;
(2)所述强化学习模式选择模块,根据强化学习模式选择算法确定数据的压缩模式;所述强化学习模式选择算法包括如下步骤:
输入:当前状态,压缩动作,代理策略,压缩阈值,训练周期,调整大小 比例
输出:缓存压缩模式数组P;
步骤1:如果程序每运行个周期,测试数据收集模块中的每一行数据,并执行下述子 步骤;
步骤1.1:设置条件概率分布,其中表示第i个数据在t时刻的压缩动作,表示第i个数据在t时刻的状态;
步骤1.2:如果(|)>,则=1,并将当前的数据计入预测表,同时 将该数据写入P,最后去除重复的压缩模式;
步骤1.3:如果(|)<,则=0;
步骤2:设置数据收集模块中的数据频率wfc=wfc/2,sc=0;
步骤3:如果程序在运行周期之内,则执行如下子步骤;
步骤3.1:更新数据收集模块中的数据访问信息,包括数据频率wfc和饱和计数器sc;
步骤3.2:如果在后续访问中,P中的元素多次命中并且sc==111,那么设置数据收集模 块的窗口作为奖励反馈,并且在该数据存储阶段先压缩后再存储该 数据;
步骤3.3:如果在后续访问中,P中元素未命中,那么设置作为反 馈;
步骤4:返回压缩模式数组P,进入下一轮访问过程,进入步骤1;
(3)所述预测表模块,含有128个入口,用于存储频繁写数据记录信息,进而根据这些信息进行决策,决定缓存字是否压缩;
(4)所述压缩模块,根据基于霍夫曼编码的数据压缩算法来压缩缓存数据;
(5)所述解压缩模块,根据压缩信息来还原被压缩的数据。
2.一种基于强化学习的频繁写缓存数据压缩方法,其特征在于,包括如下步骤:
S1:对于每一次缓存写请求访问操作,将写强度和复用局部性信息记录在数据收集模块;
S2:通过强化学习模式选择算法,选择适合压缩的模式,将选择的模式信息记录在预测表中;所述强化学习模式选择算法包括如下步骤:
输入:当前状态,压缩动作,代理策略,压缩阈值,训练周期,调整大小 比例
输出:缓存压缩模式数组P;
步骤1:如果程序每运行个周期,测试数据收集模块中的每一行数据,并执行下述子 步骤;
步骤1.1:设置条件概率分布,其中表示第i个数据在t时刻的压缩动作,表示第i个数据在t时刻的状态;
步骤1.2:如果(|)>,则=1,并将当前的数据计入预测表,同时 将该数据写入P,最后去除重复的压缩模式;
步骤1.3:如果(|)<,则=0;
步骤2:设置数据收集模块中的数据频率wfc=wfc/2,sc=0;
步骤3:如果程序在运行周期之内,则执行如下子步骤;
步骤3.1:更新数据收集模块中的数据访问信息,包括数据频率wfc和饱和计数器sc;
步骤3.2:如果在后续访问中,P中的元素多次命中并且sc==111,那么设置数据收集模 块的窗口作为奖励反馈,并且在该数据存储阶段先压缩后再存储该 数据;
步骤3.3:如果在后续访问中,P中元素未命中,那么设置作为反 馈;
步骤4:返回压缩模式数组P,进入下一轮访问过程,进入步骤1;
S3:根据预测表中缓存数据的压缩标志位,如果待写数据适合压缩,则将其压缩后存储在缓存中,下次读取该数据时,根据预测表中记录的压缩方法还原被压缩数据;
S4:基于霍夫曼编码的数据压缩算法压缩待存储的数据;
S5:如果有缓存访问操作,则返回至步骤S1,如果没有缓存访问操作,则缓存访问结束。
CN202111252212.5A 2021-10-29 2021-10-29 一种基于强化学习的频繁写缓存数据压缩方法 Active CN113946292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111252212.5A CN113946292B (zh) 2021-10-29 2021-10-29 一种基于强化学习的频繁写缓存数据压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111252212.5A CN113946292B (zh) 2021-10-29 2021-10-29 一种基于强化学习的频繁写缓存数据压缩方法

Publications (2)

Publication Number Publication Date
CN113946292A CN113946292A (zh) 2022-01-18
CN113946292B true CN113946292B (zh) 2023-10-24

Family

ID=79332668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111252212.5A Active CN113946292B (zh) 2021-10-29 2021-10-29 一种基于强化学习的频繁写缓存数据压缩方法

Country Status (1)

Country Link
CN (1) CN113946292B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111133409A (zh) * 2017-10-19 2020-05-08 净睿存储股份有限公司 确保人工智能基础设施中的再现性
CN111491175A (zh) * 2019-10-18 2020-08-04 北京大学 一种基于视频内容特征的边缘网络缓存方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10977179B2 (en) * 2018-09-28 2021-04-13 Western Digital Technologies, Inc. Solid state drive cache eviction policy by an unsupervised reinforcement learning scheme
US11663746B2 (en) * 2019-11-15 2023-05-30 Intel Corporation Systolic arithmetic on sparse data
US11861219B2 (en) * 2019-12-12 2024-01-02 Intel Corporation Buffer to reduce write amplification of misaligned write operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111133409A (zh) * 2017-10-19 2020-05-08 净睿存储股份有限公司 确保人工智能基础设施中的再现性
CN111491175A (zh) * 2019-10-18 2020-08-04 北京大学 一种基于视频内容特征的边缘网络缓存方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向物联网区块链的共识机制优化研究;宋琪杰;陈铁明;陈园;马栋捷;翁正秋;;电信科学(02);5-16 *

Also Published As

Publication number Publication date
CN113946292A (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
Hallnor et al. A unified compressed memory hierarchy
CN105786717B (zh) 软硬件协同管理的dram-nvm层次化异构内存访问方法及系统
US7412564B2 (en) Adaptive cache compression system
Ekman et al. A robust main-memory compression scheme
CN103257935B (zh) 一种缓存管理方法及其应用
US20070260818A1 (en) Power-performance modulation in caches using a smart least recently used scheme
CN104834607A (zh) 一种提高分布式缓存的命中率并减少固态硬盘磨损的方法
CN108762671A (zh) 基于pcm和dram的混合内存系统及其管理方法
CN111488125B (zh) 一种基于Ceph集群的Cache Tier缓存优化方法
CN113377690B (zh) 一种适应不同大小的用户请求的固态硬盘处理方法
CN108959589A (zh) 基于stt-mram加速固态存储器件日志文件保存恢复的方法
CN113946292B (zh) 一种基于强化学习的频繁写缓存数据压缩方法
Xu et al. CLRU: a new page replacement algorithm for NAND flash-based consumer electronics
US7649764B2 (en) Memory with shared write bit line(s)
US9261946B2 (en) Energy optimized cache memory architecture exploiting spatial locality
CN110309081A (zh) 基于压缩存储和地址映射表项的ftl读写数据页的方法
Chen et al. A dynamically partitionable compressed cache
US20040078544A1 (en) Memory address remapping method
WO2022222377A1 (zh) 一种内存控制器、数据读取方法以及内存系统
Liu et al. Page replacement algorithm based on counting bloom filter for NAND flash memory
Shen et al. Reinforcement Learning based Data Compression for Energy-Efficient Non-volatile Caches
CN106776373B (zh) 一种面向移动设备的基于闪存的高速缓存系统及方法
Park et al. Modeling of the TLB miss rate and the Page fault rate for NVM-based Storage Systems
Sun et al. Low power and high I/O efficiency hybrid memory for Internet of Things edge devices
CN116010298B (zh) Nand型闪存地址映射的方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant