CN109634924A - 基于机器学习的文件系统参数自动调优方法及系统 - Google Patents
基于机器学习的文件系统参数自动调优方法及系统 Download PDFInfo
- Publication number
- CN109634924A CN109634924A CN201811300046.XA CN201811300046A CN109634924A CN 109634924 A CN109634924 A CN 109634924A CN 201811300046 A CN201811300046 A CN 201811300046A CN 109634924 A CN109634924 A CN 109634924A
- Authority
- CN
- China
- Prior art keywords
- parameter
- file system
- read
- access performance
- machine learning
- 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
Links
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于机器学习的文件系统参数自动调优方法及系统,方法包括:获取文件系统的读写比例;对文件系统的参数进行修改,然后分别在不同读写比例下测试文件系统的负载的访问性能;根据测试得到的访问性能,识别文件系统的关键参数;根据文件系统的读写比例、访问性能以及关键参数,通过深度神经网络训练得到预测模型;根据预测模型的输出值,通过负载匹配方法和遗传算法,获取文件系统的推荐参数。本发明通过机器学习技术,将文件系统的参数调整实现为自动化流程,大大降低了人工成本,提高了工作效率;另外,本发明能够对不同的文件系统和硬件环境进行参数调优,提高了通用性,可广泛应用于机器学习技术领域。
Description
技术领域
本发明涉及机器学习技术领域,尤其是基于机器学习的文件系统参数自动调优方法及系统。
背景技术
系统软件的高效运行需要对其自身的多种参数进行人工设定,例如:(1)关系型数据库中日志文件(Log file size)的大小;(2)操作系统虚拟内存大小以及(3)文件系统的页缓存大小(Page Cache)等等。但是,在一般情况下,由于此类参数的默认值并不适用于所有的上层多样应用程序。因此,需要人工劳力,例如数据库管理员或者系统运维人员,去监控应用程序的运行数据,总结其运行特征,然后再对系统软件进行参数调整,使得系统环境能够和该应用程序的运行特征互相适配,以达到较优的性能。由于系统软件的底层性和特殊性,导致其可调整的参数数量一般较多,这不仅加大了人工调整的工作量,也减慢了系统软件与特定应用程序之间的匹配速度,从而降低了应用程序的运行性能。而且,不合适的参数配置甚至会导致系统软件出现运行错误,从而引起应用程序或者整个系统的崩溃。
现有技术提出了通过机器学习技术,对某一系统软件进行参数自动推荐和调优。但是,目前的参数推荐和调优方法只能对某一系统软件类型的指定系统发挥作用,通用性差。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种效率高且通用性强的,基于机器学习的文件系统参数自动调优方法及系统。
本发明一方面所采取的技术方案为:
基于机器学习的文件系统参数自动调优方法,包括以下步骤:
获取文件系统的读写比例;
对文件系统的参数进行修改,然后分别在不同读写比例下测试文件系统的负载的访问性能;
根据测试得到的访问性能,识别文件系统的关键参数;
根据文件系统的读写比例、访问性能以及关键参数,通过深度神经网络训练得到预测模型;
根据预测模型的输出值,通过负载匹配方法和遗传算法,获取文件系统的推荐参数。
进一步,所述对文件系统的参数进行修改,然后分别在不同读写比例下测试文件系统的负载的访问性能这一步骤,包括以下步骤:
判断文件系统的参数的类型,其中,参数的类型包括离散型和连续型;若参数类型为离散型,则获取文件系统的所有参数值;若参数类型为连续型,则获取文件系统的默认参数值、最大参数值以及最小参数值;
根据获取的参数值,基于不同的读写比例生成不同类型的负载;
用不同类型的负载分别访问文件系统,得到访问性能的测试结果。
进一步,所述根据测试得到的访问性能,识别文件系统的关键参数这一步骤,包括以下步骤:
根据参数值、负载类型以及负载的访问性能,生成初始数据集;
对初始数据集进行剥离操作,得到最终数据集;
通过岭回归方法对最终数据集进行处理,得到参数的回归系数;
对参数的回归系数进行排序,选取设定个数的参数作为关键参数。
进一步,所述根据文件系统的读写比例、访问性能以及关键参数,通过深度神经网络训练得到预测模型这一步骤,包括以下步骤:
根据关键参数、所述关键参数对应的负载类型以及所述关键参数对应的访问性能,生成训练数据集;
将训练数据集划分为训练集和验证集;
将训练集中的关键参数及所述关键参数的负载类型输入深度神经网络;
通过深度神经网络输出文件系统的预测访问性能;
根据验证集,通过损失函数计算预测访问性能与实际访问性能的第一距离;
根据计算得到的第一距离,采用随机梯度下降法对参数进行实时更新。
进一步,所述根据预测模型的输出值,通过负载匹配方法和遗传算法,获取文件系统的推荐参数这一步骤,包括以下步骤:
根据文件系统的读写比例,通过负载匹配方法获取第一候选参数值;
根据第一候选参数值,通过预测模型获取第一输出值;
通过遗传算法生成新的文件系统的第二候选参数值;
根据第二候选参数值,通过预测模型获取第二输出值;
对第一输出值和第二输出值进行比较,确定文件系统的推荐参数。
进一步,所述根据文件系统的读写比例,通过负载匹配方法获取第一候选参数值这一步骤,包括以下步骤:
对文件系统的读写比例、访问性能以及关键参数进行归一化处理;
根据归一化处理的结果,计算新文件系统的读写比例与旧文件系统的读写比例之间的第二距离;
对计算得到的第二距离进行排序;
根据排序结果,确定候选参数值。
进一步,所述第二距离的计算方法为Euclidean距离计算方法。
进一步,还包括以下步骤:
对推荐参数进行优化探索,获取最优推荐参数;
根据优化探索的结果,对预测模型进行优化训练。
本发明另一方面所采取的技术方案是:
基于机器学习的文件系统参数自动调优系统,包括:
获取模块,用于获取文件系统的读写比例;
测试模块,用于对文件系统的参数进行修改,然后分别在不同读写比例下测试文件系统的负载的访问性能;
识别模块,用于根据测试得到的访问性能,识别文件系统的关键参数;
训练模块,用于根据文件系统的读写比例、访问性能以及关键参数,通过深度神经网络训练得到预测模型;
推荐模块,用于根据预测模型的输出值,通过负载匹配方法和遗传算法,获取文件系统的推荐参数。
本发明另一方面所采取的技术方案是:
基于机器学习的文件系统参数自动调优系统,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的基于机器学习的文件系统参数自动调优方法。
本发明的有益效果是:本发明通过机器学习技术,将文件系统的参数调整实现为自动化流程,大大降低了人工成本,提高了工作效率;另外,本发明能够对不同的文件系统和硬件环境进行参数调优,提高了通用性。
附图说明
图1为本发明基于机器学习的文件系统参数自动调优方法的步骤流程图;
图2为本发明实施例的系统部署结构示意图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
如图1所示,本发明实施例提供了一种基于机器学习的文件系统参数自动调优方法,包括以下步骤:
S1、获取文件系统的读写比例;
具体地,对于不同的应用负载,其对文件系统的读写压力是不同的。本发明使用对文件系统的读取比例(read ratio)来表示不同的文件系统负载,并根据不同的读写比例,将负载分为读密集型、写密集型和读写混合型。
对于不同的文件系统,存在不同的参数及其个数。本发明单独地对每个文件系统的每个参数(记为C)进行修改,并测试在该参数值下不同读取比例的应用负载(记为W)的访问性能(记为P)。本发明收集的性能数据主要是在某文件系统之下的设备的每秒读写次数(IOPS,Input/Output Operations Per Second)。
S2、对文件系统的参数进行修改,然后分别在不同读写比例下测试文件系统的负载的访问性能;
进一步作为步骤S2的优选实施方式,所述步骤S2包括以下步骤:
S21、判断文件系统的参数的类型,其中,参数的类型包括离散型和连续型;若参数类型为离散型,则获取文件系统的所有参数值;若参数类型为连续型,则获取文件系统的默认参数值、最大参数值以及最小参数值;
S22、根据获取的参数值,基于不同的读写比例生成不同类型的负载;
S23、用不同类型的负载分别访问文件系统,得到访问性能的测试结果。
具体地,如果C的取值是离散型的参数,本发明对其每个允许的取值都进行实验,通过文件系统相关的测试软件来生成不同类型的负载去访问文件系统,并收集对应的IOPS;如果C取值是连续型的参数,本发明首先分别测试该参数的默认值、最小值以及最大值下的IOPS,再随机地从该参数的取值范围内选取若干个参数值进行测试并收集IOPS。在变化某一个参数值以收集对应的性能数据时,始终固定其他参数为默认值,以简化测试工作量,并缩短数据收集过程的周期。
本发明收集到的数据形式为{Ci,W,P},将数据集记为Datasetoriginal,其中{Ci}是参数值列表,i表示参数的个数;W是应用负载的类型,用其读写比例来表示;P是在读写比例为W的应用负载下,当文件系统的参数值配置为{Ci}时对应的IOPS。
S3、根据测试得到的访问性能,识别文件系统的关键参数;
进一步作为优选的实施方式,所述步骤S3包括以下步骤:
S31、根据参数值、负载类型以及负载的访问性能,生成初始数据集;
S32、对初始数据集进行剥离操作,得到最终数据集;
S33、通过岭回归方法对最终数据集进行处理,得到参数的回归系数;
S34、对参数的回归系数进行排序,选取设定个数的参数作为关键参数。
具体地,由于文件系统的可调参数数量较多,每个参数对性能影响的重要程度也不尽相同。如果对所有的参数进行调整,将加重参数推荐的工作量,因此需要筛选出对文件系统的性能影响最大的前k个参数。
本实施例使用了岭回归(Ridge Regression)技术来识别文件系统的重要参数,它的一大优点在于可以较好避免线性回归中经常出现的过拟合等问题,具体的筛选方法如下所述:
第一步,选取特定的文件系统将步骤S2中所收集到的数据整合成初始数据集合Datasetoriginal,本实施例将初始数据集存储在文本文件中,每一行的数据形式均为{Ci,W,P}。由于本过程是筛选对文件系统性能影响最大的前k个参数,不考虑应用负载的读取比例,因此需要先将原数据的W剥离,处理后最终数据形式为{Ci,P};
第二步,系统环境搭建,本实施例采用Python语言进行实现。因此,在使用岭回归技术筛选重要参数时,还需要引入额外的scikit-learn(简称sklearn)工具包,以提供python实现的机器学习算法库,同时方便为数据预处理、分类、回归以及降维提供导出接口。本实施例在准备使用岭回归技术时,可以使用sklearn.linear_model.Ridge接口直接调用并使用岭回归;
第三步,将第一步处理完的数据{Ci,P}作为输入,使用岭回归进行处理,进而输出长度为i(与{Ci}相同长度)的回归系数列表,其代表了{Ci}所对应的各个参数对性能P的影响程度,如果回归系数大于0,则表示对应的参数与文件系统的性能呈正相关关系,如果回归系数小于0,则表示对应的参数与文件系统的性能呈负相关关系,并且当回归系统的绝对值越大时,则表示对应的参数对文件系统性能的影响越大。因此,根据回归系数的绝对值大小,可以对{Ci}所对应的参数按照对文件系统性能的影响程度进行排序,根据回归系数的绝对值大小和系统需要,选择前k个参数为重要参数;
第四步,经过第三步的识别和筛选,得到影响文件系统性能的前k个重要参数,需要对初始数据集Datasetoriginal进行重新调整。具体调整为:只选取这k个重要参数对应的参数值列表{Ck},以及对应的应用负载读取比例W和对应的文件系统性能P(即IOPS)组成新的数据形式,最终的数据形式为{Ck,W,P}(即最终数据集),将处理后的最终数据集记为Datasetprocess。
S4、根据文件系统的读写比例、访问性能以及关键参数,通过深度神经网络训练得到预测模型;
进一步作为优选的实施方式,所述步骤S4包括以下步骤:
S41、根据关键参数、所述关键参数对应的负载类型以及所述关键参数对应的访问性能,生成训练数据集;
S42、将训练数据集划分为训练集和验证集;
S43、将训练集中的关键参数及所述关键参数的负载类型输入深度神经网络;
S44、通过深度神经网络输出文件系统的预测访问性能;
S45、根据验证集,通过损失函数计算预测访问性能与实际访问性能的第一距离;
S46、根据计算得到的第一距离,采用随机梯度下降法对参数进行实时更新。
具体地,本实施例筛选了文件系统最重要的前k个参数以及对数据集的重新整理之后,使用调整后的数据集Datasetprocess(即最终数据集)来训练文件系统的性能预测模型M。在训练结束后,当给定新的应用负载(设读写比例为W′),以及k个重要参数对应的参数值{Ck′}时,就可以使用M预测在该应用场景下,文件系统可能的性能P(即IOPS)。
本发明使用深度神经网络(DNN)来构建文件系统的性能预测模型M,其中输入层大小为k+1,本实施例将最终数据集中每条数据的k个重要参数对应的参数值{Ck}以及负载的读写比例W将作为M的输入;进而输出文件系统的性能P(即IOPS),其中,本实施例的输出层大小为1。
进一步作为优选的实施方式,在所述预测模型中增设隐藏层数量以及隐藏层的神经元数量。
进一步作为优选的实施方式,在所述隐藏层之间加入激活函数。
本发明为了提高模型预测的准确度,将适当增加性能预测模型M的隐藏层数量以及隐藏层的神经元数量,并在隐藏层之间加入激活函数,实现去线性化,解决多层网络的抑或问题。同时根据具体情况,可以适当添加其他深度神经网络结构,如LSTM,CNN,Attention机制等,其中LSTM神经网络模型有助于捕捉数据集中的时序信息;CNN卷积神经网络能共享卷积核,能更好的处理高维数据;Attention机制可以帮助模型对输入的每个部分赋予不同的权重,以抽取出更加关键和重要的信息,尽管目前主要用于自然语言处理领域,但可以尝试应用到本发明,以尝试提高模型预测的准确性。
另外,本发明在训练文件系统的性能预测模型M时,将数据集Datasetprocess随机并平均地分成10份,其中9份作为训练集,1份作为验证集。性能预测模型M使用均方误差MSE作为损失函数,其计算公式为其中n表示数据量的大小,truei表示真实的IOPS,predi表示预测的IOPS。
MSE可以评价预测值与真实值之间的距离(即第一距离),当MSE的值越小,说明预测模型的预测精确度更高。本实施例在性能预测模型M训练过程中使用随机梯度下降法迭代更新参数,不断沿着梯度的反方向让神经网络的参数朝着总损失更小的方向进行更新。为了避免模型训练过程中出现过拟合问题,将在损失函数中加入正则化项。在训练前初始化模型迭代轮次为100,并当损失函数值收敛时提前结束训练过程,以缩短模型训练时间。
S5、根据预测模型的输出值,通过负载匹配方法和遗传算法,获取文件系统的推荐参数。
进一步作为步骤S5的优选实施方式,所述步骤S5包括以下步骤:
S51、根据文件系统的读写比例,通过负载匹配方法获取第一候选参数值;
S52、根据第一候选参数值,通过预测模型获取第一输出值;
S53、通过遗传算法生成新的文件系统的第二候选参数值;
S54、根据第二候选参数值,通过预测模型获取第二输出值;
S55、对第一输出值和第二输出值进行比较,确定文件系统的推荐参数。
进一步作为步骤S51的优选实施方式,所述步骤S51包括以下步骤:
S511、对文件系统的读写比例、访问性能以及关键参数进行归一化处理;
S512、根据归一化处理的结果,计算新文件系统的读写比例与旧文件系统的读写比例之间的第二距离;
S513、对计算得到的第二距离进行排序;
S514、根据排序结果,确定候选参数值。
具体地,本实施例通过负载匹配和遗传算法搜索参数值组合来进行参数推荐。当新的应用负载出现(即已知新的应用负载的读取比例W′)时,为使文件系统的性能最大化,需要对步骤S3中筛选出的k个关键参数进行调整。如果使用穷举法对k个关键参数的取值进行搜索,即穷举其各种排列组合的可能性,那么搜索空间将变得十分庞大。加上每尝试一种新的参数值组合,获取该参数值下文件系统的IOPS,以及比较各种参数值组合下IOPS的大小等步骤所需的时间,整个参数推荐和系统优化的过程将耗费大量人力和时间。因此,本发明为了减少搜索时间,使用负载匹配结合遗传算法搜索来推荐文件系统参数,具体流程如下所述:
第一步,已知新的应用负载的读取比例为W′,先在已有的形式为{Ck,W,P}的数据集中进行匹配,匹配前需要先对数据做归一化处理,再计算W′与已有数据集中W之间的距离(即第二距离),常用的距离计算方法有Euclidean距离或余弦相似度距离,其中余弦相似度距离对计算多维数据之间的相似度更加准确,而本发明仅仅计算读取比例W′与W之间的距离,属于一维数据之间的距离,因此使用Euclidean距离进行计算,其计算公式为其中,W代表数据集Datasetprocess中每条数据对应的读写比例;W′代表新的应用负载对应的读写比例;当找到与W′距离最近(即最相似)的数据后,取这些数据中P最大的情况下(记下性能为P′)对应的参数值(为{Ck′})作为候选参数值;
第二步,使用遗传算法(Genetic Algorithm,GA)搜索可能使文件系统性能最大化的k个重要参数对应的参数值。具体地,使用步骤S4DE文件系统预测模型M的预测输出作为GA算法的适应性函数,同时根据k个重要参数取值的约束(例如某些取值为离散型的参数只能取整数值等等),对GA的个体选择也做了相应的限制。使用GA算法可以快速地搜索到局部最优值,大大缩短搜索时间。当GA算法搜索结束后,将输出k个重要参数对应的参数值{Ck″}以及在这个参数值配置下使用性能预测模型预测的IOPS值(记为P″);
第三步,比较P′和P″的大小,确定具体使用哪一组推荐的参数值,如果P′>P″,则使用{Ck′},否则使用{Ck″}。
进一步作为优选的实施方式,还包括步骤S6:
对推荐参数进行优化探索,获取最优推荐参数;
根据优化探索的结果,对预测模型进行优化训练。
具体地,经过上述步骤S1-S5,本实施例已经为文件系统推荐了一组性能较佳的参数值组合(即为步骤S5中的{Ck′}或{Ck″},记为),根据这组参数值组合,本实施例将尝试探索是否可能使文件系统的性能进一步提升。为避免频繁的新参数推荐和适配对文件系统性能带来的负面影响,本实施例的探索过程将在一个名为“影子系统”的节点上进行。具体的探索过程为:
每次将中的一个参数的值修改为特殊值(包括默认值、最小值和最大值),并保持其他参数值不变,构成新的参数值组合如果使用时出现了更好的文件系统性能Pnew(大于预先设置阈值β),则将这组新的参数组合此时的应用负载读取比例W′以及对应的性能Pnew组成新的数据并加入到步骤S3中的最终数据集Datasetprocess中。接着开始下一次探索,重复上述过程,当一个参数的所有特殊值都被修改并使用过以后,则开始修改下一个参数。
如果在探索过程中,有新数据加入到Datasetprocess中,则返回执行步骤S4,重新训练文件系统的性能预测模型,并重新对文件系统参数进行调优。
另外,本发明实施例还提供了一个基于集群的系统部署与实施样板,其能够在公用云计算平台或者企业和机构内部网络中得到实现并使用。
具体地,如图2所示,两个类型的节点构成了整个系统:其中一个节点是部署了用户应用程序的“用户节点”;第二个节点是运行了相应的机器学习模型、算法和数据库的“管理控制节点”。其中,用户节点可以是虚拟机,也可以是PC机、大型机和移动终端等物理终端设备。并且,用户应用程序通过文件系统和底层的存储设备进行交互。如图2所示,本实施例给出了常见的Ext4,ZFS和BtrFS文件系统,也可以包括其他的文件系统,例如基于UNIX/Linux系统的XFS、F2FS、Ext3、Ext2、JFS、ReiserFS、UFS等,以及基于Windows系统的NTFS\FAT32\exFAT等,这些都属于本发明的适用范围。
本实施例的系统在投入使用之前,需要在“管理控制节点”,执行本发明的S1-S3,以获取收集和得到初始数据集。然后再执行步骤S4,用来训练文件系统的性能预测模型。之后,系统进入正式运行阶段。
首先,在“用户节点”,需要在块层(block-level)部署一个性能参数收集代理(Agent)组件。该组件将收集此用户节点在最近一段时间窗口内的读写混合比例,并通过网络或者高性能网络(例如RDMA和InfiniBand技术),将其传递至管理控制节点。在这里,时间窗口设置一般为10秒,但是可以根据实际需要进行调节:时间窗口越低则参数推荐性能越高,但是会对“管理控制节点”造成较高的压力。与此相反,时间窗口的值越高,则文件系统与负载之间的匹配速度就会变慢,但是会缓解后台“管理控制节点”的计算压力。时间窗口的值向上层直接导出可实时访问的接口,系统管理员可以根据具体的情况设定此窗口大小。
当“管理控制节点”收到上述信息后,会运行本发明的步骤S5,即:“负载匹配和参数推荐”,通过对本发明的步骤S2和S3,得到一组推荐的关键参数值。之后,“管理控制节点”通过网络或者高性能网络(例如RDMA和InfiniBand技术)将此关键参数值传递到对应的用户节点的Agent中。
Agent开始执行参数适配操作,目的是不仅要使新的参数值在对应的文件系统里生效,还需要让上层的应用程序的运行(包括可用性和性能)尽可能地不受到此新参数适配过程的影响,其具体流程如下:如果用户节点运行的是虚拟机(此技术在当前云计算环境中应用的非常普遍),则在另一物理节点上创建一空白虚拟机,并以推荐的参数挂载相同的文件系统,然后执行虚拟机实时迁移技术(VMLiveMigration),将此用户节点从源物理机迁移至新物理机,并重定向对应的外部链接至此新用户节点。
如果用户节点运行的是主机系统,则利用文件系统自动重启技术或者轻量级容器迁移技术(例如Docker),将新参数适配进用户节点,并发挥作用,以优化负载的文件系统性能。
之后,系统进入了本发明的步骤S6,即:探索性能更佳的参数值组合。此过程将不在经过了初步新参数适配的用户节点中进行,而是在一个名为“影子系统”的备份用户节点中进行实验。考虑到频繁的新参数推荐和适配对负载性能有负面影响,因此,该备份用户节点独立于正式的用户节点运行。一旦发现“影子系统”的新参数对应的性能比之前推荐的新参数对应的性能要高(需要超过一个预设的阈值),则执行前面所述的虚拟机实时迁移技术、轻量级容器迁移技术或者文件系统自动重启技术,将得到的较新较优参数再次推荐给正式的用户节点文件系统,并生效运行。
本发明实施例还提供了一种基于机器学习的文件系统参数自动调优系统,包括:
获取模块,用于获取文件系统的读写比例;
测试模块,用于对文件系统的参数进行修改,然后分别在不同读写比例下测试文件系统的负载的访问性能;
识别模块,用于根据测试得到的访问性能,识别文件系统的关键参数;
训练模块,用于根据文件系统的读写比例、访问性能以及关键参数,通过深度神经网络训练得到预测模型;
推荐模块,用于根据预测模型的输出值,通过负载匹配方法和遗传算法,获取文件系统的推荐参数。
本发明实施例还提供了一种基于机器学习的文件系统参数自动调优系统,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的基于机器学习的文件系统参数自动调优方法。
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
此外,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的基于机器学习的文件系统参数自动调优方法。
综上所述,本发明的基于机器学习的文件系统参数自动调优方法及系统的概括如下:
首先,在获取到实验数据集后,使用岭回归技术识别并筛选出影响文件系统性能的前k个重要参数,有效降低数据维度。
然后,使用应用负载的读取比例W以及筛选出的k个重要参数的参数值{Ck}作为特征,将在该场景下文件系统的IOPS作为预测目标,构建并训练文件系统的性能预测模型M,构建模型过程通过调整神经网络结构和参数,以达到较高的预测精度,并将训练完成的模型M作为参数推荐阶段遗传算法的适应性函数。
随后,为减少参数搜索和推荐时间,使用负载匹配加遗传算法搜索的方法,为文件系统初步推荐一组参数值。
最后,为了减少频繁的参数推荐和适配对文件系统性能造成的负面影响,在“影子系统”中,根据初步推荐的参数值,进一步探索可能使文件系统性能更佳的参数值组合,最大可能的为文件系统推荐更好的参数值组合。
相较于现有技术,本发明具有以下优点:
本发明能够适用于大部分文件系统的参数自动优化,与仅针对某一个特定的文件系统的优化方法相比,本发明适用性更广。本发明在对文件系统参数进行优化时,并不是对所有参数都进行优化,而是只考虑影响文件系统性能的前k个重要参数;构建和训练文件系统性能预测模型作为后续遗传算法的适应性函数;并使用负载匹配加遗传算法搜索的方法,减少搜索时间,为文件系统初步推荐一组参数值组合;加上在“影子系统”中对参数值进行进一步的探索,将可能获得性能更佳的参数值组合。通过本发明,文件系统总能在新的应用负载到来时自动对参数进行优化,并获得较好的性能。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.基于机器学习的文件系统参数自动调优方法,其特征在于:包括以下步骤:
获取文件系统的读写比例;
对文件系统的参数进行修改,然后分别在不同读写比例下测试文件系统的负载的访问性能;
根据测试得到的访问性能,识别文件系统的关键参数;
根据文件系统的读写比例、访问性能以及关键参数,通过深度神经网络训练得到预测模型;
根据预测模型的输出值,通过负载匹配方法和遗传算法,获取文件系统的推荐参数。
2.根据权利要求1所述的基于机器学习的文件系统参数自动调优方法,其特征在于:所述对文件系统的参数进行修改,然后分别在不同读写比例下测试文件系统的负载的访问性能这一步骤,包括以下步骤:
判断文件系统的参数的类型,其中,参数的类型包括离散型和连续型;若参数类型为离散型,则获取文件系统的所有参数值;若参数类型为连续型,则获取文件系统的默认参数值、最大参数值以及最小参数值;
根据获取的参数值,基于不同的读写比例生成不同类型的负载;
用不同类型的负载分别访问文件系统,得到访问性能的测试结果。
3.根据权利要求2所述的基于机器学习的文件系统参数自动调优方法,其特征在于:所述根据测试得到的访问性能,识别文件系统的关键参数这一步骤,包括以下步骤:
根据参数值、负载类型以及负载的访问性能,生成初始数据集;
对初始数据集进行剥离操作,得到最终数据集;
通过岭回归方法对最终数据集进行处理,得到参数的回归系数;
对参数的回归系数进行排序,选取设定个数的参数作为关键参数。
4.根据权利要求3所述的基于机器学习的文件系统参数自动调优方法,其特征在于:所述根据文件系统的读写比例、访问性能以及关键参数,通过深度神经网络训练得到预测模型这一步骤,包括以下步骤:
根据关键参数、所述关键参数对应的负载类型以及所述关键参数对应的访问性能,生成训练数据集;
将训练数据集划分为训练集和验证集;
将训练集中的关键参数及所述关键参数的负载类型输入深度神经网络;
通过深度神经网络输出文件系统的预测访问性能;
根据验证集,通过损失函数计算预测访问性能与实际访问性能的第一距离;
根据计算得到的第一距离,采用随机梯度下降法对参数进行实时更新。
5.根据权利要求1所述的基于机器学习的文件系统参数自动调优方法,其特征在于:所述根据预测模型的输出值,通过负载匹配方法和遗传算法,获取文件系统的推荐参数这一步骤,包括以下步骤:
根据文件系统的读写比例,通过负载匹配方法获取第一候选参数值;
根据第一候选参数值,通过预测模型获取第一输出值;
通过遗传算法生成新的文件系统的第二候选参数值;
根据第二候选参数值,通过预测模型获取第二输出值;
对第一输出值和第二输出值进行比较,确定文件系统的推荐参数。
6.根据权利要求5所述的基于机器学习的文件系统参数自动调优方法,其特征在于:所述根据文件系统的读写比例,通过负载匹配方法获取第一候选参数值这一步骤,包括以下步骤:
对文件系统的读写比例、访问性能以及关键参数进行归一化处理;
根据归一化处理的结果,计算新文件系统的读写比例与旧文件系统的读写比例之间的第二距离;
对计算得到的第二距离进行排序;
根据排序结果,确定候选参数值。
7.根据权利要求6所述的基于机器学习的文件系统参数自动调优方法,其特征在于:所述第二距离的计算方法为Euclidean距离计算方法。
8.根据权利要求1所述的基于机器学习的文件系统参数自动调优方法,其特征在于:还包括以下步骤:
对推荐参数进行优化探索,获取最优推荐参数;
根据优化探索的结果,对预测模型进行优化训练。
9.基于机器学习的文件系统参数自动调优系统,其特征在于:包括:
获取模块,用于获取文件系统的读写比例;
测试模块,用于对文件系统的参数进行修改,然后分别在不同读写比例下测试文件系统的负载的访问性能;
识别模块,用于根据测试得到的访问性能,识别文件系统的关键参数;
训练模块,用于根据文件系统的读写比例、访问性能以及关键参数,通过深度神经网络训练得到预测模型;
推荐模块,用于根据预测模型的输出值,通过负载匹配方法和遗传算法,获取文件系统的推荐参数。
10.基于机器学习的文件系统参数自动调优系统,其特征在于:包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-8中任一项所述的基于机器学习的文件系统参数自动调优方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811300046.XA CN109634924B (zh) | 2018-11-02 | 2018-11-02 | 基于机器学习的文件系统参数自动调优方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811300046.XA CN109634924B (zh) | 2018-11-02 | 2018-11-02 | 基于机器学习的文件系统参数自动调优方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109634924A true CN109634924A (zh) | 2019-04-16 |
CN109634924B CN109634924B (zh) | 2022-12-20 |
Family
ID=66067205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811300046.XA Active CN109634924B (zh) | 2018-11-02 | 2018-11-02 | 基于机器学习的文件系统参数自动调优方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634924B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134697A (zh) * | 2019-05-22 | 2019-08-16 | 南京大学 | 一种面向键值对存储引擎的参数自动调优方法、装置、系统 |
CN110825629A (zh) * | 2019-10-31 | 2020-02-21 | 深圳市商汤科技有限公司 | 参数调优方法及相关装置 |
CN111143143A (zh) * | 2019-12-26 | 2020-05-12 | 北京神州绿盟信息安全科技股份有限公司 | 一种性能测试方法及装置 |
CN111581178A (zh) * | 2020-05-12 | 2020-08-25 | 国网安徽省电力有限公司信息通信分公司 | 一种基于深度强化学习Ceph系统性能调优策略与系统 |
CN112015619A (zh) * | 2020-08-19 | 2020-12-01 | 浙江无极互联科技有限公司 | 通过参数调优筛选系统核心关键指标的方法 |
CN112015620A (zh) * | 2020-08-19 | 2020-12-01 | 浙江无极互联科技有限公司 | 一种自动调优网站服务端系统参数的方法 |
CN113127446A (zh) * | 2021-04-01 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种基于Ottertune服务的集群调优方法及装置 |
CN113704220A (zh) * | 2021-09-01 | 2021-11-26 | 内蒙古工业大学 | 一种基于LSTM和遗传算法的Ceph参数调优方法 |
CN114208126A (zh) * | 2019-07-19 | 2022-03-18 | 甲骨文国际公司 | 用于配置云存储软件设备的方法和装置 |
CN114385256A (zh) * | 2020-10-22 | 2022-04-22 | 华为云计算技术有限公司 | 系统参数的配置方法和配置装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778317A (en) * | 1996-05-13 | 1998-07-07 | Harris Corporation | Method for allocating channels in a radio network using a genetic algorithm |
US6442682B1 (en) * | 1999-02-18 | 2002-08-27 | Auspex Systems, Inc. | Characterization of data access using file system |
US20020156752A1 (en) * | 2001-04-18 | 2002-10-24 | Tsuyoshi Torii | Optimization system using genetic algorithm, control apparatus, optimization method, and program and storage Medium therefor |
CN1702758A (zh) * | 2004-05-28 | 2005-11-30 | 日立环球储存科技荷兰有限公司 | 嵌入有片上优化的读/写通道 |
CN103268204A (zh) * | 2013-06-08 | 2013-08-28 | 北京百度网讯科技有限公司 | 固态硬盘的调优方法及装置 |
US20130290223A1 (en) * | 2012-04-27 | 2013-10-31 | Yahoo! Inc. | Method and system for distributed machine learning |
CN104834479A (zh) * | 2015-04-24 | 2015-08-12 | 清华大学 | 面向云平台的自动优化存储系统配置的方法及系统 |
CN106020720A (zh) * | 2016-05-16 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种Smart Rack节点IO性能优化的方法 |
US20170078164A1 (en) * | 2015-09-14 | 2017-03-16 | International Business Machines Corporation | I/o stack modeling for problem diagnosis and optimization |
CN106648654A (zh) * | 2016-12-20 | 2017-05-10 | 深圳先进技术研究院 | 一种数据感知的Spark配置参数自动优化方法 |
CN108446340A (zh) * | 2018-03-02 | 2018-08-24 | 哈尔滨工业大学(威海) | 一种面向海量小文件的用户热点数据访问预测方法 |
-
2018
- 2018-11-02 CN CN201811300046.XA patent/CN109634924B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778317A (en) * | 1996-05-13 | 1998-07-07 | Harris Corporation | Method for allocating channels in a radio network using a genetic algorithm |
US6442682B1 (en) * | 1999-02-18 | 2002-08-27 | Auspex Systems, Inc. | Characterization of data access using file system |
US20020156752A1 (en) * | 2001-04-18 | 2002-10-24 | Tsuyoshi Torii | Optimization system using genetic algorithm, control apparatus, optimization method, and program and storage Medium therefor |
CN1702758A (zh) * | 2004-05-28 | 2005-11-30 | 日立环球储存科技荷兰有限公司 | 嵌入有片上优化的读/写通道 |
US20130290223A1 (en) * | 2012-04-27 | 2013-10-31 | Yahoo! Inc. | Method and system for distributed machine learning |
CN103268204A (zh) * | 2013-06-08 | 2013-08-28 | 北京百度网讯科技有限公司 | 固态硬盘的调优方法及装置 |
CN104834479A (zh) * | 2015-04-24 | 2015-08-12 | 清华大学 | 面向云平台的自动优化存储系统配置的方法及系统 |
US20170078164A1 (en) * | 2015-09-14 | 2017-03-16 | International Business Machines Corporation | I/o stack modeling for problem diagnosis and optimization |
CN106020720A (zh) * | 2016-05-16 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种Smart Rack节点IO性能优化的方法 |
CN106648654A (zh) * | 2016-12-20 | 2017-05-10 | 深圳先进技术研究院 | 一种数据感知的Spark配置参数自动优化方法 |
CN108446340A (zh) * | 2018-03-02 | 2018-08-24 | 哈尔滨工业大学(威海) | 一种面向海量小文件的用户热点数据访问预测方法 |
Non-Patent Citations (1)
Title |
---|
BEHZAD, BABAK ET AL.: "Taming parallel I/O complexity with auto-tuning", 《INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING,》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134697A (zh) * | 2019-05-22 | 2019-08-16 | 南京大学 | 一种面向键值对存储引擎的参数自动调优方法、装置、系统 |
CN114208126A (zh) * | 2019-07-19 | 2022-03-18 | 甲骨文国际公司 | 用于配置云存储软件设备的方法和装置 |
CN110825629A (zh) * | 2019-10-31 | 2020-02-21 | 深圳市商汤科技有限公司 | 参数调优方法及相关装置 |
CN111143143A (zh) * | 2019-12-26 | 2020-05-12 | 北京神州绿盟信息安全科技股份有限公司 | 一种性能测试方法及装置 |
CN111143143B (zh) * | 2019-12-26 | 2024-02-23 | 绿盟科技集团股份有限公司 | 一种性能测试方法及装置 |
CN111581178A (zh) * | 2020-05-12 | 2020-08-25 | 国网安徽省电力有限公司信息通信分公司 | 一种基于深度强化学习Ceph系统性能调优策略与系统 |
CN112015619A (zh) * | 2020-08-19 | 2020-12-01 | 浙江无极互联科技有限公司 | 通过参数调优筛选系统核心关键指标的方法 |
CN112015620A (zh) * | 2020-08-19 | 2020-12-01 | 浙江无极互联科技有限公司 | 一种自动调优网站服务端系统参数的方法 |
CN114385256A (zh) * | 2020-10-22 | 2022-04-22 | 华为云计算技术有限公司 | 系统参数的配置方法和配置装置 |
CN113127446A (zh) * | 2021-04-01 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种基于Ottertune服务的集群调优方法及装置 |
CN113704220A (zh) * | 2021-09-01 | 2021-11-26 | 内蒙古工业大学 | 一种基于LSTM和遗传算法的Ceph参数调优方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109634924B (zh) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634924A (zh) | 基于机器学习的文件系统参数自动调优方法及系统 | |
US10360517B2 (en) | Distributed hyperparameter tuning system for machine learning | |
US10452992B2 (en) | Interactive interfaces for machine learning model evaluations | |
CN109564568A (zh) | 分布式数据集索引 | |
US9811527B1 (en) | Methods and apparatus for database migration | |
US20020169652A1 (en) | Method and system for sample data selection to test and train predictive algorithms of customer behavior | |
US20030208284A1 (en) | Modular architecture for optimizing a configuration of a computer system | |
US20160162548A1 (en) | Query optimization with zone map selectivity modeling | |
Lin et al. | Website reorganization using an ant colony system | |
CN108804576A (zh) | 一种基于链接分析的域名层级结构探测方法 | |
Malik et al. | A Black-Box Approach to Query Cardinality Estimation. | |
US11681930B2 (en) | Method for configuring a matching component | |
Zhang et al. | CDBTune+: An efficient deep reinforcement learning-based automatic cloud database tuning system | |
Paludo Licks et al. | SmartIX: A database indexing agent based on reinforcement learning | |
Nin et al. | Speed up gradual rule mining from stream data! A B-Tree and OWA-based approach | |
CN106503047B (zh) | 一种基于卷积神经网络的图像爬虫优化方法 | |
WO2019209674A1 (en) | Systems and methods for designing data structures and synthesizing costs | |
CN115705322A (zh) | 一种数据库管理系统、数据处理方法及设备 | |
CN116830097A (zh) | 数据库区域地图的自动线性聚类推荐 | |
US9324036B1 (en) | Framework for calculating grouped optimization algorithms within a distributed data store | |
Wu et al. | Dynamic index construction with deep reinforcement learning | |
CN113762514B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
US11294906B2 (en) | Database record searching with multi-tier queries | |
Valavala et al. | Automatic database index tuning using machine learning | |
US11947535B2 (en) | Multicomputer system with machine learning engine for query optimization and dynamic data reorganization |
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 |