当前位置: 首页 > 专利查询>安徽大学专利>正文

一种低代价的高维多目标软件配置参数调优方法及系统技术方案

技术编号:37569934 阅读:12 留言:0更新日期:2023-05-15 07:48
本发明专利技术属于计算机软件领域,具体涉及一种低代价的高维多目标软件配置参数调优方法、系统,以及对应的工具。该参数调优方法包括如下步骤:S1:识别当前优化目标对应的关键配置参数组;S2:对软件系统进行配置文件初始化;S3:对软件系统进行压力测试和性能评估;S4:基于帕累托前沿质量改进的多目标配置调优算法迭代生成新的配置方案;S5:循环执行步骤S2

【技术实现步骤摘要】
一种低代价的高维多目标软件配置参数调优方法及系统


[0001]本专利技术属于计算机软件领域,具体涉及一种低代价的高维多目标软件配置参数调优方法、系统,以及对应的工具。

技术介绍

[0002]随着网络基础设施的建设和互联网服务的普及,越来越多的软件系统被设计出来满足多样化的应用需求。在软件数量剧增的同时其应用范围也在不断拓宽,逐渐演化出了很多类别,如数据库软件、大数据软件、服务器软件等等。这些软件通常会被提供商封装起来,其内部的设计细节对于用户而言通常是黑盒化的。但是考虑到用户需求的多样化,现代软件系统服务商通常会为用户提供大量可调节的配置参数以应对不同的需求场景。用户可以按照服务商提供的指导手册对软件系统进行更新、配置和部署。
[0003]目前,市场上提供的大多数软件系统,如数据库、Web服务器、编译器等,都是高度可配置的,软件服务商通常也会提供大量的配置参数(如:Spark有200多个参数,HDFS中有高达500多个参数)以满足各种场景要求。其中大部分的配置参数都会对软件的功能属性和非功能属性产生影响。虽然这些配置参数使软件具备了很大的灵活性,有助于使软件系统可扩展、可移植,并实现良好的服务质量。但它们也给用户和开发人员带来了巨大的负担——配置空间的复杂性和配置参数之间复杂的约束关系不利于进行配置调节。而错误的配置通常会造成系统崩溃或输出不正确结果,也可能会导致严重的性能下降,从而导致用户体验差、响应时间长和系统吞吐量低等问题。这就要求软件系统用户为配置选择合适的参数取值,以确保软件的正常运行。
[0004]对于大多数复杂的软件系统而言,配置与性能之间的关系是复杂的,软件的相关文档中都没有或难以清楚地解释这些关系。即使有了清晰的文档,工作负载和系统之间过于复杂的交互也会使用户望而却步。显然为大量的配置参数选择合适的取值已经远远超出了普通系统用户的能力,这使得用户不得不接受默认配置。但是默认配置通常难以使软件在不同的负载下均已极高的性能运行,因此需要根据应用场景对配置参数进行优化,提升软件系统的服务质量。
[0005]在软件系统的配置优化工作中,评估每个候选配置的性能等属性表现通常需要执行大量的测试,但是由于缺乏可靠的环境模拟器,想要获取某一配置下软件系统的运行时属性只能通过实际评估。对于大规模的系统和复杂的参数空间,评估每个候选配置的代价可能会非常昂贵,甚至无法承受。此外在多目标优化场景中,除了配置评估代价,多目标算法自身的计算代价也是不可忽视的。如在多目标领域中广泛使用的NSGAII算法,其拥挤度和非支配排序计算较为复杂,计算成本随目标数量和空间维度的增加呈指数增长。这些因素可能会导致配置优化方法在实际应用中无法推广。因此,在软件系统的配置优化工作中除了推荐配置的质量外,在线配置自动调优方法还应该关注其总调优成本,以保证方法的可行性和有效性。
[0006]在实际的运行时场景中,软件系统的服务质量取决于多个运行时属性,这些属性
与配置参数之间的映射关系是复杂且不可知的,简单的优化单一目标往往难以真正的满足实际的生产需求,无法更全面、综合地将软件系统的潜力挖掘出来。因此,面向可配置软件系统的配置优化工作不能简单地考虑单个目标,而是应该根据实际中用户的多样化需求进行多个目标的联合优化。但是,现有的各类软件配置参数优化方法均无法在高维配置空间中的多目标优化问题中取得很好的优化效果;也很少考虑软件参数与资源参数的协同优化。

技术实现思路

[0007]为了解决现有配置优化方案忽视软件参数与资源参数的协同优化,且在高维配置空间中的配置优化效果不佳、开销过大等问题,本专利技术提供一种低代价的高维多目标软件配置参数调优方法、系统,以及对应的工具。
[0008]本专利技术采用以下技术方案实现:
[0009]一种低代价的高维多目标软件配置参数调优方法,其用于针对可配置软件中大量的可配置参数,确定满足多重优化目标的推荐配置。本专利技术提供的低代价的高维多目标软件配置参数调优方法包括如下步骤:
[0010]S1:利用多目标重要性参数识别方法识别出当前优化目标对应的关键配置参数组。
[0011]S2:在待优化的软件系统初次启动前进行配置文件初始化,并在获取新的配置方案后更新配置文件。
[0012]S3:创建软件系统在当前多目标优化场景下的测试方案与测试环境,并进行评估测试:
[0013]S31:按照配置文件启动软件并利用压力测试工具对软件系统进行压力测试;根据测试结果评估优化后的软件系统的各项性能。
[0014]S32:获取配置方案部署后的性能评估结果,将推荐点加入到历史数据集中,并根据新的配置方案及其对应目标的评估结果更新各个目标的替代模型。
[0015]S4:基于帕累托前沿质量改进的多目标配置调优算法迭代生成新的配置方案;新的配置方案用于对软件系统的配置文件进行更新,并重新进行压力测试。其中,配置方案的迭代更新过程如下:
[0016]S41:根据软件服务商的指导手册确定各个配置参数的可选范围,并随机生成关键配置参数组的若干个配置点,构成所需的初始化数据集。初始化数据集中还包括每个配置点对应的有待测试的各目标评估结果。
[0017]S42:基于现有的初始化数据集,为每个优化目标构建一个初始替代模型,并使用非支配排序计算出当前的帕累托前沿。
[0018]S43:基于历史数据集生成伪数据点,并使用历史数据集和伪数据点共同更新本轮替代模型,之后基于每个优化目标的替代模型,使用采集函数为各个目标推荐候选配置点。
[0019]S44:计算各候选配置点对于当前帕累托前沿的改进度,并推荐改进度最大的点为下一轮的待评估点。
[0020]S5:循环执行步骤S2

S4,直到多目标配置调优算法的迭代次数达到预设值或优化后的软件系统的各项性能满足优化目标时,输出对应的最佳配置参数作为所需的推荐配
置。
[0021]作为本专利技术进一步的改进,步骤S1中,关键配置参数组的识别方法如下:
[0022]S11:针对不同的优化目标,分别采用单目标参数重要性排序生成一个表征参数影响权重的影响力序列,然后利用影响力序列生成对应的决策向量。
[0023]S12:考虑不同配置参数与各个优化目标间的关联性,构建多目标优化条件下的目标函数。
[0024]S13:针对软件各项性能的多重优化目标生成优化过程的约束。
[0025]S14:基于软件服务商提供的指导手册中的配置参数信息,确定优化过程的决策空间。
[0026]S15:利用决策向量、目标函数、约束和决策空间建立求解当前优化问题中关键配置参数的数学模型,并求解出多目标优化过程中综合影响程度最高的一组配置参数;即为所需的关键配置参数组。
[0027]作为本专利技术进一步的改进,识别出的关键配置参数组的来源既包括软件系统本身的配置参数,也包括底层执行环境中的可配置参数。
[0028]作为本专利技术进一步的改进,在步骤S2中配置文件的初始化阶段,对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种低代价的高维多目标软件配置参数调优方法,其特征在于,其用于针对可配置软件中大量的可配置参数,确定满足多重优化目标的推荐配置;所述低代价的高维多目标软件配置参数调优方法包括如下步骤:S1:利用多目标重要性参数识别方法识别出当前优化目标对应的关键配置参数组;S2:在待优化的软件系统初次启动前进行配置文件初始化,并在获取新的配置方案后更新配置文件;S3:创建软件系统在当前多目标优化场景下的测试方案与测试环境,并进行评估测试:S31:按照配置文件启动软件并利用压力测试工具对软件系统进行压力测试;根据测试结果评估优化后的软件系统的各项性能;S32:获取配置方案部署后的性能评估结果,将推荐点加入到历史数据集中,并根据新的配置方案及其对应目标的评估结果更新各个目标的替代模型;S4:基于帕累托前沿质量改进的多目标配置调优算法迭代生成新的配置方案;新的配置方案用于对软件系统的配置文件进行更新,并重新进行压力测试;其中,配置方案的迭代更新过程如下:S41:根据软件服务商的指导手册确定各个配置参数的可选范围,并随机生成关键配置参数组的若干个配置点,构成所需的初始化数据集;所述初始化数据集中还包括每个配置点对应的有待测试的各目标评估结果;S42:基于现有的初始化数据集,为每个优化目标构建一个初始替代模型,并使用非支配排序计算出当前的帕累托前沿;S43:基于历史数据集生成伪数据点,并使用历史数据集和伪数据点共同更新本轮替代模型,之后基于每个优化目标的替代模型,使用采集函数为各个目标推荐候选配置点;S44:计算各候选配置点对于当前帕累托前沿的改进度,并推荐改进度最大的点为下一轮的待评估点;S5:循环执行步骤S2

S4,直到多目标配置调优算法的迭代次数达到预设值或优化后的软件系统的各项性能满足优化目标时,输出对应的最佳配置参数作为所需的推荐配置。2.如权利要求1所述的低代价的高维多目标软件配置参数调优方法,其特征在于:步骤S1中,关键配置参数组的识别方法如下:S11:针对不同的优化目标,分别采用单目标参数重要性排序生成一个表征参数影响权重的影响力序列,然后利用影响力序列生成对应的决策向量;S12:考虑不同配置参数与各个优化目标间的关联性,构建多目标优化条件下的目标函数;S13:针对软件各项性能的多重优化目标生成优化过程的约束;S14:基于软件服务商提供的指导手册中的配置参数信息,确定优化过程的决策空间;S15:利用决策向量、目标函数、约束和决策空间建立求解当前优化问题中关键配置参数的数学模型,并求解出多目标优化过程中综合影响程度最高的一组配置参数;即为所需的关键配置参数组。3.如权利要求2所述的低代价的高维多目标软件配置参数调优方法,其特征在于:识别出的关键配置参数组的来源既包括软件系统本身的配置参数,也包括底层执行环境中的可配置参数。
4.如权利要求1所述的低代价的高维多目标软件配置参数调优方法,其特征在于:在步骤S2中配置文件的初始化阶段,对于不同的配置参数采用不同的初始化策略:其中,对于关键配置参数组中的配置参数,根据软件服务商提供的参数可选范围随机生成;其余参数则选择采用软件服务商的默认配置。5.如权利要求4所述的低...

【专利技术属性】
技术研发人员:窦晖魏兴朱珊珊张以文王豫茜
申请(专利权)人:安徽大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1