发明专利技术涉及一种基于空间搜索的服务配置自动优化方法。首先,在给定配置约束条件下使用网格化采样的方法获取候选配置项;而后,对目标应用运行测试,收集与配置相应的性能结果,并通过效用函数将性能结果转换为标量性能度量;最后,使用递归有界搜索的方法搜索得到性能最优的配置。从而,在资源受限的情况下,对广泛的云应用及服务实现自动化的配置调优。泛的云应用及服务实现自动化的配置调优。泛的云应用及服务实现自动化的配置调优。
【技术实现步骤摘要】
一种基于空间搜索的服务配置自动优化方法
[0001]本专利技术涉及一种基于空间搜索的服务配置自动优化方法,属于软件
技术介绍
[0002]云服务的数量规模不断增加,类型呈现多样化,用户需要面对越来越多的配置参数。大量的配置参数导致配置的复杂性不断增加,给用户、开发人员和管理员带来了巨大压力,更容易出现配置错误,从而导致性能衰减。因此,为了挖掘服务的性能潜力,保证服务质量,用户需要通过配置优化找到合理的配置。然而,由于以下方面的问题,造成调整常规服务配置变得困难。首先,云服务具有多样性,包括数据分析服务、数据库服务、业务逻辑处理服务,在云计算环境下需要可以对各类服务进行各种部署与配置。同时,用户有关的性能目标可以是吞吐量,延迟,运行时间等,有些需要最大化,而有些则需要最小化。文献(Dana Van Aken, et al. 2017. Automatic Database Management System Tuning Through Large-scale Machine Learning. In Proceedings of the 2017 ACM International Conference on Management of Data. ACM, 1009
–
1024.)仅考虑数据库管理系统和响应延迟性能目标,但在云计算环境下,配置调优过程还必须考虑到应用程序的各种服务、性能目标和负载的各种组合。第二,云服务具有复杂性。给定不同的性能目标和不同的负载,对于给定的一组配置参数,已部署的服务会具有不同的性能表现,不同的服务可能具有复杂的性能表现。第三,配置云服务具有较高的操作开销。配置调优涉及解决高维参数空间的问题,通常需要大样本集,由于不存在用于常规服务的性能模拟器,只能通过对已部署服务进行测试来生成样本。文献(Yuqing Zhu, et al. 2017. ACTS in Need: Automatic Configuration Tuning with Scalability Guarantees. In Proceedings of the 8th SIGOPS Asia-Pacific Workshop on Systems. ACM.)使用少量仿真环境下获取的配置数据进行优化,但在云计算实际部署环境下,配置调优样本收集和优化过程具有较高的计算和时间开销。文献(Chunqiang Tang, et al. 2015. Holistic configuration management at Facebook. In Proceedings of the 25th Symposium on Operating Systems Principles. ACM, 328
–
343.)针对分布式应用系统提出了特定自动配置优化方法,但对于各种各样的云服务不具有通用性,并且难以解决以上在云计算环境下的挑战。尤其是,针对分布式系统提出了统计或机器学习模型,但是这些模型通常基于仿真环境开展研究,不适用于具有高维参数的复杂云计算环境,同时也很少考虑实际环境的计算开销。
技术实现思路
[0003]本专利技术的目的:为了满足用户对云应用及服务的性能优化需求,同时简化优化问题,在给定的资源限制内,自动查找能够在特定应用程序和负载的条件下,优化已部署系统性能的配置。
[0004]本专利技术的原理:资源限制是允许在调优过程中运行的测试数量,作为调优过程的输入提供。其他输入包括配置参数集及其下界/上界为配置约束。采用效用函数方法将多个
性能优化需求合并为最大化目标。调优过程处于闭环状态,可以在资源限制允许的任意多个循环中运行。输出是配置,具有给定资源限制内的最佳性能。
[0005]本专利技术技术解决方案:一种基于空间搜索的服务配置自动优化方法,其特点在于实现步骤如下:第一步,给定配置约束,根据资源限制生成许多配置,然后使用这些配置更新目标应用的配置。能够处理所有类型的参数,包括布尔型、枚举型和数值型。生成的样本必须覆盖广泛的参数空间范围。为了保证资源的可伸缩性,如果用户允许运行更多的调优测试,则采样方法还必须保证更好地覆盖整个参数空间。因此,采样方法生成的样本集必须满足以下三个条件:(1)该样本集在配置参数的高维空间上具有广泛的覆盖范围;(2)该集合足够小,可以满足资源限制并降低测试成本;(3)如果资源限制得到扩展,则该集合可以缩放以具有更大的覆盖范围。
[0006]为了保证对高维参数空间的广泛覆盖,本专利技术将空间划分为子空间,然后从每个子空间中随机选择一个点,每个子空间由一个样本表示。对于不进行子空间划分的随机抽样,很可能有某些子空间没有被表示出来,特别是当空间的维数很高的时候。给定n个参数,本专利技术可以将每个参数的范围划分为k个区间,并收集这些区间的组合,一共有kn个组合,因此有kn个子空间和样本。通过子空间划分,网格化保证了整个参数空间的完全覆盖。但它也产生了一个具有较大基数的样本集,该基数与参数维数呈指数关系。
[0007]本专利技术减少了要采样的子空间的数量。一个有影响的参数的值对性能的影响可以通过性能的比较来证明,而无需考虑其他参数的值。本专利技术不需要检查参数值与其他参数值的所有组合。相反,只需要检查一次每个参数中可能突出的那个值,并将得到的性能与其他样本进行比较。因此,在资源有限的情况下,只考虑一个参数的每个区间一次,而不是对所有的区间进行完整的组合。在将参数范围划分为k个区间之后,并没有对所有区间进行完全组合。相反,对每个参数的区间进行排列,然后对齐每个参数的区间排列并得到k个样本。对于给定的样本集大小,通过将每个参数代表的每个区间精确地表示一次来最大程度地分散样本点集。
[0008]由于配置调优过程处于闭环状态,因此可以运行多次采样。为了可伸缩性和覆盖率,不会通过重新划分整个空间来重新启动一个新的采样过程。相反,在需要重新采样的情况下,在尽可能分散采样点的同时,重用了之前对整个样本空间的初始化分以及子空间中未被考虑的样本点。虽然要求参数的连续范围,但是可以通过将类型转换为具有连续数值范围的参数来应用于布尔类型或范畴类型的参数。
[0009]第二步,对于每个配置,对目标应用运行测试,并收集相应的性能结果,然后通过效用函数将性能结果转换为标量性能度量。针对仅具有单个值的标量性能指标进行优化,此性能指标由一个效用函数定义,用户关注的性能目标作为输入。如果仅关注一个性能目标,例如吞吐量或等待时间,则效用函数就是标识函数。如果同时考虑多个性能目标,则可以将效用函数定义为加权求和。用户可以通过一个性能接口定义和实现自己的效用功能。
[0010]第三步,性能优化算法使用性能度量的所有样本对和相应的配置,找到性能最好的配置。如果资源限制允许进行更多的测试和采样,则优化算法将记录找到的配置,并为下一个调优循环输出一组新的配置约束。否则,调优过程将结束,输出迄今为止发现的性能最佳的配置。通过最大化效用函数定义的性能指标,用户可能具有需要最小化的性能目标,但
...
【技术保护点】
【技术特征摘要】
1.方法特征在于实现步骤如下:第一步,给定配置约束,根据资源限制生成许多配置,然后使用这些配置更新目标应用的配置,使用网格化抽样的方法获取候选配置项;第二步,对于每个配置,对目标应用运行测...
【专利技术属性】
技术研发人员:李扬,陈杉杉,张鼎,王晨程,秦和珂,
申请(专利权)人:神州数码信息系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。