CN113608867B - 基于强化学习的多数据ssd中的闪存资源分配方法 - Google Patents
基于强化学习的多数据ssd中的闪存资源分配方法 Download PDFInfo
- Publication number
- CN113608867B CN113608867B CN202110810444.1A CN202110810444A CN113608867B CN 113608867 B CN113608867 B CN 113608867B CN 202110810444 A CN202110810444 A CN 202110810444A CN 113608867 B CN113608867 B CN 113608867B
- Authority
- CN
- China
- Prior art keywords
- flash memory
- action
- resource allocation
- value
- state
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000013468 resource allocation Methods 0.000 title claims abstract description 21
- 230000002787 reinforcement Effects 0.000 title claims abstract description 19
- 230000009471 action Effects 0.000 claims description 44
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims 1
- 238000013403 standard screening design Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于强化学习的多数据SSD中的闪存资源分配方法。通过全面学习相关的I/O模式和SSD内部运行状态,满足各种I/O流资源需求的同时,可以消除I/O冲突,从而同时改善系统性能和存储寿命。
Description
技术领域
本发明属于存储优化技术,具体为一种基于强化学习的多数据SSD中的闪存资源分配方法。
背景技术
与传统硬盘相比,固态硬盘SSD具有高抗震性、低访问延迟、低功耗等优势。由于闪存的异地更新特性,SSD必须维护垃圾回收(GC)功能,以回收无效空间。垃圾回收(GC)是导致固态硬盘SSD的I/O性能下降和存储寿命缩短的主要原因之一。GC产生的数据迁移开销,会降低系统性能,缩短存储寿命。GC的实现单位是块,读写I/O的单位是页。在每次GC过程中,设备控制器根据特定的算法挑选一个牺牲块,将该块中的所有有效页复制到其他物理地址,并擦除该块。此过程可能需要很长时间,使系统陷入极长的I/O延迟,导致GC阻塞的I/O必须挂起,直到GC进程完成。由于每个闪存单元只能承受有限的编程/擦除(P/E)次数,GC页面迁移的额外写入I/O,会影响存储寿命。
为了减轻GC的影响,多数据流SSD将寿命周期相似的I/O数据分类到相同的I/O流中,减少GC产生的页面拷贝开销。多数据流SSD技术提出将生命周期相近的I/O数据聚集到同一I/O流中,并在同一物理块中容纳来自同一I/O流的I/O。通过这种方式,同一块中的I/O数据可以同时失效,从而减少GC中的待迁移的有效页面数量。
多数据SSD中的闪存资源分配方法是阻碍该技术广泛应用的关键难题。静态分配方法不能满足不同I/O流的资源需求,损害系统性能和存储寿命。动态分配方法对各种I/O模式和SSD内部运行状态的错误策略,会加剧内部I/O冲突和SSD磨损均衡(WL),从而延长I/O尾部延迟,缩短存储寿命。
发明内容
本发明提出了一种基于强化学习的多数据SSD中的闪存资源分配方法。
实现本发明的技术解决方案为:一种基于强化学习的多数据SSD中的闪存资源分配方法,具体步骤为:
将来自不同应用程序的I/O请求聚集到多个I/O流中,闪存控制器从主机端和设备端收集主机状态相关因素,以确定主机当前状态,并根据贪婪策略,进行探索或利用,其中,探索是指随机选择分配动作,利用是指将当前状态、权重以及所有动作逐一输入至深度Q网络,由深度Q网络计算出每个动作的Q值逼近值,选择Q值逼近值最高的动作;
将选定的动作发送至设备控制器中的资源分配器,资源分配器执行动作,决定闪存资源分配策略以及下一次触发闪存控制器决策的时间;
闪存控制器收集奖励计算中所需的所有因子,计算最后一个状态-动作-权重对的真实Q值,并将真实Q值与Q值逼近值反向输入到深度Q网络进行反向传播在线训练;
闪存控制器将最后一个状态-动作-权重-奖励存储在重放缓冲区中,并随机挑选另一个状态-动作-权重-奖励对在深度-Q-网络中训练。
优选地,根据贪婪策略,进行探索或利用的具体方法为:
定义ε为随机选择动作的概率,初始时将ε设为1来进行贪婪探索,并以0.01为步长线性下降ε值来实现探索和利用的权衡,直至所有状态-动作均探索完成后将ε降至0.01来最大化训练成果利用率。
优选地,所述主机状态包括I/O状态和设备运行状态。
优选地,所述I/O状态包括:I/O流数量、每个流的数据写入量、当前为每个流分配的闪存资源以及每个I/O流内有效页面和无效页面的比率;
设备运行时状态包括:每个通道、芯片的活动状态;每个芯片的磨损状态;每个芯片中无效页面的比例。
优选地,所述动作包括闪存资源分配动作和触发频率动作组成,所述闪存资源分配动作包括:不分配芯片资源;从选定的I/O流回收芯片资源到资源池;从资源池分配选定的芯片到选定的I/O流;所述触发频率动作是指下一次触发强化学习模型的时间间隔。
本发明与现有技术相比,其显著优点为:本发明通过综合学习相关I/O模式和SSD内部运行状态,在满足各种I/O流的资源需求的同时,最大化SSD内部并行资源利用率以及流资源分配公平性,消除了SSD中的I/O冲突,降低闪存芯片的写/擦除周期损耗,从而达到最优的系统性能和存储寿命。
下面结合附图对本发明做进一步详细的描述。
附图说明
图1为本发明的流程图。
图2为深度Q网络的结构示意图。
具体实施方式
如图1、2所示,一种基于强化学习的多数据SSD中的闪存资源分配方法,具体步骤为:
步骤1:将来自不同应用程序的I/O请求聚集到多个I/O流中①。闪存控制器从主机端和设备端收集主机状态相关因素,以确定主机当前状态②,并根据贪婪策略③,进行探索或利用,其中探索是指随机选择分配动作,利用是指将当前状态,权重以及所有动作逐一输入深度Q网络,由深度Q网络计算所有动作的Q值逼近值,强化模型选择Q值逼近值最高的动作。
在贪婪策略中,定义ε为随机选择动作的概率,在训练初始阶段由于大部分状态-动作都处于待探索阶段,将ε设为1来进行贪婪探索,之后以0.01为步长线性下降ε值来实现探索和利用的权衡,直至所有状态-动作均探索完成后将ε降至0.01来最大化训练成果利用率。
进一步的实施例中,所述主机状态包括I/O状态和设备运行状态,即SSD运行时状态。
I/O状态包括:I/O流数量、每个流的数据写入量、当前为每个流分配的闪存资源以及每个I/O流内有效页面和无效页面的比率。
设备运行时状态包括:每个通道、芯片的活动状态;每个芯片的磨损状态;每个芯片中无效页面的比例。
进一步的实施例中,探索是指模型随机选择一个动作。所述动作由闪存资源分配动作和触发频率动作的模型组成。
具体地,闪存资源分配动作包括:1.不分配芯片资源;2.从选定的I/O流回收芯片资源到资源池;3.从资源池分配选定的芯片到选定的I/O流。当设备空间不足时,暂停分配操作,并等待,直到垃圾回收或从选定的I/O流回收足够的可用空间。触发频率动作是指下一次触发强化学习模型的时间间隔,定义最小时间单位为1秒,触发频率动作选择间隔几个最小时间单位进行下一次触发。
在利用过程中,权重连同当前状态以及每一个动作被作为输入传输至深度Q网络④,由深度Q网络计算以获得每个状态-动作-权重对的Q值⑤。注意该Q值为深度Q网络所计算出的逼近值,每次计算后都会在步骤3中采集相关奖励因子来计算真实Q值,并将真实Q值与逼近值反向输入深度Q网络进行反向传播训练,以使深度Q网络的预测精度,即输出的逼近值与真实Q值的偏差越来越小。
步骤2:将步骤1选定的动作发送至设备控制器中的资源分配器,资源分配器执行动作,决定闪存资源分配策略以及下一次触发闪存控制器决策的时间,其中决策时间以每个1秒为最小单位,由强化学习模型根据步骤1所选动作选择来决定具体每次触发模型时间间隔为几个最小单位。
步骤3:步骤2动作执行完成后,闪存控制器收集奖励计算中所需的因子,计算最后一个状态-动作-权重对的真实Q值,并将真实Q值与Q值逼近值反向输入到深度Q网络进行反向传播在线训练。
真实Q值的计算考虑了每个动作产生价值的相关因素,包括:寿命因素、性能因素以及公平性因素。具体计算方法为:将每个相关因素与权重向量中各因素对应权重进行加权累加得出。其中,寿命因素包括闪存设备消耗的写/擦除周期、GC中触发的页面迁移数量,直接决定闪存设备还剩下多长寿命;性能因素包括每个芯片中I/O冲突的数量、I/O延迟;公平性因素则体现出每个I/O流之间的闪存资源分配是否公平,通常包括每个I/O流的占用带宽。在真实Q值计算中,本发明通过最小化带宽和I/O流的权重之间的偏差,保证了所有I/O流之间的公平性。其中每个I/O流的权重在现有OS中体现为各进程的优先级,每个I/O流的占用带宽通过统计每秒该流的I/O总量得出,流公平性具体由公式(1)计算:
其中,F为流公平性,Wi是第i个流的权重,Bi为该流的带宽,n为I/O流总数。
将上述闪存设备寿命因素、性能因素以及公平性因素纳入真实Q值计算,并在每一次利用中由深度Q网络输出逼近Q值,模型通过选择最大Q值的动作来实现设备的性能最优以及寿命最长。
此外,强化学习模型对每个上述因素均指定相应的权重,所有权重组成权重向量,由动态权重生成器生成。具体生成步骤为,对所有首要指标,如I/O延迟,闪存寿命,公平性,由于直接体现设备的性能寿命,对其赋予较高权重,默认0.8;对次要指标,如I/O冲突数量,对其赋予低权重,默认0.4。
步骤4:闪存控制器将最后一个状态-动作-权重-奖励存储在重放缓冲区⑩中,并随机挑选另一个状态-动作-权重-奖励对在深度-Q-网络中执行进一步的训练。
本发明为多目标优化问题,因此采用动态权向量作为深度Q网络的输入,以引导网络更快地收敛得到目标,从而实现对闪存资源的优化分配。
本发明通过综合学习相关I/O模式和SSD内部运行状态,在满足各种I/O流的资源需求的同时,消除了SSD中的I/O冲突,降低闪存芯片的损耗,从而达到最优的系统性能和存储寿命。
Claims (5)
1.一种基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,具体步骤为:
将来自不同应用程序的I/O请求聚集到多个I/O流中,闪存控制器从主机端和设备端收集主机状态相关因素,以确定主机当前状态,并根据贪婪策略,进行探索或利用,其中,探索是指随机选择分配动作,利用是指将当前状态、权重以及所有动作逐一输入至深度Q网络,由深度Q网络计算出每个动作的Q值逼近值,选择Q值逼近值最高的动作;进行探索或利用的具体方法为:
定义ε为随机选择动作的概率,初始时将ε设为1来进行贪婪探索,并以0.01为步长线性下降ε值来实现探索和利用的权衡,直至所有状态-动作均探索完成后将ε降至0.01来最大化训练成果利用率;
将选定的动作发送至设备控制器中的资源分配器,资源分配器执行动作,决定闪存资源分配策略以及下一次触发闪存控制器决策的时间;
闪存控制器收集奖励计算中所需的所有因子,计算最后一个状态-动作-权重对的真实Q值,并将真实Q值与Q值逼近值反向输入到深度Q网络进行反向传播在线训练;
奖励计算中所需的因子指每个动作产生价值的相关因素,包括:寿命因素、性能因素以及公平性因素,寿命因素包括闪存设备消耗的写/擦除周期、GC中触发的页面迁移数量;性能因素包括每个芯片中I/O冲突的数量、I/O延迟;公平性因素由流公平性确定,具体计算公式为:
其中,F为流公平性,Wi是第i个流的权重,Bi为该流的带宽,n为I/O流总数;
闪存控制器将最后一个状态-动作-权重-奖励存储在重放缓冲区中,并随机挑选另一个状态-动作-权重-奖励对在深度-Q-网络中训练。
2.根据权利要求1所述的基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,所述主机状态包括I/O状态和设备运行状态。
3.根据权利要求2所述的基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,所述I/O状态包括:I/O流数量、每个流的数据写入量、当前为每个流分配的闪存资源以及每个I/O流内有效页面和无效页面的比率;
设备运行时状态包括:每个通道、芯片的活动状态;每个芯片的磨损状态;每个芯片中无效页面的比例。
4.根据权利要求1所述的基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,所述动作包括闪存资源分配动作和触发频率动作组成,所述闪存资源分配动作包括:不分配芯片资源;从选定的I/O流回收芯片资源到资源池;从资源池分配选定的芯片到选定的I/O流;所述触发频率动作是指下一次触发强化学习模型的时间间隔。
5.根据权利要求1所述的基于强化学习的多数据SSD中的闪存资源分配方法,其特征在于,所述权重由强化学习模型指定相应值,并由动态权重生成器生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110810444.1A CN113608867B (zh) | 2021-07-19 | 2021-07-19 | 基于强化学习的多数据ssd中的闪存资源分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110810444.1A CN113608867B (zh) | 2021-07-19 | 2021-07-19 | 基于强化学习的多数据ssd中的闪存资源分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113608867A CN113608867A (zh) | 2021-11-05 |
CN113608867B true CN113608867B (zh) | 2024-05-14 |
Family
ID=78304789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110810444.1A Active CN113608867B (zh) | 2021-07-19 | 2021-07-19 | 基于强化学习的多数据ssd中的闪存资源分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608867B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3474619A1 (fr) * | 2017-10-23 | 2019-04-24 | Commissariat à l'énergie atomique et aux énergies alternatives | Procédé d'allocation de ressources de transmission à apprentissage par renforcement |
CN110493826A (zh) * | 2019-08-28 | 2019-11-22 | 重庆邮电大学 | 一种基于深度强化学习的异构云无线接入网资源分配方法 |
CN111884213A (zh) * | 2020-07-27 | 2020-11-03 | 国网北京市电力公司 | 一种基于深度强化学习算法的配电网电压调节方法 |
CN112405543A (zh) * | 2020-11-23 | 2021-02-26 | 长沙理工大学 | 一种基于深度强化学习的机械臂密集物体温度优先抓取方法 |
CN112750298A (zh) * | 2020-12-17 | 2021-05-04 | 梁宏斌 | 一种基于smdp和drl的货车编队动态资源分配方法 |
-
2021
- 2021-07-19 CN CN202110810444.1A patent/CN113608867B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3474619A1 (fr) * | 2017-10-23 | 2019-04-24 | Commissariat à l'énergie atomique et aux énergies alternatives | Procédé d'allocation de ressources de transmission à apprentissage par renforcement |
CN110493826A (zh) * | 2019-08-28 | 2019-11-22 | 重庆邮电大学 | 一种基于深度强化学习的异构云无线接入网资源分配方法 |
CN111884213A (zh) * | 2020-07-27 | 2020-11-03 | 国网北京市电力公司 | 一种基于深度强化学习算法的配电网电压调节方法 |
CN112405543A (zh) * | 2020-11-23 | 2021-02-26 | 长沙理工大学 | 一种基于深度强化学习的机械臂密集物体温度优先抓取方法 |
CN112750298A (zh) * | 2020-12-17 | 2021-05-04 | 梁宏斌 | 一种基于smdp和drl的货车编队动态资源分配方法 |
Non-Patent Citations (1)
Title |
---|
基于遗传算法的大数据资源分配算法;蔡柳萍等;《重庆理工大学学报(自然科学版)》;第第33卷卷(第第4期期);第134-140页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113608867A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170351603A1 (en) | Lazy real time garbage collection method | |
KR20190009694A (ko) | 멀티-티어 올-플래시 데이터센터의 자동 데이터 배치 관리자 | |
WO2022017002A1 (zh) | 一种垃圾回收方法及装置 | |
CN111176564A (zh) | 确定ssd内数据摆放策略的方法及装置 | |
US11481342B2 (en) | Data storage system data access arbitration | |
Han et al. | CATA: A garbage collection scheme for flash memory file systems | |
US20200409561A1 (en) | Data storage system with i/o determinism latency optimization | |
CN108572799B (zh) | 一种双向哈希链表的异构内存系统数据页迁移方法 | |
Stoica et al. | Understanding the design trade-offs of hybrid flash controllers | |
Liu et al. | Self-adapting channel allocation for multiple tenants sharing SSD devices | |
US10872015B2 (en) | Data storage system with strategic contention avoidance | |
CN101853218A (zh) | 用于磁盘阵列的读取方法和系统 | |
CN113608867B (zh) | 基于强化学习的多数据ssd中的闪存资源分配方法 | |
Sun et al. | HIPA: A hybrid load balancing method in SSDs for improved parallelism performance | |
WO2017059716A1 (zh) | 多磁盘阵列共享写缓存的方法及装置 | |
CN115827511A (zh) | 设置缓存的方法以及装置 | |
CN114840448B (zh) | 利用通道间并行加速3d闪存垃圾回收的方法 | |
CN102779017A (zh) | 一种固态盘中数据缓存区的控制方法 | |
Yang et al. | Cachesack: Theory and experience of google’s admission optimization for datacenter flash caches | |
Zhan et al. | Branch-aware data variable allocation for energy optimization of hybrid SRAM+ NVM SPM☆ | |
Wu et al. | A supervised-learning-based garbage collection in solid-state drives (SSDs) | |
Wei et al. | Reinforcement learning-assisted management for convertible SSDs | |
CN108572924B (zh) | 一种3d mlc闪存设备的请求处理方法 | |
Yao et al. | Uniform scheduling of interruptible garbage collection and request IO to improve performance and wear-leveling of SSDs | |
Chang et al. | Design and implementation of a shared multi-tiered storage system |
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 |