CN112051969B - 一种基于深度强化学习的分级存储数据自适应迁移方法 - Google Patents

一种基于深度强化学习的分级存储数据自适应迁移方法 Download PDF

Info

Publication number
CN112051969B
CN112051969B CN202010785961.3A CN202010785961A CN112051969B CN 112051969 B CN112051969 B CN 112051969B CN 202010785961 A CN202010785961 A CN 202010785961A CN 112051969 B CN112051969 B CN 112051969B
Authority
CN
China
Prior art keywords
data
dqn
ssd
migration
file
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
CN202010785961.3A
Other languages
English (en)
Other versions
CN112051969A (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.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN202010785961.3A priority Critical patent/CN112051969B/zh
Publication of CN112051969A publication Critical patent/CN112051969A/zh
Application granted granted Critical
Publication of CN112051969B publication Critical patent/CN112051969B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/061Improving I/O performance
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于大数据存储领域,涉及一种基于深度强化学习的分级存储数据自适应迁移方法。基于深度强化学习DQN模型的思路,结合分级存储系统的特点,定义了状态空间、动作空间、奖励值,设计实现了一种自适应数据迁移方法,数据块会根据该方法在全连接层神经网络的指导下做出迁移决策,最后由系统根据决策进行相应的数据迁移。本发明设计的自适应迁移算法提升了分级存储系统的吞吐量,并提供较低的延迟,充分利用了SSD存储设备的优势,减少了存储成本,提高了分级存储系统的数据访问性能。

Description

一种基于深度强化学习的分级存储数据自适应迁移方法
技术领域
本发明属于大数据存储领域,涉及一种基于深度强化学习的分级存储数据自适应迁移方法。
背景技术
大数据时代的到来对存储技术提出了更高的读写性能要求,同时存储设备也不断推陈出新,除了普通磁盘HDD,也出现了固态硬盘SSD、非易失性内存NVM等。HDD的读写延迟都是毫秒(ms)级别,同时功耗很大,但是数据存储的持久性比较长,存储的价格很低,约0.2元/GB;而SSD则是读写延迟是微秒(μs)级别,读写速度比较快(特别是随机读性能较高),但是价格较高,约1元/GB;而最近几年上市的Intel傲腾系列存储905P,读写性能更高,约8元/GB;企业级别的傲腾P4800X存储,读写性能进一步提高,但是价格约20元/GB。因此,设计不同存储设备的分级混合存储,根据数据访问热度不同,实现数据在SSD和HDD之间的自动迁移,将最大化提高存储效率和性能,发挥分级存储系统的优势。关于数据迁移,可以使用传统操作系统缓存中常用的页面置换算法,如LRU(Least Recently Used)最近最少使用算法,以及LFU(Least Frequently Used)最近最不常用算法。但是由于分级存储系统往往支撑多种不同的应用,不同应用具有迥然各异的数据访问模式,分布往往差距巨大,one-size-fit-all模式的页面置换算法往往不能很好应对该情况。而强化学习作为近年来新兴的机器学习技术,可以根据数据分布的变化,自适应地调整模型算法,将强化学习用于分级存储中的数据迁移是个可探索的方向。
强化学习是一类特殊的机器学习算法,借鉴于行为主义心理学。与有监督学习和无监督学习的目标不同,算法要解决的问题是智能体(agent,即运行强化学习算法的实体)在环境中怎样执行动作以获得最大的累计奖励。例如,对于自动行驶的汽车,强化学习算法控制汽车的动作,保证安全行驶到目的地。强化学习是一个自学习系统,主要通过反复试验来进行学习,通过有限次的执行动作来得到最大的奖励,以此来获得最优的方案。
在每个时刻,智能体和环境都有自己的状态,智能体根据当前状态s确定一个动作a,并执行该动作,在状态s时执行具体的动作a后的预期回报为Q(s,a),并且环境会根据智能体的动作反馈相应的回报奖励r。经典的强化学习算法Q-Learning就是由一系列的状态、动作、奖励{s,a,r}组成,Q即为价值函数Q(s,a)的函数值,该算法的主要思想就是将状态与动作构建成一张Q值表来存储Q值,然后根据Q值来选取能够获得最大收益的动作。Q值需要存储在一个二维表格中,实际应用中的场景可能会很复杂,很难定义出离散的状态,用一个函数来逼近价值函数成为解决这个问题的一种思路,用神经网络可来拟合强化学习中的价值函数,是深度强化学习的基本思想。深度学习基于价值函数的深度强化学习的典型代表是DQN(深度Q网络),DQN采用神经网络来估计Q函数,并引入了experience replay和targetnetwork提高系统的稳定性,将采样的样本进行存储并且随机的采样,打破了序列样本之间的关联性,保证了可以平滑学习,避免振荡或分歧。在进行网络更新的时则是对这些经验进行回顾,均匀的从记忆库采样来更新网络。
发明内容
本发明首先基于Kafka构建HDD-SSD分级存储系统,将数据分块存储于HDD设备和SSD设备上,针对分级存储系统中数据的自动迁移问题,本发明提供了一种基于深度强化学习的数据自适应迁移方法,使用无模型化的控制方法进行决策,决定在何时触发数据在SSD存储设备和HDD存储设备之间的迁移,提升分级存储系统的访问性能,减少存储成本。
本发明的技术方案是:
一种基于深度强化学习的分级存储数据迁移方法,步骤如下:
步骤1:结合分级存储系统的特点,定义DQN的状态空间,具体如下:
步骤1.1:根据分级存储系统的文件块大小B、SSD存储空间大小SS、HDD存储空间大小SH,计算整个系统可存储文件块的总个数为
Figure BDA0002621979950000021
步骤1.2:对于文件块,有的是在SSD中的文件块,有的是在HDD中的文件块,有的是存储了数据的文件块,有的是还没有被利用的文件块。用一个二进制数代表该文件块的存储状态标识,如果是在SSD中并且存储了数据的文件块,该二进制标志为1,否则为0。
步骤1.3:因为一共有d个文件块,根据步骤1.2的标识结果,可以获得一个代表整个存储系统文件块存储状态的d维状态向量v,其中元素或者是1或者是0。那么状态空间即为状态向量v的多种可能结果,状态空间大小为2d
步骤2:结合分级存储系统的特点,定义DQN的动作空间。一个动作表示为二元组(a1,a2),a1代表将状态向量v中的第a1个元素(二进制)取反,即0变为1,1变为0;同理a2代表将状态向量v中的第a2个元素取反。如果a1=a2,则状态向量保持不变。该过程模拟了数据迁移的过程,即将第a1和a2个文件块交换下存储位置。
步骤3:结合分级存储系统的特点,定义执行动作后DQN得到的奖励r。奖励r考虑SSD命中率,它等于执行两个连续动作(数据迁移)之间,用户从分级存储系统中读取数据文件块在SSD设备中的概率,即类似于高性能存储设备的命中率。
步骤4:初始化DQN参数,包括初始化神经网络的参数,Q函数进行随机初始化
步骤5:基于已有的数据访问历史日志数据,进行k次的仿真训练,具体做如下操作:
步骤5.1:定义起始状态向量v。随机选v中的
Figure BDA0002621979950000031
个项位置赋值为1(即随机选择放置到SSD上的
Figure BDA0002621979950000032
个文件块),其它项为0。
步骤5.2:基于定义的状态向量空间、动作空间、奖励执行DQN算法,执行k次仿真训练。具体做如下操作:
步骤5.2.1:根据日志数据的数据块访问情况,确定仿真过程的奖励值。即计算SSD数据块的命中率。
步骤5.2.2:根据奖励值更新DQN的神经网络参数,并得出需要执行的数据块迁移动作。以一定的概率ε随机选择动作,以1-ε的概率选择通过当前DQN网络预测得到最大Q值的动作,模拟数据块在SSD和HDD之间的迁移过程。
步骤5.2.3:重复步骤5.2.1和步骤5.2.2,共重复k次,得到DQN的网络参数。
步骤6:将DQN仿真训练出来的网络模型部署到分级存储系统中,继续根据数据块的访问操作计算奖励值,并反馈更新DQN网络,实现动态的强化学习,实现数据块的自适应迁移。
本发明具备的有益效果:
本发明方法基于深度强化学习的DQN算法,对分级存储系统所对应的状态空间、动作空间、奖励值进行了定义,实现了分级存储系统中数据块的自适应迁移。该方法可以根据数据访问分布,动态调整迁移策略,实现自适应数据迁移,利用有限的SSD存储资源,更高效地发挥了SSD的优质性能,最大化存储系统的读取性能。
附图说明
图1是本发明提出的基于强化学习实现自动数据迁移的SSD-HDD分级存储系统概括图。
图2是本发明自动迁移方法运行后整个存储系统的读取吞吐率。
具体实施方式
下面结合附图对本发明的具体实施做详细说明。
本实施方式的方法,软件环境为Ubuntu16.04系统,实现强化学习模型DQN的编程语言为Python,整个强化学习模型被实现到Kafka分级存储系统中,单机Kafka分级存储系统基于三星固态硬盘SSD(250GB)和希捷机械硬盘HDD(1TB)构建,本发明支持SSD-HDD的分级Kafka分级存储系统的数据自动迁移,一个文件块对应于Kafka系统中的一个Segment。
步骤1:结合Kafka存储系统的特点,定义DQN的状态空间,具体如下:
步骤1.1:设置Kafka分级存储系统的Segment大小512MB、SSD存储空间大小为200GB、HDD存储空间大小为1TB,整个系统可存储文件块的总个数为(200*1024+1024*1024)/512=2448。
步骤1.2:对于Segment,有的是在SSD中,有的是在HDD中。用一个二进制数代表该文件块的存储状态标识,如果是在SSD中并且存储了数据的文件块,该二进制标志为1,否则为0。
步骤1.3:因为一共有2448个文件块,根据步骤1.2的标识结果,可以获得一个代表整个存储系统文件块存储状态的2448维状态向量v,其中元素或者是1或者是0,1的个数不能超过400个。
步骤2:结合分级存储系统的特点,定义DQN的动作空间。一个动作表示为二元组(a1,a2),a1代表将状态向量v中的第a1个元素(二进制)取反,即0变为1,1变为0;同理a2代表将状态向量v中的第a2个元素取反。如果a1=a2,则状态向量保持不变。该过程模拟了数据迁移的过程,即将第a1和a2个文件块交换下存储位置。
步骤3:结合分级存储系统的特点,定义执行动作后DQN得到的奖励r。奖励r考虑SSD命中率,它等于执行两个连续动作(数据迁移)之间,用户从分级存储系统中读取数据文件块在SSD设备中的概率,即命中率。
步骤4:初始化DQN参数,包括初始化神经网络的参数,Q函数进行随机初始化
步骤5:基于已有的数据访问历史日志数据(2000条左右的数据访问日志记录),进行100次的仿真训练,具体做如下操作:
步骤5.1:定义起始状态向量v。随机选v中的400个项位置赋值为1(即随机选择放置到SSD上的400个文件块),其它项为0。
步骤5.2:基于定义的状态向量空间、动作空间、奖励执行DQN算法,执行100次仿真训练。具体做如下操作:
步骤5.2.1:根据日志数据的数据块访问情况,确定仿真过程的奖励值。即计算SSD数据块的命中率。
步骤5.2.2:根据奖励值更新DQN的神经网络参数,并得出需要执行的数据块迁移动作。以50%概率随机选择动作,以50%概率选择通过当前DQN网络预测得到最大Q值的动作,模拟数据块在SSD和HDD之间的迁移过程。
步骤5.2.3:重复步骤5.2.1和步骤5.2.2,共重复100次,得到DQN的网络参数。
步骤6:将DQN仿真训练出来的网络模型部署到Kafka分级存储系统中,继续根据数据块的访问操作计算奖励值,并反馈更新DQN网络,实现动态的强化学习,实现数据块的自适应迁移。
本实施方式采用基于DQN的自适应迁移算法进行了仿真实验,采用了深度神经网络进行强化学习中Q值函数的计算,得到迁移决策,具体的测试结果如附图2所示。从实验结果看出本发明提出的基于DQN的自适应迁移算法随着时间的增长能够提高系统整体的吞吐量,实验证明了深度强化学习在多级存储系统中的动态调度具有一定的增益效果。

Claims (1)

1.一种基于深度强化学习的分级存储数据自适应迁移方法,其特征在于,步骤如下:
步骤1:结合分级存储系统的特点,定义DQN的状态空间,具体如下:
步骤1.1:根据分级存储系统的文件块大小B、SSD存储空间大小SS、HDD存储空间大小SH,计算整个系统可存储文件块的总个数为
Figure FDA0003212439820000011
步骤1.2:对于文件块,有的是在SSD中的文件块,有的是在HDD中的文件块,有的是存储了数据的文件块,有的是还没有被利用的文件块;用一个二进制数代表该文件块的存储状态标识,如果是在SSD中并且存储了数据的文件块,该二进制数为1,否则为0;
步骤1.3:根据步骤1.2的标识结果,获得一个代表整个存储系统文件块存储状态的d维状态向量v,其中元素或者是1或者是0;那么状态空间即为状态向量v的多种可能结果,状态空间大小为2d
步骤2:结合分级存储系统的特点,定义DQN的动作空间;一个动作表示为二元组(a1,a2),a1代表将状态向量v中的第a1个元素取反,即0变为1,1变为0;同理a2代表将状态向量v中的第a2个元素取反;如果a1=a2,则状态向量保持不变;模拟了数据迁移的过程,即将第a1和a2个文件块交换下存储位置;
步骤3:结合分级存储系统的特点,定义执行动作后DQN得到的奖励r;奖励r考虑SSD命中率,它等于执行两个连续动作之间,用户从分级存储系统中读取数据文件块在SSD设备中的概率,即类似于高性能存储设备的命中率;
步骤4:初始化DQN参数,包括初始化神经网络的参数,Q函数进行随机初始化
步骤5:基于已有的数据访问历史日志数据,进行k次的仿真训练,具体做如下操作:
步骤5.1:定义起始状态向量v;随机选v中的
Figure FDA0003212439820000012
个项位置赋值为1,即随机选择放置到SSD上的
Figure FDA0003212439820000013
个文件块,其它项为0;
步骤5.2:基于定义的状态向量空间、动作空间、奖励执行DQN算法,执行k次仿真训练;具体做如下操作:
步骤5.2.1:根据日志数据的数据块访问情况,确定仿真过程的奖励值;即计算SSD数据块的命中率;
步骤5.2.2:根据奖励值更新DQN的神经网络参数,并得出需要执行的数据块迁移动作;以一定的概率ε随机选择动作,以1-ε的概率选择通过当前DQN网络预测得到最大Q值的动作,模拟数据块在SSD和HDD之间的迁移过程;
步骤5.2.3:重复步骤5.2.1和步骤5.2.2,共重复k次,得到DQN的网络参数;
步骤6:将DQN仿真训练出来的网络模型部署到分级存储系统中,继续根据数据块的访问操作计算奖励值,并反馈更新DQN网络,实现动态的强化学习,实现数据块的自适应迁移。
CN202010785961.3A 2020-08-07 2020-08-07 一种基于深度强化学习的分级存储数据自适应迁移方法 Active CN112051969B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010785961.3A CN112051969B (zh) 2020-08-07 2020-08-07 一种基于深度强化学习的分级存储数据自适应迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010785961.3A CN112051969B (zh) 2020-08-07 2020-08-07 一种基于深度强化学习的分级存储数据自适应迁移方法

Publications (2)

Publication Number Publication Date
CN112051969A CN112051969A (zh) 2020-12-08
CN112051969B true CN112051969B (zh) 2021-10-08

Family

ID=73602555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010785961.3A Active CN112051969B (zh) 2020-08-07 2020-08-07 一种基于深度强化学习的分级存储数据自适应迁移方法

Country Status (1)

Country Link
CN (1) CN112051969B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433682B (zh) * 2020-12-15 2023-12-05 合肥大唐存储科技有限公司 固态硬盘中控制参数的获取方法、存储介质和电子装置
CN112799597A (zh) * 2021-02-08 2021-05-14 东北大学 面向流数据处理的分级存储容错方法
CN112799976A (zh) * 2021-02-15 2021-05-14 浙江工商大学 基于两级q表格的dram行缓冲器管理方法
US20230110401A1 (en) * 2021-10-08 2023-04-13 Marvell Asia Pte, Ltd. Machine Learning-Enabled Management of Storage Media Access
CN114185492B (zh) * 2021-12-14 2023-07-07 福建师范大学 一种基于强化学习的固态硬盘垃圾回收方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310760B1 (en) * 2018-05-21 2019-06-04 Pure Storage, Inc. Layering communication fabric protocols
CN110308873A (zh) * 2019-06-24 2019-10-08 浙江大华技术股份有限公司 一种数据存储方法、装置、设备及介质
CN111343143A (zh) * 2020-01-23 2020-06-26 腾讯科技(深圳)有限公司 数据识别方法、装置及存储介质
CN111508532A (zh) * 2019-01-31 2020-08-07 马维尔亚洲私人有限公司 用于磁存储介质的健康管理

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268381B1 (en) * 2017-10-31 2019-04-23 EMC IP Holding Company LLC Tagging write requests to avoid data-log bypass and promote inline deduplication during copies

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310760B1 (en) * 2018-05-21 2019-06-04 Pure Storage, Inc. Layering communication fabric protocols
CN111508532A (zh) * 2019-01-31 2020-08-07 马维尔亚洲私人有限公司 用于磁存储介质的健康管理
CN110308873A (zh) * 2019-06-24 2019-10-08 浙江大华技术股份有限公司 一种数据存储方法、装置、设备及介质
CN111343143A (zh) * 2020-01-23 2020-06-26 腾讯科技(深圳)有限公司 数据识别方法、装置及存储介质

Also Published As

Publication number Publication date
CN112051969A (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
CN112051969B (zh) 一种基于深度强化学习的分级存储数据自适应迁移方法
CN110019151B (zh) 数据库性能调整方法、装置、设备、系统及存储介质
KR102572757B1 (ko) 집약성을 개선하기 위한 머신 학습 모델들의 수정
US9256371B2 (en) Implementing reinforcement learning based flash control
CN112346839B (zh) 一种基于进化算法的关联任务调度方法
CN103946820B (zh) 从盘的内径和外径周期性降级以改善读响应时间
CN112051968B (zh) 基于Kafka的分布式数据流分级缓存自动迁移方法
Elsayed et al. A surrogate-assisted differential evolution algorithm with dynamic parameters selection for solving expensive optimization problems
CN110362277B (zh) 基于混合存储系统的数据分类存储方法
CN104021226B (zh) 预取规则的更新方法及装置
CN113485826A (zh) 一种边缘服务器负载均衡方法、系统
Zhai et al. A two-layer algorithm based on PSO for solving unit commitment problem
Turky et al. A hybrid harmony search algorithm for solving dynamic optimisation problems
CN108519856A (zh) 基于异构Hadoop集群环境下的数据块副本放置方法
EP3651024B1 (en) Method of operating storage device, storage device performing the same and storage system including the same
CN115759979B (zh) 基于rpa和流程挖掘的流程智能处理方法和系统
CN114385092B (zh) 固态硬盘闪存阵列的擦除方法、固态硬盘主控芯片
CN110298442B (zh) 一种智能的权重信息的分区处理方法
CN112433682B (zh) 固态硬盘中控制参数的获取方法、存储介质和电子装置
CN118451407A (zh) 存储介质访问的机器学习使能管理
CN115237555A (zh) 工业互联网中边缘计算任务调度方法和系统
US20220156548A1 (en) System and Method for Improving a Processing System
CN114138416A (zh) 面向负载-时间窗口的基于dqn云软件资源自适应分配方法
CN101378406A (zh) 一种数据网格副本的选择方法
EP4012567A1 (en) Flash translation layer design using reinforcement learning

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