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

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

Info

Publication number
CN113946292A
CN113946292A CN202111252212.5A CN202111252212A CN113946292A CN 113946292 A CN113946292 A CN 113946292A CN 202111252212 A CN202111252212 A CN 202111252212A CN 113946292 A CN113946292 A CN 113946292A
Authority
CN
China
Prior art keywords
data
compression
cache
reinforcement learning
write
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.)
Granted
Application number
CN202111252212.5A
Other languages
English (en)
Other versions
CN113946292B (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

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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中的强化学习模式选择算法可以通过以下步骤构建。
输入:当前状态St,压缩动作At,代理策略π,压缩阈值τ,训练周期ψ,调整大小比例ε。
输出:缓存压缩模式数组P。
步骤1:如果程序每运行ψ个周期,测试数据收集模块中的每一行数据,并执行下述子步骤。
步骤1.1:设置条件概率分布π(at(i)| st(i))=P(At=at(i)|St= st(i))。
步骤1.2:如果π(at(i)| st(i))>τ,则at(i)=1,并将当前的数据计入预测表,同时将该数据写入P,最后去除重复的压缩模式。
步骤1.3:如果π(at(i)| st(i))<τ,则at(i)=0。
步骤2:设置数据收集模块中的数据频率wfc=wfc/2, sc=0。
步骤3:如果程序在运行周期ψ之内,则执行如下子步骤。
步骤3.1:更新数据收集模块中的数据访问信息,包括数据频率wfc和饱和计数器sc。
步骤3.2:如果在后续访问中,P中的元素多次命中并且sc==111,那么设置数据收集模块的窗口W=(1+ε)*W作为奖励反馈,并且在该数据存储阶段先压缩后再存储该数据。
步骤3.3:如果在后续访问中,P中元素未命中,那么设置 W=(1-ε)*W作为反馈。
步骤4:返回压缩模式数组P,进入下一轮访问过程,进入步骤1。
本发明的有益效果在于:
(1)本方法采用的是一种基于强化学习的频繁写缓存数据压缩方法,即通过强化学习方法指导NVM缓存数据压缩,优化NVM缓存中频繁写数据存储操作,非常适合在NVM缓存中使用,可以有效降低系统功耗、提升系统的性能。
(2)本方法的适用范围比较广泛,在多种类型的非易失性存储器中均可使用。
(3)本方法对现有的体系结构改动较小,算法复杂度不高,软硬件实现开销小。
附图说明
图1为一种基于强化学习的频繁写缓存数据压缩方法逻辑结构图。
图2为强化学习模式选择算法示意图。
具体实施方式
为了使本发明的目的及优点更加清楚明白,下面结合附图和实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例:一种基于强化学习的频繁写缓存数据压缩方法,利用强化学习方法探索频繁写操作,并压缩该缓存数据,从位级别优化NVM缓存中数据存储操作。图1为本实施例的一种基于强化学习的频繁写缓存数据压缩方法逻辑结构图。该结构图包括如下部分。
(1)数据收集模块。
(2)强化学习模式选择模块。
(3)预测表模块。
(4)压缩模块。
(5)解压模块。
对应于上述逻辑结构,数据收集模块实时收集缓存的读写操作行为,根据收集到的信息,强化学习模块训练该数据并得到频繁写访问模式,更新预测表数据,最后根据该信息压缩写入缓存的数据。反之,解压缩时,将根据预测表的信息还原被压缩的数据。预测表的结构包含数据(word),频繁写计数器(wfc),饱和计数器(sc)。具体的逻辑关系和步骤如下。
S1:对于每一次缓存写请求访问操作,将写强度和复用局部性信息记录在数据收集模块。
S2:构建强化学习模式选择算法,选择适合压缩的模式,将选择的模式信息记录在预测表中。
S3:根据预测表中缓存数据的压缩标志位,如果待写数据适合压缩,则将其压缩后存储在缓存中,下次读取该数据时,根据该信息还原被压缩数据。
S4:基于霍夫曼编码的数据压缩算法压缩待存储的数据。
S5:返回至步骤S1,继续下一次访问缓存操作,直至该任务执行完毕。
对应于上述逻辑结构,其主要的强化学习模式选择算法如图2所示,它包含以下步骤。
输入:当前状态St,压缩动作At,代理策略π,压缩阈值τ,训练周期ψ,调整大小比例ε。
输出:缓存压缩模式数组P。
步骤1:如果程序每运行ψ个周期,测试数据收集模块中的每一行数据,并执行下述子步骤。
步骤1.1:设置条件概率分布π(at(i)| st(i))=P(At=at(i)|St= st(i))。
步骤1.2:如果π(at(i)| st(i))>τ,则at(i)=1,并将当前的数据计入预测表,同时将该数据写入P,最后去除重复的压缩模式。
步骤1.3:如果π(at(i)| st(i))<τ,则at(i)=0。
步骤2:设置数据收集模块中的数据频率wfc=wfc/2, sc=0。
步骤3:如果程序在运行周期ψ之内,则执行如下子步骤。
步骤3.1:更新数据收集模块中的数据访问信息,包括数据频率wfc和饱和计数器sc。
步骤3.2:如果在后续访问中,P中的元素多次命中并且sc==111,那么设置数据收集模块的窗口W=(1+ε)*W作为奖励反馈,并且在该数据存储阶段先压缩后再存储该数据。
步骤3.3:如果在后续访问中,P中元素未命中,那么设置 W=(1-ε)*W作为反馈。
步骤4:返回压缩模式数组P,进入下一轮访问过程,进入步骤1。
本实施例的实验测试方法如下,本发明涉及的算法可以利用目前流行的模拟器GEM5进行验证。首先需要配置模拟器的基准体系结构参数,具体配置可以参考表1。
Figure 384472DEST_PATH_IMAGE001
表1
其次,在该模拟器中修改缓存模块以实现本发明的方法,最后,在修改后的模拟器中执行一组标准测试程序集(PARSEC),采用simlarge数据集作为应用程序的输入,所有程序运行至兴趣点(region of interest),然后运行20亿条指令。
综上所述,本发明专利使用一种基于强化学习的频繁写缓存数据压缩方法,在测试程序运行过程中,频繁写缓存数据将压缩后存储在NVM缓存之中,随着程序运行的推进,可以有效降低混合缓存的访问功耗,同时提升系统的整体性能。
基于前文所述可知,本发明提出的一种基于强化学习的频繁写缓存数据压缩方法具有如下优点。
(1)本方法采用的是一种基于强化学习的频繁写缓存数据压缩方法,即通过强化学习方法指导NVM缓存数据压缩,优化NVM缓存中频繁写数据存储操作,非常适合在NVM缓存中使用,可以有效降低系统功耗、提升系统的性能。
(2)本方法的适用范围比较广泛,在多种类型的非易失性存储器中均可使用。
(3)本方法对现有的体系结构改动较小,算法复杂度不高,软硬件实现开销小。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,极易根据上述实施例,领会本发明的精神,并做出不同的改进和润饰,但只要不脱离本发明的基本原理,这些改进和润饰也应视为本发明的保护范围内。

Claims (3)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200104260A1 (en) * 2018-09-28 2020-04-02 Western Digital Technologies, Inc. Solid state drive cache eviction policy by an unsupervised reinforcement learning scheme
US20200117397A1 (en) * 2019-12-12 2020-04-16 Intel Corporation Buffer to reduce write amplification of misaligned write operations
CN111133409A (zh) * 2017-10-19 2020-05-08 净睿存储股份有限公司 确保人工智能基础设施中的再现性
CN111491175A (zh) * 2019-10-18 2020-08-04 北京大学 一种基于视频内容特征的边缘网络缓存方法和装置
US20210150770A1 (en) * 2019-11-15 2021-05-20 Intel Corporation Systolic arithmetic on sparse data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111133409A (zh) * 2017-10-19 2020-05-08 净睿存储股份有限公司 确保人工智能基础设施中的再现性
US20200104260A1 (en) * 2018-09-28 2020-04-02 Western Digital Technologies, Inc. Solid state drive cache eviction policy by an unsupervised reinforcement learning scheme
CN111491175A (zh) * 2019-10-18 2020-08-04 北京大学 一种基于视频内容特征的边缘网络缓存方法和装置
US20210150770A1 (en) * 2019-11-15 2021-05-20 Intel Corporation Systolic arithmetic on sparse data
US20200117397A1 (en) * 2019-12-12 2020-04-16 Intel Corporation Buffer to reduce write amplification of misaligned write operations

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN113946292B (zh) 2023-10-24

Similar Documents

Publication Publication Date Title
US11816015B2 (en) Management of event log information of a memory sub-system
CN102890656B (zh) 提高flash使用寿命的方法
CN107204207B (zh) 为高速缓存应用使用降级闪存裸片的方法及架构、固态驱动器
CN108959589A (zh) 基于stt-mram加速固态存储器件日志文件保存恢复的方法
CN110795042A (zh) 一种全闪存储系统元数据写缓存刷盘方法及相关组件
CN111261209A (zh) 通过刷新预测的经提高刷新传输效率
CN110309081A (zh) 基于压缩存储和地址映射表项的ftl读写数据页的方法
CN113900622B (zh) 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质
CN112256198B (zh) Ssd数据读取方法、装置、可读存储介质及电子设备
CN103823634B (zh) 一种支持无随机写模式的数据处理方法及系统
Wu et al. Exploiting workload dynamics to improve SSD read latency via differentiated error correction codes
US20240118835A1 (en) Solid state drive having mram and methods for operating the same
Yu et al. CRRC: Coordinating retention errors, read disturb errors and Huffman coding on TLC NAND flash memory
US20040078544A1 (en) Memory address remapping method
CN113946292A (zh) 一种基于强化学习的频繁写缓存数据压缩方法
Li et al. Page type-aware full-sequence program scheduling via reinforcement learning in high density ssds
Kim et al. Adam: Adaptive block placement with metadata embedding for hybrid caches
CN103366813B (zh) 非挥发性存储器的擦除方法
CN114328296B (zh) 一种车联网设备敏感数据的保存和更新方法
Sun et al. Low power and high I/O efficiency hybrid memory for Internet of Things edge devices
CN110362508B (zh) 一种基于贪心算法的混合缓存数据分配方法
CN117632776A (zh) 处理系统和处理方法
WO2019007315A1 (zh) 闪存设备中数据写入的方法及设备
KR100481943B1 (ko) 시간적·공간적 지역성을 향상시키고 플레쉬 메모리장치로의 접근 횟수를 줄이는 플레쉬 메모리 시스템 및데이터 억세스 방법
EP1104566A1 (en) Cache-design selection for a computer system using a model with a seed cache to generate a trace

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