CN115563032A - 一种固态硬盘性能优化方法、装置、设备及介质 - Google Patents
一种固态硬盘性能优化方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115563032A CN115563032A CN202211167010.5A CN202211167010A CN115563032A CN 115563032 A CN115563032 A CN 115563032A CN 202211167010 A CN202211167010 A CN 202211167010A CN 115563032 A CN115563032 A CN 115563032A
- Authority
- CN
- China
- Prior art keywords
- intensity
- solid state
- state disk
- module
- tcm
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及固态硬盘领域,尤其涉及一种固态硬盘性能优化方法、装置、设备及介质。所述方法包括:获取固态硬盘的日志并进行分析统计以得到IO强度历史数据;利用IO强度历史数据训练预先建立的长短期记忆网络模型以得到训练后的IO强度预测模型,预先建立的长短期记忆网络模型的输入为连续若干天固态硬盘IO强度、输出为若干天的后一天固态硬盘IO强度;采集以当天为最后一天的连续若干天固态硬盘IO强度数据并输入到所述训练后的IO强度预测模型中以得到未来一天IO强度预测值;根据未来一天IO强度预测值调整读模块、写模块占TCM资源的比例。本发明的方案实现动态调整读写模块占用TCM资源的比例,显著提升固态硬盘性能。
Description
技术领域
本发明涉及固态硬盘领域,尤其涉及一种固态硬盘性能优化方法、装置、设备及介质。
背景技术
人类社会已经步入了一个数据量呈指数级爆炸增长的大数据时代。大数据时代的到来更加需要存储技术的支撑,各种各样的大数据应用对存储系统的各方面性能和可靠性提出了更大的挑战。固态硬盘(Solid State Drive,简称SSD)因其高带宽和低功耗的特性已在企业级存储中得到广泛应用,与此同时企业级的用户对基于导体闪存NAND的SSD的性能也提出更高的要求:更快的读写速度、更小的时延、更低的能耗等特点成为了存储领域的发展热点。
闪存转换层FTL算法的好坏直接影响SSD的性能。上位机对SSD的操作模式存在多种可能例如读、写混合读写等,在对SSD执行读写操作时,SSD内部前端解析host发来的IO命令,解析完成后发送给FTL,由于FTL相较于前端发送的命令执行读写操作,均为异步操作方式进行,对于读写命令操作,对于每一笔前端发送的指令FTL需要分配针对该笔命令的上下文fe_ctx(FTL算法中与FE进行交互的上下文)以及分配传递信息给后端NCM的上下文nand_ctx(FTL算法中与BE进行交互的上下文),上下文为FTL算法中自定义的结构体,上下文的数量是有一定限制的而且是重复循环使用的,因此对前后端上下文的处理效率很大程度上决定了SSD的性能表现,同时对于大压力的读写会导致FTL发往前端或后端的sfifo(消息交互队列)中的消息不能及时处理而导致需要将上下文挂起的情况,需要定义链表结构将消息队列不为空时将相应的上下文挂起以及等消息队列的消息执行完之后将相应节点从链表上取出用以执行,现在对于企业级的固态硬盘,对读写处理的速度要求越来越高,当前业内为了优化读写性能,常规的FTL算法中都会把上下文以及链表放到高速缓存TCM(TightlyCoupled Memory)中,TCM是一种高速缓存,通常被直接集成在CPU芯片中。某些需要频繁存取的数据,都可以放到TCM中以节省存取时间。由于TCM是集成在CPU内部的极高速的缓存。它的访问速度几乎可以媲美CPU,CPU在访问TCM的时候几乎不会浪费多少时间。
然而速度的提升是用容量作为代价的,TCM的容量很小,目前业内常规的做法是提前分配好各个读写模块,放在同一个核上同时预先分配好读写模块各自占用TCM的大小,但这样就会导致不同操作模式以及不同IO强度下,高速缓存资源TCM不能被充分利用。
发明内容
有鉴于此,本发明针对预先分配的TCM资源存在分配不合理的情况或者不能被充分利用的情况,导致读写过程中由于上下文以及被挂起消息的不能快速的处理的情况而导致SSD的读写性能不够理想的问题,提供了一种固态硬盘性能优化方法、装置、设备及介质。
根据本发明的第一方面,提供了一种固态硬盘性能优化方法,所述方法包括:
获取固态硬盘的日志并进行分析统计以得到IO强度历史数据;
利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,其中,预先建立的长短期记忆网络模型的输入为连续若干天固态硬盘IO强度、输出为若干天的后一天固态硬盘IO强度;
采集以当天为最后一天的连续若干天固态硬盘IO强度数据并输入到所述训练后的IO强度预测模型中,以得到未来一天IO强度预测值;
根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例。
在一些实施例中,获取固态硬盘的日志并进行分析统计以得到IO强度历史数据,包括:
对固态硬盘固件运行日志进行监控;
分别对每天日志进行如下操作:以预设时间间隔为单位统计此段间隔时间内上位机下发的所有读命令对应的读数据大小总和,或者统计所有写命令对应的写数据大小总和;
对所有统计数据进行归一化处理,并将归一化后的统计数据按照连续预设天数为一组划分成若干组,其中,每组中最后一天的数据作为期望输出,剩余天数的数据作为输入。
在一些实施例中,获取固态硬盘的日志并进行分析统计以得到IO强度历史数据,还包括:
对若干组进行划分以将百分之八十的组作为训练集、将百分之十的组作为验证集、将百分之十的组作为测试集。
在一些实施例中,利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,包括:
利用所述测试集对预先建立的长短期记忆网络模型进行初步训练,以得到初步训练后的IO强度预测模型;
利用所述验证集对所述初步训练后的IO强度预测模型进行优化,以得到优化后的IO强度预测模型;
利用所述测试集对所述优化后的IO强度预测模型进行测试,若模型输出误差均小于预设值,则将优化后的IO强度预测模型作为所述训练后的IO强度预测模型。
在一些实施例中,所述预先建立的长短期记忆网络模型包括两个相同的长短期记忆网络模型,其中,一个模型的输入为正向排列的若干天IO强度数据,另一个模块的输入为反向排列的若干天IO强度数据,两个模型的输出加权后作为最后输出。
在一些实施例中,根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例,包括:
获取当前读模块或写模块分配的TCM资源占比;
根据下述公式得到读模块或写模块重新修正的TCM资源占比;
N'rdtcm=δ(ε(pr-p0)-δrd0)+Nrdtcm
或者
N'wdtcm=δ(ε(pw-p1)-δwd0)+Nwdtcm
其中,Nr'dtcm为根据IO强度预测值重新修正分配的读模块占用的TCM资源数量,Nrdtcm为预先分配给读模块的TCM资源,δ和δrd0为修正系数,pr读为IO强度的预测值,p0为设定的读模块TCM资源分配基准;N'wdtcm为根据IO强度预测值重新修正分配的写模块占用的TCM资源数量,Nwdtcm为预先分配给写模块的TCM资源,δ和δwd0为修正系数,pw为写IO强度的预测值,p1为设定的写模块TCM资源分配基准;
将除读模块或写模块重新修正的TCM资源占比以外的剩余TCM资源分配给写模块或读模块。
在一些实施例中,所述预设时间间隔为一小时,所述预设天数为八天。
根据本发明的第二方面,提供了一种固态硬盘性能优化装置,所述装置包括:
获取模块,配置用于获取固态硬盘的日志并进行分析统计以得到IO强度历史数据;
训练模块,配置用于利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,其中,预先建立的长短期记忆网络模型的输入为连续若干天固态硬盘IO强度、输出为若干天的后一天固态硬盘IO强度;
预测模块,配置用于采集以当天为最后一天的连续若干天固态硬盘IO强度数据并输入到所述训练后的IO强度预测模型中,以得到未来一天IO强度预测值;
调整模块,配置用于根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例。
根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的固态硬盘性能优化方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的固态硬盘性能优化方法。
上述一种固态硬盘性能优化方法,利用长短期记忆网络预测IO强度,根据前一段时间的IO强度预测下一段时间的IO强度,实现动态调整读写模块占用TCM资源的比例,提前预测出IO强度后优化FTL策略、合理分配TCM资源,显著提升固态硬盘性能。
此外,本发明还提供了一种固态硬盘性能优化装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种固态硬盘性能优化方法的流程图;
图2为本发明另一个实施例提供的另一种固态硬盘性能优化方法的流程图;
图3为本发明一个实施例提供的改进的长短期记忆网络训练过程图;
图4为本发明另一个实施例提供的一种固态硬盘性能优化装置的结构示意图;
图5为本发明另一个实施例中计算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照图1所示,本发明提供了一种固态硬盘性能优化方法100,具体来说,所述方法包括以下步骤:
步骤101,获取固态硬盘的日志并进行分析统计以得到IO强度历史数据;
步骤102,利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,其中,预先建立的长短期记忆网络模型的输入为连续若干天固态硬盘IO强度、输出为若干天的后一天固态硬盘IO强度;
步骤103,采集以当天为最后一天的连续若干天固态硬盘IO强度数据并输入到所述训练后的IO强度预测模型中,以得到未来一天IO强度预测值;
步骤104,根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例。
上述一种固态硬盘性能优化方法,利用长短期记忆网络预测IO强度,根据前一段时间的IO强度预测下一段时间的IO强度,实现动态调整读写模块占用TCM资源的比例,提前预测出IO强度后优化FTL策略、合理分配TCM资源,显著提升固态硬盘性能。
在一些实施例中,步骤101,获取固态硬盘的日志并进行分析统计以得到IO强度历史数据,包括:
对固态硬盘固件运行日志进行监控;
分别对每天日志进行如下操作:以预设时间间隔为单位统计此段间隔时间内上位机下发的所有读命令对应的读数据大小总和,或者统计所有写命令对应的写数据大小总和;
对所有统计数据进行归一化处理,并将归一化后的统计数据按照连续预设天数为一组划分成若干组,其中,每组中最后一天的数据作为期望输出,剩余天数的数据作为输入。
在一些实施中,步骤101,获取固态硬盘的日志并进行分析统计以得到IO强度历史数据,还包括:
对若干组进行划分以将百分之八十的组作为训练集、将百分之十的组作为验证集、将百分之十的组作为测试集。
在一些实施例中,步骤102,利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,包括:
利用所述测试集对预先建立的长短期记忆网络模型进行初步训练,以得到初步训练后的IO强度预测模型;
利用所述验证集对所述初步训练后的IO强度预测模型进行优化,以得到优化后的IO强度预测模型;
利用所述测试集对所述优化后的IO强度预测模型进行测试,若模型输出误差均小于预设值,则将优化后的IO强度预测模型作为所述训练后的IO强度预测模型。
在一些实施例中,所述预先建立的长短期记忆网络模型包括两个相同的长短期记忆网络模型,其中,一个模型的输入为正向排列的若干天IO强度数据,另一个模块的输入为反向排列的若干天IO强度数据,两个模型的输出加权后作为最后输出。
在一些实施例中,步骤104,,根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例,包括:
获取当前读模块或写模块分配的TCM资源占比;
根据下述公式得到读模块或写模块重新修正的TCM资源占比;
N'rdtcm=δ(ε(pr-p0)-δrd0)+Nrdtcm
或者
N'wdtcm=δ(ε(pw-p1)-δwd0)+Nwdtcm
其中,N'rdtcm为根据IO强度预测值重新修正分配的读模块占用的TCM资源数量,Nrdtcm为预先分配给读模块的TCM资源,δ和δrd0为修正系数,pr读为IO强度的预测值,p0为设定的读模块TCM资源分配基准;N'wdtcm为根据IO强度预测值重新修正分配的写模块占用的TCM资源数量,Nwdtcm为预先分配给写模块的TCM资源,δ和δwd0为修正系数,pw为写IO强度的预测值,p1为设定的写模块TCM资源分配基准;
将除读模块或写模块重新修正的TCM资源占比以外的剩余TCM资源分配给写模块或读模块。
在又一个实施例中,为了便于理解本发明的方案,下面以应用于企业级SSD为例,本实施例提供了另一种一种固态硬盘性能优化方法200,请结合图2所示,该方法实施过程参考如下:
步骤201:获取SSD IO强度的历史数据,并进行切割整理分类,得到训练集、验证集和测试集。
其中,历史数据可以采用如下方式获取:建立SSD测试平台模拟SSD真实业务,读或者写的IO强度在1天和1星期内表现出较强的周期性和自相似性,利用该特性,选取1星期内的IO强度数据进行学习,对第8天的IO强度进行预测,运行SSD真实场景下的工作负荷,记录每个小时读模块的IO的强度。在此过程中,对SSD盘固件运行日志监控,并对每个小时的IO强度相关数据进行更新统计。统计IO强度相关特征数据如表1所示:
表1 IO强度相关特征数据
特征数据名称 | 特征数据描述 |
time | IO强度采样的时间段 |
rw | 上位机下发的命令模式分为read和write |
bs | block size的大小 |
size | 读取或者写入的规模 |
具体地,对SSD盘固件运行日志监控,并对IO强度相关数据进行更新统计,获取7天SSD IO强度的历史数据。获取100080份上述IO强度运行数据后,形成四维数组[time,rw,bs,size],每一个四维数组数据代表一个IO强度数据。首先,对可能存在的一些异常值或缺失值的数据进行清洗,降低异常数据带来的影响;然后,对数据进行无纲量化(标准化),使得各项特征数据具备统一的数据规格。样本特征的归一化转换函数为公式1所示:
公式1中x't是步骤1在t时刻所采集的样本特征,x'min是所采集样本特征的最小值,x'max是所采集样本特征的最大值。
最后,随机将采集的100080份IO数据划分为三份,80%作为训练集,10%作为验证集,10%作为测试集。
步骤202:设计改进的长短期记忆网络IO预测模型。网络模型主要包含输入层、隐含层、输出层结构,基础的长短期记忆网络的隐含层只有正向训练导致较早学习部分特征提取和记忆效果差的问题,改进的长短期记忆网络模型隐含层采用双向训练,完整的学习到IO强度的整体特征。
具体地,改进长短期神经网络模型是在常规的神经网络的基础上改进而来的,由正向长短期记忆网络和反向长短期记忆神经网络融合而成。改进的长短期记忆网络同时考虑了序列过去的特征和未来的特征,使用两个长短期记忆网络、一个正向输入序列、一个反向输入序列,再将两者的输出按照一定的权重结合起来作为最终的结果。改进的模型的隐藏层由正向细胞状态和反向细胞状态两部分组成。流量序列通过输入层进入隐藏层分别参与正向计算和反向计算,最终输出结果由输出层按照一定的权重融合正向长短期记忆网络的输出结果和反向长短期记忆网络输出结果得到。
步骤203:用所述训练集对改进的长短期记忆网络模型进行训练,得到训练后的长短期记忆网络模型,训练过程如图3所示。
具体地,在确保采样的IO强度按时间顺序排列的基础上,通过已知的IO强度数据预测未知的IO强度数据。使用前7天正向排列的IO强度数据训练改进的长短期记忆网络模型,同步使用反向排列的IO强度数据训练长短期记忆网络模型,使得改进的长短期记忆网络模型可以进行双向学习,强化突出长短期记忆网络IO强度的整体特征,同时需要设定训练次数和误差精度,判断模型是否训练完成的标准是:判断训练计数值是否达到设定的训练次数,如果达到训练次数,进行输出结果,如果没有达到训练次数,判断预测误差是否达到训练目标设定的误差要求,预测误差采用的是平均绝对误差(MAE)和均方根误差(RMSE)作为衡量指标,MAE是预测值与观测值间绝对误差的平均值,RMSE是预测值与真实值之差平方的期望值,这两种误差的值越小,则说明模型的性能越好。
MAE和RMSE的表达式如公式2和公式3所示,公式2和公式3中,Pi为预测值,Ri为观测值,m为数据个数。
如果达到训练目标设定的误差要求,进行输出结果,如果没有到达训练目标设定的误差要求,则增加训练次数或重新定义训练目标。当达到预定的训练目标或训练次数最大时,网络模型训练完成。经过多次实验,得到最佳改进的长短期记忆网络模型,通过已知的IO强度数据对未知的IO强度数据量进行预测,大量重复实验后,对记录的结果进行分析和研究。IO强度的预测结果由正向训练网络和反向训练网络各自的输出结果分别乘以加权矩阵融合得到。
步骤204,将所述测试集输入到所述最优改进长短期网络模型,得到IO强度预测结果,并根据结果修改读写模块占用的TCM资源比例。
具体地,将所述测试集输入到最优改进长短期记忆网络模型,得到IO强度预测结果,调整读写模块各自占用的TCM资源的比例根据公式4和5
Ntcm=Nrdtcm+Nwrtcm 公式4;
公式4中Ntcm为总的TCM资源,Nrdtcm为分配给读模块的TCM资源,Nwrtcm为分配给写模块的TCM资源,常规的做法Nrdtcm和Nwrtcm都是预先分配好大小的。
N'rdtcm=δ(ε(p-p0)-δrd0)+Nrdtcm 公式5;
公式5中Nr'dtcm为根据IO强度预测后重新修正分配的读模块占用的TCM资源数量,为预先分配给读模块的TCM资源,δ和δrd0为修正系数,p为归一化的IO强度的预测值,p0为设定的读模块TCM资源分配基准,读模块的资源确定,写模块的资源通过公式4便也可确定。
需要说明的是:在具体实施过程中,用户既可以预测读IO强度也,可以预测写IO强度,选取其中一个作为目标即可,例如选取预测读模块的IO强度,通过其预测值计算出应为其分配百分之七十的TCM资源,假设TCM资源期初平均分配给了读模块和写模块,那么调整后的读模块应当分配百分之七,写模块应当分配百分之三十。而以写模块的IO强度为预测目标的情况与此相同在此不做赘述。
上述一种固态硬盘性能优化方法,相比于传统的固定比例为读写模块分配TCM资源的方式,利用改进后的长短期记忆网络模型实现对IO强度的准确预测,实现根据七天统计的每小时的固态硬盘的运行数据中的IO强度预测未来一天中每小时的IO强度,从而实现了动态调整读模块。写模块所需的TCM资源,为不同的用户提供适合其业务压力的分配方式,在不影响业务的前提下实现了TCM资源的充分利用,具有较好的通用性,显著改善SSD的性能。
在一些实施例中,请参照图4所示,本发明还提供了一种固态硬盘性能优化装置300,所述装置包括:
获取模块301,配置用于获取固态硬盘的日志并进行分析统计以得到IO强度历史数据;
训练模块302,配置用于利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,其中,预先建立的长短期记忆网络模型的输入为连续若干天固态硬盘IO强度、输出为若干天的后一天固态硬盘IO强度;
预测模块303,配置用于采集以当天为最后一天的连续若干天固态硬盘IO强度数据并输入到所述训练后的IO强度预测模型中,以得到未来一天IO强度预测值;
调整模块304,配置用于根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例。
上述一种固态硬盘性能优化装置,利用长短期记忆网络预测IO强度,根据前一段时间的IO强度预测下一段时间的IO强度,实现动态调整读写模块占用TCM资源的比例,提前预测出IO强度后优化FTL策略、合理分配TCM资源,显著提升固态硬盘性能。
在一些实施例中,获取模块301进一步配置用于:
对固态硬盘固件运行日志进行监控;
分别对每天日志进行如下操作:以预设时间间隔为单位统计此段间隔时间内上位机下发的所有读命令对应的读数据大小总和,或者统计所有写命令对应的写数据大小总和;
对所有统计数据进行归一化处理,并将归一化后的统计数据按照连续预设天数为一组划分成若干组,其中,每组中最后一天的数据作为期望输出,剩余天数的数据作为输入。
在一些实施例中,所述获取模块301进一步配置用于:
对若干组进行划分以将百分之八十的组作为训练集、将百分之十的组作为验证集、将百分之十的组作为测试集。
在一些实施例中,所述训练模块302进一步配置用于:
利用所述测试集对预先建立的长短期记忆网络模型进行初步训练,以得到初步训练后的IO强度预测模型;
利用所述验证集对所述初步训练后的IO强度预测模型进行优化,以得到优化后的IO强度预测模型;
利用所述测试集对所述优化后的IO强度预测模型进行测试,若模型输出误差均小于预设值,则将优化后的IO强度预测模型作为所述训练后的IO强度预测模型。
在一些实施例中,所述预先建立的长短期记忆网络模型包括两个相同的长短期记忆网络模型,其中,一个模型的输入为正向排列的若干天IO强度数据,另一个模块的输入为反向排列的若干天IO强度数据,两个模型的输出加权后作为最后输出。
在一些实例中,所述调整模块304进一步配置用于:
获取当前读模块或写模块分配的TCM资源占比;
根据下述公式得到读模块或写模块重新修正的TCM资源占比;
N'rdtcm=δ(ε(pr-p0)-δrd0)+Nrdtcm
或者
N'wdtcm=δ(ε(pw-p1)-δwd0)+Nwdtcm
其中,N'rdtcm为根据IO强度预测值重新修正分配的读模块占用的TCM资源数量,Nrdtcm为预先分配给读模块的TCM资源,δ和δrd0为修正系数,pr读为IO强度的预测值,p0为设定的读模块TCM资源分配基准;N'wdtcm为根据IO强度预测值重新修正分配的写模块占用的TCM资源数量,Nwdtcm为预先分配给写模块的TCM资源,δ和δwd0为修正系数,pw为写IO强度的预测值,p1为设定的写模块TCM资源分配基准;
将除读模块或写模块重新修正的TCM资源占比以外的剩余TCM资源分配给写模块或读模块。
在一些实施例中,所述预设时间间隔为一小时,所述预设天数为八天。
需要说明的是,关于固态硬盘性能优化装置的具体限定可以参见上文中对固态硬盘性能优化方法的限定,在此不再赘述。上述固态硬盘性能优化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的固态硬盘性能优化方法,具体来说,所述方法包括以下步骤:
获取固态硬盘的日志并进行分析统计以得到IO强度历史数据;
利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,其中,预先建立的长短期记忆网络模型的输入为连续若干天固态硬盘IO强度、输出为若干天的后一天固态硬盘IO强度;
采集以当天为最后一天的连续若干天固态硬盘IO强度数据并输入到所述训练后的IO强度预测模型中,以得到未来一天IO强度预测值;
根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的固态硬盘性能优化方法,具体来说,包括执行以下步骤:
获取固态硬盘的日志并进行分析统计以得到IO强度历史数据;
利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,其中,预先建立的长短期记忆网络模型的输入为连续若干天固态硬盘IO强度、输出为若干天的后一天固态硬盘IO强度;
采集以当天为最后一天的连续若干天固态硬盘IO强度数据并输入到所述训练后的IO强度预测模型中,以得到未来一天IO强度预测值;
根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种固态硬盘性能优化方法,其特征在于,所述方法包括:
获取固态硬盘的日志并进行分析统计以得到IO强度历史数据;
利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,其中,预先建立的长短期记忆网络模型的输入为连续若干天固态硬盘IO强度、输出为若干天的后一天固态硬盘IO强度;
采集以当天为最后一天的连续若干天固态硬盘IO强度数据并输入到所述训练后的IO强度预测模型中,以得到未来一天IO强度预测值;
根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例。
2.根据权利要求1所述的固态硬盘性能优化方法,其特征在于,获取固态硬盘的日志并进行分析统计以得到IO强度历史数据,包括:
对固态硬盘固件运行日志进行监控;
分别对每天日志进行如下操作:以预设时间间隔为单位统计此段间隔时间内上位机下发的所有读命令对应的读数据大小总和,或者统计所有写命令对应的写数据大小总和;
对所有统计数据进行归一化处理,并将归一化后的统计数据按照连续预设天数为一组划分成若干组,其中,每组中最后一天的数据作为期望输出,剩余天数的数据作为输入。
3.根据权利要求2所述的固态硬盘性能优化方法,其特征在于,获取固态硬盘的日志并进行分析统计以得到IO强度历史数据,还包括:
对若干组进行划分以将百分之八十的组作为训练集、将百分之十的组作为验证集、将百分之十的组作为测试集。
4.根据权利要求要求3所述的固态硬盘性能优化方法,其特征在于,利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,包括:
利用所述测试集对预先建立的长短期记忆网络模型进行初步训练,以得到初步训练后的IO强度预测模型;
利用所述验证集对所述初步训练后的IO强度预测模型进行优化,以得到优化后的IO强度预测模型;
利用所述测试集对所述优化后的IO强度预测模型进行测试,若模型输出误差均小于预设值,则将优化后的IO强度预测模型作为所述训练后的IO强度预测模型。
5.根据权利要求1所述的固态硬盘性能优化方法,其特征在于,所述预先建立的长短期记忆网络模型包括两个相同的长短期记忆网络模型,其中,一个模型的输入为正向排列的若干天IO强度数据,另一个模块的输入为反向排列的若干天IO强度数据,两个模型的输出加权后作为最后输出。
6.根据权利要求1所述的固态硬盘性能优化方法,其特征在于,根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例,包括:
获取当前读模块或写模块分配的TCM资源占比;
根据下述公式得到读模块或写模块重新修正的TCM资源占比;
N′rdtcm=δ(ε(pr-p0)-δrd0)+Nrdtcm
或者
N'wdtcm=δ(ε(pw-p1)-δwd0)+Nwdtcm
其中,N′rdtcm为根据IO强度预测值重新修正分配的读模块占用的TCM资源数量,Nrdtcm为预先分配给读模块的TCM资源,δ和δrd0为修正系数,pr读为IO强度的预测值,p0为设定的读模块TCM资源分配基准;N'wdtcm为根据IO强度预测值重新修正分配的写模块占用的TCM资源数量,Nwdtcm为预先分配给写模块的TCM资源,δ和δwd0为修正系数,pw为写IO强度的预测值,p1为设定的写模块TCM资源分配基准;
将除读模块或写模块重新修正的TCM资源占比以外的剩余TCM资源分配给写模块或读模块。
7.根据权利要求2所述的固态硬盘性能优化方法,其特征在于,所述预设时间间隔为一小时,所述预设天数为八天。
8.一种固态硬盘性能优化装置,其特征在于,所述装置包括:
获取模块,配置用于获取固态硬盘的日志并进行分析统计以得到IO强度历史数据;
训练模块,配置用于利用所述IO强度历史数据训练预先建立的长短期记忆网络模型,以得到训练后的IO强度预测模型,其中,预先建立的长短期记忆网络模型的输入为连续若干天固态硬盘IO强度、输出为若干天的后一天固态硬盘IO强度;
预测模块,配置用于采集以当天为最后一天的连续若干天固态硬盘IO强度数据并输入到所述训练后的IO强度预测模型中,以得到未来一天IO强度预测值;
调整模块,配置用于根据所述未来一天IO强度预测值调整读模块、写模块占TCM资源的比例。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211167010.5A CN115563032A (zh) | 2022-09-23 | 2022-09-23 | 一种固态硬盘性能优化方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211167010.5A CN115563032A (zh) | 2022-09-23 | 2022-09-23 | 一种固态硬盘性能优化方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115563032A true CN115563032A (zh) | 2023-01-03 |
Family
ID=84742980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211167010.5A Pending CN115563032A (zh) | 2022-09-23 | 2022-09-23 | 一种固态硬盘性能优化方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115563032A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116068479A (zh) * | 2023-03-07 | 2023-05-05 | 潍柴动力股份有限公司 | 燃料电池耐久试验中输出性能信号的异常检测方法与装置 |
CN116088772A (zh) * | 2023-04-10 | 2023-05-09 | 宇动源(北京)信息技术有限公司 | 动态存储管理方法、装置、存储介质及电子设备 |
CN117806573A (zh) * | 2024-03-01 | 2024-04-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固态硬盘的搜索方法、装置、设备及介质 |
-
2022
- 2022-09-23 CN CN202211167010.5A patent/CN115563032A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116068479A (zh) * | 2023-03-07 | 2023-05-05 | 潍柴动力股份有限公司 | 燃料电池耐久试验中输出性能信号的异常检测方法与装置 |
CN116088772A (zh) * | 2023-04-10 | 2023-05-09 | 宇动源(北京)信息技术有限公司 | 动态存储管理方法、装置、存储介质及电子设备 |
CN117806573A (zh) * | 2024-03-01 | 2024-04-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固态硬盘的搜索方法、装置、设备及介质 |
CN117806573B (zh) * | 2024-03-01 | 2024-05-24 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固态硬盘的搜索方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115563032A (zh) | 一种固态硬盘性能优化方法、装置、设备及介质 | |
US10817217B2 (en) | Data storage system with improved time-to-ready | |
US9430288B2 (en) | Job scheduling based on historical job data | |
US11481342B2 (en) | Data storage system data access arbitration | |
CN107229517A (zh) | 任务调度方法和装置 | |
CN110413776B (zh) | 一种基于cpu-gpu协同并行的文本主题模型lda高性能计算方法 | |
CN111638958A (zh) | 云主机负载处理方法、装置、控制设备及存储介质 | |
CN112398700B (zh) | 一种服务降级方法及装置、存储介质、计算机设备 | |
CN109583561A (zh) | 一种深度神经网络的激活量量化方法及装置 | |
US20200409561A1 (en) | Data storage system with i/o determinism latency optimization | |
CN110297743B (zh) | 一种负载测试方法、装置和存储介质 | |
CN116467082A (zh) | 一种基于大数据的资源分配方法及系统 | |
CN113283576B (zh) | 一种基于鲸鱼算法优化lstm的频谱感知方法 | |
CN109815534B (zh) | 一种基于决策树算法的闪存寿命预测方法及系统 | |
CN107360050B (zh) | 视频云存储节点性能自动化测试方法及其装置 | |
CN116450483A (zh) | 一种确定软件分配的负载的方法、装置、服务器及介质 | |
CN103596214A (zh) | 一种分析数据的方法和装置 | |
CN116541128A (zh) | 一种负载调节方法、装置、计算设备、及存储介质 | |
CN115994029A (zh) | 容器资源调度方法及装置 | |
CN111598390B (zh) | 服务器高可用性评估方法、装置、设备和可读存储介质 | |
CN113869565A (zh) | 一种电力负荷预测方法、装置、终端设备及存储介质 | |
CN111767165A (zh) | 数据处理方法、装置及控制设备 | |
CN108304252B (zh) | 一种任务调度方法及装置 | |
US11868287B2 (en) | Just-in-time (JIT) scheduler for memory subsystems | |
WO2024114728A1 (zh) | 一种异构处理器及相关调度方法 |
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 |