CN114356893A - 基于机器学习的元数据调优方法、装置、设备及存储介质 - Google Patents
基于机器学习的元数据调优方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114356893A CN114356893A CN202210028680.2A CN202210028680A CN114356893A CN 114356893 A CN114356893 A CN 114356893A CN 202210028680 A CN202210028680 A CN 202210028680A CN 114356893 A CN114356893 A CN 114356893A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- target configuration
- index data
- determining
- tuning
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于机器学习的元数据调优方法方法、装置、计算机设备和存储介质,方法包括:确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据;对于每个优化指标数据,确定用于调节优化指标数据的所有待选配置参数;基于待选配置参数对存储引擎的整体性能影响,自待选配置参数中,确定每个优化指标数据对应的目标配置参数;通过训练好的机器学习模型对目标配置参数进行优化调整,使存储引擎的性能达到优化指标数据。上述方法通过训练好的机器学习模型对存储引擎的各配置参数进行优化调整,以满足想要达到的优化指标数据,该调优过程无需人工干预、可自动调整元数据参数的方法和系统,以大大减少调优的人力成本。
Description
技术领域
本发明涉及人工智能技术领域,特别是涉及基于机器学习的元数据调优方法、装置、设备及存储介质。
背景技术
分布式存储系统中的数据包括数据(为便于和元数据进行区分,下面均称作用户数据)和元数据,其中,元数据可理解为描述数据的数据,或者说给数据贴的各种各样的标签,其目的是为了有效的管理数据,所以,元数据的性能对整体系统的性能起着至关重要的作用。
Ceph(为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统)底层通常使用RocksDB作为存储引擎,然而RocksDB配置参数很多,很多情况下只能通过反复测试或者依靠经验来调优,甚至连RocksDB的开发者都自嘲,他们没办法弄清楚每个参数调整对性能的影响。
对于分布式存储系统中的ceph底层存储引擎,在传统使用中我们一般是基于经验判断设置一参数,然后进行测试,再根据测试结果调整这些参数。这样的调整过程非常慢,且因为参数数量过多,基本无法实现全量覆盖。再者,底层参数与上层应用强耦合,往往上层应用的存储类型改变底层参数也需要调整,如此,进一步加大了参数调整的工作量。
发明内容
基于此,有必要针对在进行ceph底层参数调优时,技术人员需要反复设置和调整参数及测试,工作量大,调整过程非常慢且因为参数数量过多无法全量覆盖的问题,提供一种基于机器学习的元数据调优方法、装置、设备及存储介质。
本申请第一方面实施例提出了一种基于机器学习的元数据调优方法,所述方法包括:
确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据;
对于每个优化指标数据,确定用于调节所述优化指标数据的所有待选配置参数;
基于所述待选配置参数对存储引擎的整体性能影响,自所述待选配置参数中,确定每个优化指标数据对应的目标配置参数;
通过训练好的机器学习模型对所述目标配置参数进行优化调整,使所述存储引擎的性能达到所述优化指标数据。
在本申请的一些实施例中,所述对于每个优化指标数据,确定用于调节所述优化指标数据的所有待选配置参数,包括:
对于存储引擎的每个配置参数,确定其对存储引擎的单一性能影响;
对于每个优化指标数据,确定对其具有单一性能影响的所有待选配置参数。
在本申请的一些实施例中,所述机器学习模型包括参数分布估计模型和最优值估计模型;
通过训练好的机器学习模型对所述目标配置参数进行优化调整,包括:
通过参数分布估计模型估计各目标配置参数的分布情况;
基于各目标配置参数的分布情况,通过最优值估计模型,确定各目标配置参数的最优值。
在本申请的一些实施例中,所述参数分布估计模型基于高斯过程回归函数实现;
通过参数分布估计模型估计各目标配置参数的分布情况,包括:
通过高斯过程回归函数估计各目标配置参数的均值和标准差。
在本申请的一些实施例中,所述最优值估计模型基于采集函数实现,所述采集函数用于平衡探索和利用两个性质;
其中,探索的目的在于,根据目标配置参数的分布情况,在分布稀疏的未知区域重新取值;利用的目的在于,在分布集中的已知区域,选取最优值。
在本申请的一些实施例中,所述采集函数为置信区间上界,基于各目标配置参数的分布情况,通过最优值估计模型,确定各目标配置参数的最优值,包括:
基于各目标配置参数的分布情况,通过下面公式,求得使U(X)值最大的X的最优解,将所述最优解确定为各目标配置参数的最优值:
U(X)=m(X)+k*s(X)
其中,X表示目标配置参数;U(X)表示在目标配置参数X下的优化指标数据;k表示可调的系数,k>0;s(X)表示目标配置参数X的标准差。
在本申请的一些实施例中,所述方法还包括:
获取训练数据集;所述训练数据集包括历史优化指标数据和对应的目标配置参数的历史调优值;
根据所述训练数据集,对机器学习模型进行训练。
本申请第二方面的实施例提供了一种基于机器学习的元数据调优装置,所述装置包括:
指标确定模块,用于确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据;
参数确定模块,用于根据所述优化指标数据,确定需要优化的目标配置参数;
参数调优模块,用于通过训练好的机器学习模型对所述目标配置参数进行优化调整,使所述存储引擎的性能达到所述优化指标数据。
本申请第三方面的实施例提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如第一方面所述基于机器学习的元数据调优方法的步骤。
本申请第四方面的实施例提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如第一方面所述基于机器学习的元数据调优方法的步骤。
上述基于机器学习的元数据调优方法、装置、设备及存储介质,,至少具有如下技术效果或优点:
本申请实施例提供的基于机器学习的元数据调优方法,基于机器学习技术实现,可先确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据和所要调整的目标配置参数,然后通过训练好的机器学习模型对目标配置参数进行自动调优,使存储引擎的性能达到上述优化指标数据。该方法通过训练好的机器学习模型对存储引擎的各配置参数进行优化调整,以满足想要达到的优化指标数据,该调优过程无需人工干预、可自动调整元数据参数的方法和系统,以大大减少调优的人力成本;同时,还可在调优的过程中,发现一些人工想不到的信息,获得更全面的调优策略和更贴近应用的实际要求。另外,Ceph存储引擎作为一个复杂的系统,需要很多环节的取舍和平衡,才能使得总体运行效果达到最好,这需要对整个系统各个环节都有很深入的理解,而使用上述机器学习算法来做参数组合探索,能够贴合上层应用分析全部参数组合,从而起到很多意想不到的效果。
附图说明
图1示出了本申请实施例中提供的一种基于机器学习的元数据调优方法的流程示意图;
图2示出了本申请实施例中提供的另一种基于机器学习的元数据调优方法的流程示意图;
图3示出了本申请实施例中提供的基于机器学习的元数据调优装置的结构示意图;
图4示出了本申请一实施例所提供的一种计算机设备的结构示意图;
图5示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
下面结合附图来描述根据本申请实施例提出的一种基于机器学习的元数据调优方法、装置、设备及存储介质。
在分布式存储系统中的数据分为数据和元数据(Metadata),元数据又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能,元数据对整体系统的性能起着至关重要的作用。元数据也可以理解为一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。
目前,对元数据的调优过程,一般是基于经验判断设置一参数,然后进行测试,再根据测试结果调整这些参数。这样的调整过程非常慢,且因为参数数量过多,基本无法实现全量覆盖。再者,底层参数与上层应用强耦合,往往上层应用的存储类型改变底层参数也需要调整,如此,进一步加大了参数调整的工作量。
基于此,本申请实施例提供了一种基于机器学习的元数据调优方法,可应用于任意能够进行大数据处理的服务器或其他计算机设备,该服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。上述大数据处理可基于人工智能技术对相关的数据进行获取和处理,其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
本实施例提供的基于机器学习的元数据调优方法,基于机器学习技术实现,可先确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据和所要调整的目标配置参数,然后通过训练好的机器学习模型对目标配置参数进行自动调优,使存储引擎的性能达到上述优化指标数据。该方法通过训练好的机器学习模型对存储引擎的各配置参数进行优化调整,以满足想要达到的优化指标数据,该调优过程无需人工干预、可自动调整元数据参数的方法和系统,以大大减少调优的人力成本;同时,还可能在调优的过程中,发现一些人工想不到的信息,获得更全面的调优策略和更贴近应用的实际要求。
本实施例提供的元数据调优方法主要针对Ceph osd的元数据,Ceph是一个统一的分布式存储系统,其具有较好的可靠性和可扩展性。osd(object storage device),也就是负责响应客户端请求返回具体数据的进程,一个Ceph集群一般具有很多个osd。Ceph的核心功能包括高可靠、自动平衡、自动恢复和一致性,通过分布在多个节点上的副本来实现,以满足Ceph的高可用以及容错能力。在osd中的每个对象都有一个源数据以及多个副本,副本默认分布在不同的节点上,每个osd节点都能作为数据对象的源存储节点,同时也能作为其他数据对象的副本节点,副本osd节点受到源osd节点的控制。在磁盘故障时,Ceph osdDaemon(守护进程)的智能机制将协同其他osd执行恢复操作,此时,副本osd节点被提升为源节点,同时新的副本将重新生成,保证了Ceph的可靠性和一致性。
上述Ceph osd的元数据具体可以包括ceph底层使用的存储引擎相关配置参数,主要包括RocksDB配置参数,RocksDB是由Facebook基于LevelDB开发的一款提供键值存储与读写功能的LSM-tree架构引擎,用于存储预写式日志、数据对象元数据、Ceph的omap数据信息、以及分配器的元数据(分配器负责决定真正的数据应在什么地方存储)。下面以RocksDB配置参数相关的元数据进行调优的过程来详细说明本申请。
需要说明的是,本实施例虽针对上述Ceph osd的元数据进行创新设计,但并不仅限于此,其也可以适用于其它能够通过机器学习模型进行元数据调优的情况下,只要采用相应的数据对机器学习模型进行相应的训练即可。
本实施例在基于上述机器学习模型进行元数据调优之前,先对机器学习模型进行训练,以提高机器学习模型进行元数据调优的准确性。
在一实施方式中,上述训练机器学习模型的操作,具体可以包括以下步骤:
步骤A1,获取训练数据集。
其中,训练数据集包括历史优化指标数据和对应的目标配置参数的历史调优值。
服务器在运行过程中,可以对其RocksDB性能指标数据和各种RocksDB配置参数进行实时保存和更新。其中,RocksDB性能指标数据包括但不限于;吞吐量(throughput)、时延(latency)、磁盘空间占用量(store_size)及占用CPU比重(compaction_cpu compaction),通常,吞吐量调优的结果是越大越好,时延调优的结果是越小越好,磁盘空间占用量调优的结果是越小越好,占用CPU比重调优的结果是越小越好。具体可根据实际情况选择或根据接收到的指令确定需要调优的待优化指标。
RocksDB配置参数包括但不限于:磁盘块的尺寸(block-size)、压缩自动关闭项(disable-auto-compactions)、读写缓冲区的尺寸(write-buffer-size)、结构树底层总大小(max-bytes-for-level-base)、目标文件初始值(target-file-size-base)、每个密钥的布隆过滤器位数(bloom-filter-bits-per-key)、优化过滤器点击量(optimize-filters-for-hits)等。
可以将上述具体的RocksDB性能指标数据和该指标数据下对应的RocksDB配置参数作为数据组,每次更新可产生一组数据组,所有数据组可组成对应时间序列的序列集,该序列集可作为上述机器学习模型的训练数据集,该序列集中的每组数据组可作为训练数据集的样本数据组。
步骤A2,根据训练数据集,对机器学习模型进行训练。
从上述训练数据集中选取上述样本数据组,每个训练周期从训练数据集中获取的样本数据组的数目可以为多个。将样本数据组中的RocksDB性能指标数输入机器学习模型中,并输出对应的输出数据,然后将该输出数据与样本数据组中的RocksDB配置参数进行对比,并根据对比结果对机器学习模型的参数进行调整,然后再随机选取训练数据集中的样本数据组进行上述操作,直至输出数据与对应的样本数据组中的RocksDB配置参数相当。
上述机器学习模型可基于贝叶斯优化原理实现,先估计函数的分布情况,再基于该分布情况,确定最优值。相应地,机器学习模型可以包括参数分布估计模型和最优值估计模型;而通过训练好的机器学习模型对目标配置参数进行优化调整,亦可以包括:通过参数分布估计模型估计各目标配置参数的分布情况;基于各目标配置参数的分布情况,通过最优值估计模型,确定各目标配置参数的最优值。
对应地,对机器学习模型进行训练即对参数分布估计模型的训练和最优值估计模型的训练。可将样本数据组中的RocksDB性能指标数据先输入参数分布估计模型,并将参数分布估计模型输出的中间输出数据和样本数据组中的RocksDB性能指标数据,一并输入最优值估计模型中,得出最终输出数据,然后将该最终输出数据与样本数据组中的RocksDB配置参数进行对比,并根据对比结果对分布估计模型的训练和最优值估计模型的参数进行调整,然后再随机选取训练数据集中的样本数据组进行上述操作,直至最终输出数据与对应的样本数据组中的RocksDB配置参数相当。
具体地,上述参数分布估计模型基于高斯过程回归函数实现。相应地,通过参数分布估计模型估计各目标配置参数的分布情况,可以包括以下处理:通过高斯过程回归函数估计各目标配置参数的均值和标准差。
与神经网络之类的方法相比,高斯过程回归函数(Gaussian ProcessRegression,以下简称GP)属于无参数模型,其算法计算量相对较低,而且在训练样本很少的情况下表现比神经网络更好。具体地,GP可估计样本的分布情况,包括但不限于目标配置参数X的均值m(X)和标准差s(X)。下述最优值估计模型可根据目标配置参数X的分布情况,进一步确定其最优值。
上述最优值估计模型可基于采集函数实现,相应地,基于各目标配置参数的分布情况,通过最优值估计模型,确定各目标配置参数的最优值,可以包括以下处理:基于各目标配置参数的分布情况,通过下面公式(1),求得使U(X)值最大的X的最优解,将最优解确定为各目标配置参数的最优值:
U(X)=m(X)+k*s(X) (1)
其中,X表示目标配置参数;U(X)表示在目标配置参数X下的优化指标数据;k表示可调的系数,k>0;s(X)表示目标配置参数X的标准差。
本实施例通过采集函数(Acquisition Function)指导下一步的采样(也就是给出目标配置参数X的最优值),采集函数(Acquisition Function)的作用是:在寻找新的推荐值的时候,平衡探索(exploration)和利用(exploitation)两个性质,其中:exploration的目的在于,在目前数据量较少的未知区域探索新的点,即根据目标配置参数的分布情况,在分布稀疏的未知区域重新取值。exploitation的目的在于,对于数据量足够多的已知区域,利用这些数据训练模型进行估计,找出最优值,即在分布集中的已知区域,选取最优值。
在找出最优值的过程中,需要平衡上述两种指标。exploitation过多会导致结果陷入局部最优值,而exploration过多又会导致搜索效率太低。
GP可以估计目标配置参数X的均值m(X)和标准差s(X),其中均值m(x)可以作为exploitation的表征值,而标准差s(x)可以作为exploration的表征值。然后,可使用置信区间上界(Upper Confidence Bound)作为采集函数,通过上述公式(1),若U(X)大,则可能m(X)大,也可能s(X)大;若s(X)大,则说明X周围数据不多,需要探索未知区域新的点;若m(X)大,说明估计的Y值均值大,则需要利用已知数据找到效果好的点。上述系数k影响着探索和利用的比例,k越大,越鼓励探索新的区域。基于该探索原理,便可得到目标配置参数X的最优值,即上述(最终)输出结果。
通过上述方式训练得到上述训练好的机器学习模型后,如图1所示,通过以下步骤利用该机器学习模型来对ceph osd元数据进行调优,具体包括:
步骤S1,确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据。
该方法的执行主体可以是上述能够进行大数据处理的服务器,服务器可以根据服务器本身的硬件配置和需求,确定想要达到的性能优化指标数据,即上述吞吐量、时延、磁盘空间占用量及占用CPU比重的具体数值。
步骤S2,对于每个优化指标数据,确定用于调节所述优化指标数据的所有待选配置参数。
RocksDB配置参数众多,且对于RocksDB的各项配置参数而言,其具体配置数值,不仅会影响该单一配置参数的性能,还可能会影响RocksDB的性能。在实际应用中,可以通过对一个或多个配置参数的数值进行修改,以达到某个优化指标数据。具体可根据实际情况将优化指标数据与配置参数的对应关系设置在服务器中,当需要对RocksDB进行调优时,可快速准确地定位需要进行修改的配置参数。
相应地,上述步骤S2可以包括以下处理步骤:对于存储引擎的每个配置参数,确定其对存储引擎的单一性能影响;对于每个优化指标数据,确定对其具有单一性能影响的所有待选配置参数。
具体地,对于各项配置参数,其在RocksDB中的应用和预期行为(可以达到较好效果的预期行为)如表1所示。
表1 RocksDB的各配置参数及其预期行为和对应取值范围
具体地,RocksDB会将数据存放在data block里面,block-size用于设置这些block的大小,当需要访问某一个key的时候,RocksDB需要读取这个key所在的整个block。对于点查,更大的block会增加读放大影响性能,但是对于范围查询,更大的block能够更有效的利用磁盘带宽。
disable-auto-compactions定义是否关闭compaction(压缩),compaction会占用磁盘带宽,影响写入速度。但如果LSM(Log Structured Merge,日志结构合并)得不到compact,level0文件会产生累积,影响读性能,另外,本身compaction也是一个auto-tuning的方向。
write-buffer-size表示单个memtable的大小限制(最大值),理论上,更大的memtable会增加二分查找插入位置的消耗,但是试验发现这个选项对writeheavy影响并不明显。
max-bytes-for-level-base表示LSM tree里面level1的总大小,在数据量固定的情况下,这个值更大意味着其实LSM的层数更小,对读有利。
target-file-size-base表示,假设target-file-size-multiplier=1的情况下,每个SST文件的大小,这个值偏小的话意味着SST文件更多,会影响读性能。
bloom-filter-bits-per-key用于设置Bloom Filter的位数,对于读操作这一项越大越好。
optimize-filters-for-hits的参数为True时表示关闭LSM最底层的bloomfilter。这个选项主要是因为最底层的bloom filter总值比较大,比较占用block cache空间。如果已知查询的key一定在数据库中存在,则最底层bloom filter其实没有作用。
步骤S3,基于所述待选配置参数对存储引擎的整体性能影响,自所述待选配置参数中,确定每个优化指标数据对应的目标配置参数。
服务器在确定每个优化指标数据之后,可确定上述对其具有单一性能影响的所有待选配置参数,然后遍历每个待选配置参数对存储引擎的整体性能影响,尽量选取对单一性能影响较大,且对整体性能影响或其他性能具有正向影响或负向影响较小的待选配置参数作为目标配置参数。具体地,可基于每个待选配置参数对存储引擎的整体性能影响,按正向影响自大到小的顺序进行排序,然后将排在前面的预设数目个待选配置参数选为目标配置参数。
步骤S4,通过训练好的机器学习模型对目标配置参数进行优化调整,使存储引擎的性能达到优化指标数据。
服务器在确定了所要达到的优化指标和欲调整的目标配置参数之后,可将确定的优化指标数据和目标配置参数输入训练好的机器学习模型,便可输出能够使存储引擎的性能达到优化指标数据的目标配置参数的具体数据。具体过程可参照上述模型训练过程,在此不再赘述。
另外,服务器可实时对业务数据进行读写,并收集优化指标数据。然后将配置参数和对应的优化指标数据进行存储。
在实际应用中,不同业务场景下的优化指标数据不同,该元数据自动调优方法还可以进行业务数据读写,并收集对应的优化指标数据,然后将调整后的配置参数和对应的优化指标数据与相应的业务场景数据进行对应存储,以作为历史数据,可用于工艺追溯或机器学习模型的进一步训练等。
为了便于理解本申请实施例提供的方法,下面结合附图进行说明。如图2所示,服务器先选择对ceph底层存储引擎进行性能调优,所需要优化的指标数据(即优化指标数据),然后根据上述单个配置参数不同数值对单一配置和整体性能的影响,确定需要进行调整的目标配置参数,然后通过训练好的机器学习模型对目标配置参数进行优化调整,使存储引擎的性能达到优化指标数据。鉴于不同业务场景下的优化指标数据不同,该方法还可以进行业务数据读写,收集并储存上述优化指标数据和对应目标配置参数的数值,作为历史数据,用于工艺追溯或机器学习模型的进一步训练。
本实施例提供的基于机器学习的元数据调优方法,基于机器学习技术实现,可先确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据和所要调整的目标配置参数,然后通过训练好的机器学习模型对目标配置参数进行自动调优,使存储引擎的性能达到上述优化指标数据。该方法通过训练好的机器学习模型对存储引擎的各配置参数进行优化调整,以满足想要达到的优化指标数据,该调优过程无需人工干预、可自动调整元数据参数的方法和系统,以大大减少调优的人力成本;同时,还可在调优的过程中,发现一些人工想不到的信息,获得更全面的调优策略和更贴近应用的实际要求。另外,Ceph存储引擎作为一个复杂的系统,需要很多环节的取舍和平衡,才能使得总体运行效果达到最好,这需要对整个系统各个环节都有很深入的理解,而使用上述机器学习算法来做参数组合探索,能够贴合上层应用分析全部参数组合,从而起到很多意想不到的效果。
基于上述实施例相同的构思,本申请实施例还提供一种基于机器学习的元数据调优装置,如图3所示,装置包括:
指标确定模块,用于确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据;
待选参数确定模块,用于对于每个优化指标数据,确定用于调节所述优化指标数据的所有待选配置参数;
目标参数确定模块,用于基于所述待选配置参数对存储引擎的整体性能影响,自所述待选配置参数中,确定每个优化指标数据对应的目标配置参数;
参数调优模块,用于通过训练好的机器学习模型对目标配置参数进行优化调整,使存储引擎的性能达到优化指标数据。
在一些实施方式中,待选参数确定模块具体用于,对于存储引擎的每个配置参数,确定其对存储引擎的单一性能影响和整体性能影响;对于每个优化指标数据,确定对其具有单一性能影响的所有待选配置参数。
在一些实施方式中,机器学习模型包括参数分布估计模型和最优值估计模型;参数调优模块具体用于,通过参数分布估计模型估计各目标配置参数的分布情况;基于各目标配置参数的分布情况,通过最优值估计模型,确定各目标配置参数的最优值。
在一些实施方式中,参数分布估计模型基于高斯过程回归函数实现;参数调优模块具体用于,通过高斯过程回归函数估计各目标配置参数的均值和标准差。
在一些实施方式中,最优值估计模型基于采集函数实现,采集函数用于平衡探索和利用两个性质;其中,探索的目的在于,根据目标配置参数的分布情况,在分布稀疏的未知区域重新取值;利用的目的在于,在分布集中的已知区域,选取最优值。
在一些实施方式中,采集函数为置信区间上界,参数调优模块具体用于,基于各目标配置参数的分布情况,通过下面公式,求得使U(X)值最大的X的最优解,将最优解确定为各目标配置参数的最优值:
U(X)=m(X)+k*s(X)
其中,X表示目标配置参数;U(X)表示在目标配置参数X下的优化指标数据;k表示可调的系数,k>0;s(X)表示目标配置参数X的标准差。
在一些实施方式中,该装置还包括模型训练模块,模型训练模块用于,获取训练数据集;训练数据集包括历史优化指标数据和对应的目标配置参数的历史调优值;根据训练数据集,对机器学习模型进行训练。
本申请的上述实施例提供的图基于机器学习的元数据调优装置与本申请实施例提供的基于机器学习的元数据调优方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种计算机设备,以执行上述基于机器学习的元数据调优方法。请参考图4,其示出了本申请的一些实施方式所提供的一种计算机设备的示意图。如图4所示,计算机设备8包括:处理器800,存储器801,总线802和通信接口803,处理器800、通信接口803和存储器801通过总线802连接;存储器801中存储有可在处理器800上运行的计算机程序,处理器800运行计算机程序时执行本申请前述任一实施方式所提供的基于机器学习的元数据调优方法。
其中,存储器801可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口803(可以是有线或者无线)实现该装置网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线802可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器801用于存储程序,处理器800在接收到执行指令后,执行程序,前述本申请实施例任一实施方式揭示的基于机器学习的元数据调优方法可以应用于处理器800中,或者由处理器800实现。
处理器800可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器800中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器800可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器800读取存储器801中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的计算机设备与本申请实施例提供的基于机器学习的元数据调优方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的基于机器学习的元数据调优方法对应的计算机可读存储介质,请参考图5,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施方式所提供的基于机器学习的元数据调优方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的基于机器学习的元数据调优方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于机器学习的元数据调优方法,其特征在于,所述方法包括:
确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据;
对于每个优化指标数据,确定用于调节所述优化指标数据的所有待选配置参数;
基于所述待选配置参数对存储引擎的整体性能影响,自所述待选配置参数中,确定每个优化指标数据对应的目标配置参数;
通过训练好的机器学习模型对所述目标配置参数进行优化调整,使所述存储引擎的性能达到所述优化指标数据。
2.如权利要求1所述的基于机器学习的元数据调优方法,其特征在于,所述对于每个优化指标数据,确定用于调节所述优化指标数据的所有待选配置参数,包括:
对于存储引擎的每个配置参数,确定其对存储引擎的单一性能影响;
对于每个优化指标数据,确定对其具有单一性能影响的所有待选配置参数。
3.如权利要求1所述的基于机器学习的元数据调优方法,其特征在于,所述机器学习模型包括参数分布估计模型和最优值估计模型;
通过训练好的机器学习模型对所述目标配置参数进行优化调整,包括:
通过参数分布估计模型估计各目标配置参数的分布情况;
基于各目标配置参数的分布情况,通过最优值估计模型,确定各目标配置参数的最优值。
4.如权利要求3所述的基于机器学习的元数据调优方法,其特征在于,所述参数分布估计模型基于高斯过程回归函数实现;
通过参数分布估计模型估计各目标配置参数的分布情况,包括:
通过高斯过程回归函数估计各目标配置参数的均值和标准差。
5.如权利要求4所述的基于机器学习的元数据调优方法,其特征在于,所述最优值估计模型基于采集函数实现,所述采集函数用于平衡探索和利用两个性质;
其中,探索的目的在于,根据目标配置参数的分布情况,在分布稀疏的未知区域重新取值;利用的目的在于,在分布集中的已知区域,选取最优值。
6.如权利要求5所述的基于机器学习的元数据调优方法,其特征在于,所述采集函数为置信区间上界,基于各目标配置参数的分布情况,通过最优值估计模型,确定各目标配置参数的最优值,包括:
基于各目标配置参数的分布情况,通过下面公式,求得使U(X)值最大的X的最优解,将所述最优解确定为各目标配置参数的最优值:
U(X)=m(X)+k*s(X)
其中,X表示目标配置参数;U(X)表示在目标配置参数X下的优化指标数据;k表示可调的系数,k>0;s(X)表示目标配置参数X的标准差。
7.如权利要求1-6任一项所述的基于机器学习的元数据调优方法,其特征在于,所述方法还包括:
获取训练数据集;所述训练数据集包括历史优化指标数据和对应的目标配置参数的历史调优值;
根据所述训练数据集,对机器学习模型进行训练。
8.一种基于机器学习的元数据调优装置,其特征在于,所述装置包括:
指标确定模块,用于确定对ceph底层存储引擎进行性能调优所要达到的优化指标数据;
参数确定模块,用于根据所述优化指标数据,确定需要优化的目标配置参数;
参数调优模块,用于通过训练好的机器学习模型对所述目标配置参数进行优化调整,使所述存储引擎的性能达到所述优化指标数据。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述基于机器学习的元数据调优方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述基于机器学习的元数据调优方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028680.2A CN114356893A (zh) | 2022-01-11 | 2022-01-11 | 基于机器学习的元数据调优方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028680.2A CN114356893A (zh) | 2022-01-11 | 2022-01-11 | 基于机器学习的元数据调优方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356893A true CN114356893A (zh) | 2022-04-15 |
Family
ID=81108404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210028680.2A Pending CN114356893A (zh) | 2022-01-11 | 2022-01-11 | 基于机器学习的元数据调优方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356893A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115392592A (zh) * | 2022-10-25 | 2022-11-25 | 浪潮电子信息产业股份有限公司 | 一种存储产品参数配置推荐方法、装置、设备及介质 |
CN116701350A (zh) * | 2023-05-19 | 2023-09-05 | 阿里云计算有限公司 | 自动优化方法及训练方法、装置、电子设备 |
CN117494651A (zh) * | 2023-11-14 | 2024-02-02 | 合芯科技(苏州)有限公司 | 基于机器学习的sram位单元的优化设计方法、装置、介质及终端 |
CN117667901A (zh) * | 2023-12-25 | 2024-03-08 | 武汉达梦数据技术有限公司 | 一种ceph参数推荐方法、装置、设备及存储介质 |
CN117908902A (zh) * | 2024-03-12 | 2024-04-19 | 苏州元脑智能科技有限公司 | 性能优化方法、装置、计算机设备及存储介质 |
-
2022
- 2022-01-11 CN CN202210028680.2A patent/CN114356893A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115392592A (zh) * | 2022-10-25 | 2022-11-25 | 浪潮电子信息产业股份有限公司 | 一种存储产品参数配置推荐方法、装置、设备及介质 |
CN116701350A (zh) * | 2023-05-19 | 2023-09-05 | 阿里云计算有限公司 | 自动优化方法及训练方法、装置、电子设备 |
CN116701350B (zh) * | 2023-05-19 | 2024-03-29 | 阿里云计算有限公司 | 自动优化方法及训练方法、装置、电子设备 |
CN117494651A (zh) * | 2023-11-14 | 2024-02-02 | 合芯科技(苏州)有限公司 | 基于机器学习的sram位单元的优化设计方法、装置、介质及终端 |
CN117667901A (zh) * | 2023-12-25 | 2024-03-08 | 武汉达梦数据技术有限公司 | 一种ceph参数推荐方法、装置、设备及存储介质 |
CN117908902A (zh) * | 2024-03-12 | 2024-04-19 | 苏州元脑智能科技有限公司 | 性能优化方法、装置、计算机设备及存储介质 |
CN117908902B (zh) * | 2024-03-12 | 2024-06-07 | 苏州元脑智能科技有限公司 | 性能优化方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114356893A (zh) | 基于机器学习的元数据调优方法、装置、设备及存储介质 | |
CN107346326B (zh) | 用于信息检索的方法和系统 | |
US9449108B2 (en) | Determining sort order by distance | |
US20190303753A1 (en) | Insertion tolerant learned index structure through associated caches | |
US20210097044A1 (en) | Systems and methods for designing data structures and synthesizing costs | |
CN111125199B (zh) | 一种数据库访问方法、装置及电子设备 | |
CN114817232A (zh) | 访问数据的方法及装置 | |
CN112970011B (zh) | 记录查询优化中的谱系 | |
CN107220248B (zh) | 一种用于存储数据的方法和装置 | |
WO2024139703A1 (zh) | 对象识别模型的更新方法、装置、电子设备、存储介质及计算机程序产品 | |
CN114428776A (zh) | 一种面向时序数据的索引分区管理方法和系统 | |
US11934927B2 (en) | Handling system-characteristics drift in machine learning applications | |
CN111382179B (zh) | 数据处理方法、装置及电子设备 | |
CN112116081A (zh) | 一种深度学习网络的优化方法及装置 | |
CN107430633B (zh) | 用于数据存储的系统及方法和计算机可读介质 | |
US8660974B2 (en) | Inference over semantic network with some links omitted from indexes | |
CN116243869A (zh) | 数据处理方法、装置及电子设备 | |
CN115438061A (zh) | 一种客户标准地址数据库的更新方法及系统 | |
CN112699140B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN110968267B (zh) | 数据管理方法、装置、服务器及系统 | |
CN114547034A (zh) | 一种数据查询的方法、装置、设备及存储介质 | |
CN109710833B (zh) | 用于确定内容节点的方法与设备 | |
CN110781364A (zh) | 用于存储系统的实现人工智能的搜索 | |
CN118673048B (zh) | 一种基于分布式引擎实现数据检索的方法及系统 | |
WO2024160188A1 (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 |