CN116244076B - 一种面向云环境流处理任务的资源成本优化方法及系统 - Google Patents
一种面向云环境流处理任务的资源成本优化方法及系统 Download PDFInfo
- Publication number
- CN116244076B CN116244076B CN202310103929.6A CN202310103929A CN116244076B CN 116244076 B CN116244076 B CN 116244076B CN 202310103929 A CN202310103929 A CN 202310103929A CN 116244076 B CN116244076 B CN 116244076B
- Authority
- CN
- China
- Prior art keywords
- configuration
- stream processing
- performance
- parameter
- data
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 119
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000005457 optimization Methods 0.000 title claims abstract description 72
- 230000008569 process Effects 0.000 claims abstract description 31
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 23
- 238000005259 measurement Methods 0.000 claims abstract description 13
- 230000007246 mechanism Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 18
- 238000011056 performance test Methods 0.000 claims description 12
- 230000006872 improvement Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 8
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 7
- 238000004220 aggregation Methods 0.000 claims description 6
- 230000002776 aggregation Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 230000002708 enhancing effect Effects 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 3
- 238000005429 filling process Methods 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 claims 1
- 238000007405 data analysis Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241001302198 Lynceus Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- 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)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
发明属于大数据领域,具体涉及一种面向云环境流处理任务的资源成本优化方法、系统、工具。该方法包括如下步骤:S1:构建基准性能测试工具。S2:构建云端控制器。S3:基于改进高维贝叶斯优化算法构建调优模型。S4:通过调优模型求解出实时处理系统的最佳配置。求解过程包含如下步骤:S41:初始化参数配置空间和超参数组合概率空间。S42:初始化观察集。S43:预设最大迭代轮次,并循环执行迭代求解过程。S44:将观察集中的最佳配置,输出作为所需的推荐配置。本发明提供的资源成本优化系统包括:基准性能测量模块、云端控制器和调优模型。本发明解决了现有配置优化方案无法有效应对流处理任务中的云配置和软件性能配置的协同调优场景的问题。
Description
技术领域
本发明属于大数据领域,具体涉及一种面向云环境流处理任务的资源成本优化方法、系统、工具。
背景技术
随着云计算技术的兴起和快速发展,很多企业为了降低管理成本会将大数据分析任务部署到云环境上执行。大数据分析任务通常分为两种:批处理和流处理任务。为了支持各种类型的大数据分析任务,许多大数据应用系统(MapReduce、Spark和Flink)应运而生。不同的大数据分析任务有着不同的行为和资源需求(CPU、内存和网络),这些任务需要在部署着不同规模虚拟机集群的大数据应用系统上运行。为了适应不同的工作负载,云服务提供商(Amazon,Google,and Azure)给用户提供了多达100种规格的虚拟机,从而导致用户很难为大数据分析任务正确选择虚拟机规格和规模(即云配置)。大数据分析任务通常在相同大小的数据集上周期性运作,合理的云配置能给用户带来高服务质量和低成本效益,因此,如何为大数据分析任务选择一个合理的云配置是一个十分有意义的研究问题。
早期的一些研究通常只聚焦于单独优化大数据分析任务的云配置或应用自身配置,并没有考虑到其云配置和应用自身配置之间的依赖关系。比如,CherryPick和BO4CO使用基于贝叶斯优化的方法分别对单一数据应用系统集群的云配置和应用自身配置进行调优,而Lynceus只针对AI模型训练任务的云配置,及其网络参数进行调优。这些研究方法的不足之处在于仅作用于低维配置空间优化问题。
流处理分析任务运行时所处的实时处理系统,是由多个相互依赖的应用软件组成(比如Kafka+Flink架构),同时应用软件自身携带一些与虚拟机硬件资源(CPU、内存和网络)紧密相关的参数,这些参数控制着硬件资源的使用。因此,对云配置和应用软件配置依次进行独立的调优效果不佳,需要对实时处理系统中的云配置和软件性能配置进行协同调优。此外,实时处理系统中每个应用系统的云配置和应用配置参数共同构成一个高维配置空间,这加大了找到一个最优配置的搜索难度和成本。在最近的研究中,Vanir对由多个应用系统组成的分析集群的云配置进行自动调优,但Vanir的离线优化器仅局限于对云配置进行自动调优,无法应对应用配置参数和性能之间的复杂关系。
发明内容
为了解决现有配置优化方案无法有效应对流处理任务中的云配置和软件性能配置的协同调优场景,在高维配置空间中的配置优化效果不佳的问题,本发明提供一种面向云环境流处理任务的资源成本优化方法、系统和工具。
本发明采用以下技术方案实现:
本发明提出了一种面向云环境流处理任务的资源成本优化方法,该资源成本优化方法包括如下步骤:
S1:构建用于评测不同大数据应用系统性能的基准性能测试工具;基准性能测试工具包括负载生成器和度量指标收集器。
S2:构建用于给流处理任务提供执行环境的云端控制器。
S3:基于改进高维贝叶斯优化算法构建调优模型;调优模型将高斯模型作为基础模型,同时,选择引入Dropout机制对高维的配置空间进行降维;并引入伪点机制增强高斯模型,最后利用超参数可感知机制适配算法的超参数。S4:通过调优模型求解出实时处理系统的最佳配置。调优模型获取最佳配置的过程包含如下步骤:
S41:初始化参数配置空间X1和超参数组合概率空间P1。
S42:初始化观察集:观察集中包含用于挑选出最优超参数组合的所有初始化超参数。
S43:预设最大迭代轮次,并循环执行如下的迭代求解过程,直到达到最大迭代轮次:
S431:根据超参数概率空间P1生成新的超参数填充策略dropout_fill、伪点数目L和伪点距离dist,并更新到算法中,使用贝叶斯优化算法求解,通过最大化采集函数分别求解下一轮的配置参数。
S432:在云端控制器中根据填充策略形成新的配置,然后通过基准性能测试工具进行性能压力测试,观察其性能并存储到MySQL中。
S433:更新超参数组合概率空间P1和对应的观察集。
S44:从更新后的观察集中选择出最佳配置,输出作为所需的推荐配置。
作为本发明进一步的改进,在步骤S1构建的基准性能测试工具中,负载生成器用于生成大数据应用系统不同操作行为的工作负载,并通过窗口聚合、状态运算、重分配和读写功能的组合来满足不同业务场景的需求。度量指标收集器用于收集大数据应用系统在执行流处理任务时的性能指标,包括:吞吐量、最大延迟、平均延迟、最小延迟以及P99延迟。
作为本发明进一步的改进,基准性能测试工具执行性能压力测试的过程如下:
(1)用户指定所执行工作负载的名称,并采集与数据输入速率相关的三个参数的值,包括:每个时间间隔生成的记录数recordsPerInterval、生产者线程数producerNumber和时间间隔单位intervalSpan。然后通过下式计算出数据输入速率sp:
sp=(recordsPerInterval*1000*producerNumber)/intervalSpan。
(2)数据生成器生成一条数据流,数据流通过Kafka生产者写入到Kafka集群的一个topic A中,同时数据流中每条数据都包含一个数据生产时间戳。
(3)流处理任务通过Kafka消费者从topic A拉取数据消费,然后对每条数据进行逻辑计算,计算完成的每条数据会被添加一个数据处理时间戳,最后将数据存储到一个topic B中。
(4)度量指标收集器对指定时间段topic B中的数据进行聚合计算,根据数据处理时间戳和数据生产时间戳的间隔时间,计算出反映该时间段中流处理任务执行情况的性能指标。
作为本发明进一步的改进,步骤S2中,云端控制器生成流处理任务所需的执行环境的过程包括如下步骤:
(1)使用Open API创建指定规模的虚拟机集群。
(2)使用Ansible工具将实时处理系统中的每个应用软件自动部署在虚拟机集群中,然后根据数据流动顺序依次启动实时处理系统中的每个应用软件。
作为本发明进一步的改进,步骤S3中,利用伪点机制增强高斯模型的策略如下:首先,给观察集中的每条数据生成L个伪点;将配置设为欧式距离小于等于dist,性能设置为相同;然后,将生成的伪点与观察集合并为一个新的数据集;最后,利用其重新建立高斯模型,并计算均值和方差。
作为本发明进一步的改进,步骤S41中,参数配置空间和超参数组合概率空间的初始化过程如下:
(1)实时处理系统由多个应用软件组成,每个应用软件的云配置和应用软件配置总和为Di,整个配置空间一共包含D=Di+...+DF个配置参数,因此参数配置空间X1如下:
(2)调优模型中包含填充策略dropout_fill、伪点距离dist和个数L三个超参数,预设每个超参数的取值范围,超参数组合空间为:
相应地,超参数组合概率空间为P1=O。
作为本发明进一步的改进,步骤S42中,观察集的更新过程如下:
首先,使用Ansible将默认配置更新到云端控制器中;然后,由云端控制器根据当前配置创建虚拟机集群,部署系统中的每个软件,将软件应用配置依次更新到相应的软件中;接着,使用基准性能测试工具Hibench进行压力测试并获得性能指标;最后,将配置、性能的键值对存储到MySQL中,并更新到观察集中。
作为本发明进一步的改进,步骤S43中,贝叶斯优化算法迭代求解各轮次的配置参数的过程如下:
(1)选择高斯过程作为概率代理模型;每轮迭代过程中从D维参数中随机选择d维参数;d<D;
(2)将期望改进函数EI作为采集函数;每次选择d维参数,通过如下的最大化采集函数来求解出下一个配置的参数信息:
xd=argmaxfacq(xd|DSt);
(3)对于剩下的D-d维参数xD-d,通过超参数填充策略dropout_fill进行填充;填充过程中随机生成一些配置,配置的取值符合高斯分布;选择观察集中目前最好的配置,复制其对应的D-d维参数;然后合并成新的配置:
xD=xD-d∪xd;
(4)观察新配置的性能指标f(x),将[x,Score(f(x))]存储到MySQL中;并根据[x,Score(f(x))]和[xbest,Score(f(xbest))]更新概率空间P1和观察集;其中,Score函数表达式如下:
上式中,Lt是目标延迟;Lr是真实延迟;Tt是数据输入速率,Tr是吞吐量,而C(x)是系统中的云资源管理成本,f(x)则是性能指标。本发明还包括一种面向云环境流处理任务的资源成本优化系统,其采用如前述的面向云环境流处理任务的资源成本优化方法,对云计算环境下的流处理任务的配置参数进行优化调整;进而输出一个可以满足性能约束条件,且能够最小化实时处理系统中资源成本开销的最佳配置方案。该资源成本优化系统包括:基准性能测量模块、云端控制器和调优模型。
其中,基准性能测量模块包括负载生成器和度量指标收集器。负载生成器用于生成大数据应用系统不同操作行为的工作负载,并适配不同业务场景的负载需求。度量指标收集器用于收集大数据应用系统在执行流处理任务时的性能指标。云端控制器用于给流处理任务提供执行环境。
调优模型基于改进高维贝叶斯优化算法设计;调优模型将高斯模型作为基础模型,并引入Dropout机制对高维的配置空间进行降维;同时引入自适应伪点机制增强高斯模型。调优模型用于通过迭代求解的方式在云端控制器中模拟流处理任务的执行过程,并通过基准性能测量模块采集实时处理系统的性能指标;最终获取能够同时满足实时处理系统性能最大化和资源最小化的最佳配置方案。
本发明还包括一种面向云环境流处理任务的资源成本优化工具,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序。处理器执行计算机程序时,实现如前述的面向云环境流处理任务的资源成本优化方法的步骤,进而生成实时处理系统在执行流处理任务时的最佳配置方案。
本发明提供的技术方案,具有如下有益效果:
本发明提供的面向云环境流处理任务的资源成本优化方法主要依赖一个全新设计的调优模型实现。配置优化过程由云端控制器在虚拟机集群对流处理任务的负载进行模拟,然后由基准性能测试工具对实时处理系统的性能指标进行测试。同时通过调优模型对实时处理系统的云配置进行动态更新,从而确定系统的最佳配置。
特别地,针对现有配置优化方案的不足,本发明设计的调控模型是在贝叶斯优化算法的基础上,先引入Dropout机制对高维配置空间进行降维,然后采用伪点机制对配置参数和性能的关系模型进行增强。该调优模型在高维配置空间优化中可以发挥更突出的性能,满足了多个应用系统组成的分析集群的云配置自动调优需求,能够有效应对应用配置参数和性能之间的复杂关系。最终实现在整个配置空间中,找到一个满足用户要求的流处理任务性能约束,同时保证资源成本的开销最低的配置。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1中提供的面向云环境流处理任务的资源成本优化方法的步骤流程图。
图2为本发明实施例1中基准性能测试工具执行性能压力测试过程的步骤流程图。
图3为本发明实施例1中调优模型获取最佳配置的过程的步骤流程图。
图4为性能测试阶段本发明实施例1中方法与现有的CherryPick方案的实验结果对比图。
图5为性能测试阶段本发明实施例1中方法与现有的Lycenus方案的实验结果对比图。
图6为本发明实施例2中提供的面向流处理任务的资源本优化系统的系统架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
本实施例提供一种面向云环境流处理任务的资源成本优化方法,该方法用于在整个配置空间中,找到一个满足用户要求的流处理任务性能约束,同时保证资源成本的开销最低的配置。如图1所示,本实施例提供的面向云环境流处理任务的资源成本优化方法包括如下步骤:
S1:构建用于评测不同大数据应用系统性能的基准性能测试工具。
具体地,本实施例中采用的是大数据基准测试工具HiBench;HiBench由负载生成器和度量指标收集器两部分构成。其中,负载生成器用于生成大数据应用系统不同操作行为的工作负载,并通过窗口聚合(FixWindow)、状态运算(WordCount)、重分配(Repartition)和读写(Identity)功能的组合来满足不同业务场景的需求。度量指标收集器用于收集大数据应用系统在执行流处理任务时的性能指标,包括:吞吐量、最大延迟、平均延迟、最小延迟以及P99延迟。
如图2所示,本实施例中的基准性能测试工具HiBench执行性能压力测试的过程如下:
(1)用户指定所执行工作负载的名称,并采集与数据输入速率相关的三个参数的值,包括:每个时间间隔生成的记录数recordsPerInterval、生产者线程数producerNumber和时间间隔单位intervalSpan。然后通过下式计算出数据输入速率sp:
sp=(recordsPerInterval*1000*producerNumber)/intervalSpan。
(2)数据生成器生成一条数据流,数据流通过Kafka生产者写入到Kafka集群的一个topic A中,同时数据流中每条数据都包含一个数据生产时间戳。
(3)流处理任务通过Kafka消费者从topic A拉取数据消费,然后对每条数据进行逻辑计算,计算完成的每条数据会被添加一个数据处理时间戳,最后将数据存储到一个topic B中。
(4)度量指标收集器对指定时间段topic B中的数据进行聚合计算,根据数据处理时间戳和数据生产时间戳的间隔时间,计算出反映该时间段中流处理任务执行情况的性能指标。
S2:构建用于给流处理任务提供执行环境的云端控制器。云端控制器生成流处理任务所需的执行环境的过程比较简单,包括如下的两个步骤:
(1)使用Open API创建指定规模的虚拟机集群。具体地,本实施例中使用的是阿里云中的Open API完成虚拟机集群的创建。
(2)使用Ansible工具将实时处理系统中的每个应用软件自动部署在虚拟机集群中,然后根据数据流动顺序依次启动实时处理系统中的每个应用软件。
S3:基于改进高维贝叶斯优化算法构建调优模型;调优模型将高斯模型作为基础模型,同时,选择引入Dropout机制对高维的配置空间进行降维;并引入伪点机制增强高斯模型,最后利用超参数可感知机制适配算法的超参数。
本实施例将贝叶斯算法中的高斯模型应用到实时处理系统的配置参数调优中,可以很好地发挥算法的性能。然而,贝叶斯优化算法只在10维以下的调优场景下具有良好的效果,本实施例中特别引入Dropout策略到贝叶斯优化算法中,降低每轮迭代被贝叶斯优化算法求解的维度,即每轮迭代过程中从D维参数中随机选择d维参数。
同时,本实施例还引入伪点机制,用于对配置参数和性能的关系模型进行增强。具体地,利用自适应伪点机制增强高斯模型的策略如下:首先,给观察集中的每条数据生成L个伪点;将配置设为欧式距离小于等于dist,性能设置为相同;然后,将生成的伪点与观察集合并为一个新的数据集;最后,利用其重新建立高斯模型,并计算均值和方差。
S4:通过调优模型求解出实时处理系统的最佳配置。如图3所示,调优模型获取最佳配置的过程包含如下步骤:
S41:初始化参数配置空间X1和超参数组合概率空间P1。参数配置空间和超参数组合概率空间的初始化过程如下:
(1)实时处理系统由多个应用软件组成,每个应用软件的云配置和应用软件配置总和为Di,整个配置空间一共包含D=Di+...+DF个配置参数,因此参数配置空间X1如下:
(2)调优模型中包含填充策略dropout_fill、伪点距离dist和个数L三个超参数,预设每个超参数的取值范围,超参数组合空间为:
相应地,超参数组合概率空间为P1=O。
S42:初始化观察集:观察集中包含用于挑选出最优超参数组合的所有初始化超参数。初始化后的观察集的更新过程如下:
首先,使用Ansible将默认配置更新到云端控制器中;然后,由云端控制器根据当前配置创建虚拟机集群,部署系统中的每个软件,将软件应用配置依次更新到相应的软件中;接着,使用基准性能测试工具Hibench进行压力测试并获得性能指标;最后,将配置、性能的键值对存储到MySQL中,并更新到观察集中。
S43:预设最大迭代轮次,并循环执行如下的迭代求解过程,直到达到最大迭代轮次:
S431:根据超参数概率空间P1生成新的超参数填充策略dropout_fill、伪点数目L和伪点距离dist,并更新到算法中;使用贝叶斯优化算法求解,通过最大化采集函数分别求解下一轮的配置参数。
S432:在云端控制器中根据填充策略形成新的配置,然后通过基准性能测试工具进行性能压力测试,观察其性能并存储到MySQL中。
S433:更新超参数组合概率空间P1和对应的观察集。
详细地,贝叶斯优化算法迭代求解各轮次的配置参数的过程如下:
(1)选择高斯过程作为概率代理模型;每轮迭代过程中从D维参数中随机选择d维参数;d<D。
(2)将期望改进函数EI作为采集函数;每次选择d维参数,通过如下的最大化采集函数来求解出下一个配置的参数信息:
xd=argmaxfacq(xd|DSt)。
(3)对于剩下的D-d维参数xD-d,通过超参数填充策略dropout_fill进行填充;填充过程中随机生成一些配置,配置的取值符合高斯分布;选择观察集中目前最好的配置,复制其对应的D-d维参数;然后合并成新的配置:
xD=xD-d∪xd;
(4)观察新配置的性能指标f(x),将[x,Score(f(x))]存储到MySQL中;并根据[x,Score(f(x))]和[xbest,Score(f(xbest))]更新概率空间P1和观察集;其中,Score函数表达式如下::
上式中,Lt是目标延迟;Lr是真实延迟;Tt是数据输入速率,Tr是吞吐量,而C(x)是系统中的云资源管理成本,f(x)则是性能指标。
S44:从更新后的观察集中选择最佳配置输出作为所需的推荐配置。
本实施例提供的调控模型是在贝叶斯优化算法的基础上,先引入Dropout机制对高维配置空间进行降维,然后采用伪点机制对配置参数和性能的关系模型进行增强后得到的。该调优模型在高维配置空间优化中可以发挥更突出的性能,满足了多个应用系统组成的分析集群的云配置自动调优需求,能够有效应对应用配置参数和性能之间的复杂关系。最终实现在整个配置空间中,找到一个满足用户要求的流处理任务性能约束,同时保证资源成本的开销最低的配置。
性能测试
为了验证本实施例提供资源成本优化方法的有效性,制定了如下性能测试实验,实验中测试本发明的优化方法的效果,并将其与CherryPick和Lycenus等方法进行对比,使用流处理任务WordCount评估了这些方法的资源成本优化效果。
在实验中设置输入速率为50krecords/s,平均延迟约束设置为4000ms,流处理任务性能评估时间为5分钟,本实施例方案(CoTuner)与对照组1(CherryPick)的实验结果对比如图4所示;本实施例方案与对照组2(Lycenus)的实验结果对比如图5所示。
在图4和图5中,实心点表示为有效配置,即配置的性能达到用户性能约束,吞吐量达到数据输入速率,平均延迟低于目标平均延迟,分析图4和图5数据可知:本发明提供的方法(CoTuner)、CherryPick和Lycenus三者的最优云资源管理成本分别为0.5、0.75和0.75。其对应的观察样本数目为31、42和7。CoTuner相比于其它方法节约了33%的资源成本,而CherryPick和Lycenus等方法不能解决高维配置空间优化问题,因而陷入局部最优。由此可见本发明提供的方案与现有的两个方案相比,具有明显的优越性。
实施例2
基于实施例1中的方案,本实施例提供成一种面向流处理任务的资源本优化系统,其采用如实施例1中的面向云环境流处理任务的资源成本优化方法,对云计算环境下的流处理任务的配置参数进行优化调整;进而输出一个可以满足性能约束条件,且能够最小化实时处理系统中资源成本开销的最佳配置方案。如图6所示,本实施例提供的该资源成本优化系统包括:基准性能测量模块、云端控制器和调优模型。
其中,基准性能测量模块包括负载生成器和度量指标收集器。负载生成器用于生成大数据应用系统不同操作行为的工作负载,并适配不同业务场景的负载需求。度量指标收集器用于收集大数据应用系统在执行流处理任务时的性能指标。云端控制器用于给流处理任务提供执行环境。
调优模型基于改进高维贝叶斯优化算法设计;调优模型将高斯模型作为基础模型,并引入Dropout机制对高维的配置空间进行降维;同时引入伪点机制增强高斯模型。调优模型用于通过迭代求解的方式在云端控制器中模拟流处理任务的执行过程,并通过基准性能测量模块采集实时处理系统的性能指标;最终获取能够同时满足实时处理系统性能最大化和资源最小化的最佳配置方案。
实施例3
在实施例1的基础上,本实施例进一步提供了一种面向云环境流处理任务的资源成本优化工具,该优化工具即为可以实现实施例中的处理过程的实体产品,该产品在使用时可以生成一个如实施例2中系统的相应的数据处理系统,然后采用实施例1中的方法对待执行的流处理任务的配置参数进行优化,进而得到实时处理系统在云环境中运行时的一个可以同时满足性能和资源成本双目标约束的最佳云配置。
本实施例提供的面向云环境流处理任务的资源成本优化工具包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序。处理器执行计算机程序时,实现如前述的面向云环境流处理任务的资源成本优化方法的步骤,进而生成实时处理系统在执行流处理任务时的最佳配置方案。
该计算机设备可以是能执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器、处理器。
本实施例中,存储器(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。当然,存储器还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器通常用于存储安装于计算机设备的操作系统和各类应用软件等。此外,存储器还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器通常用于控制计算机设备的总体操作。本实施例中,处理器用于运行存储器中存储的程序代码或者处理数据,以实现前述实施例1中面向云环境流处理任务的资源成本优化方法中各个步骤的处理过程,生成实时处理系统在执行流处理任务时的最佳配置方案。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种面向云环境流处理任务的资源成本优化方法,其特征在于,其用于对云计算环境下的流处理任务的配置参数进行优化调整,以在满足性能约束的条件下,最小化资源成本的开销;所述资源成本优化方法包括如下步骤:
S1:构建用于评测不同大数据应用系统性能的基准性能测试工具;所述基准性能测试工具包括负载生成器和度量指标收集器;
S2:构建用于给流处理任务提供执行环境的云端控制器;
S3:基于改进高维贝叶斯优化算法构建调优模型;所述调优模型将高斯模型作为基础模型,同时,选择引入Dropout机制对高维的配置空间进行降维;并引入伪点机制增强高斯模型,最后利用超参数可感知机制适配算法的超参数;
S4:通过调优模型求解出实时处理系统的最佳配置;所述调优模型获取最佳配置的过程包含如下步骤:
S41:初始化参数配置空间X1和超参数组合概率空间P1;
S42:初始化观察集:所述观察集中包含用于挑选出最优超参数组合的所有初始化超参数;
S43:预设最大迭代轮次,并循环执行如下的迭代求解过程,直到达到最大迭代轮次:
S431:根据超参数概率空间P1生成新的超参数填充策略dropout_fill、伪点数目L和伪点距离dist,并更新到算法中,使用贝叶斯优化算法求解,通过最大化采集函数分别求解下一轮的配置参数;
S432:在云端控制器中根据超参数填充策略dropout_fill形成新的配置,然后通过基准性能测试工具进行性能压力测试,观察其性能并存储到MySQL中;
S433:更新超参数组合概率空间P1和对应的观察集;
S44:从更新后的观察集中选择出最佳配置,输出作为所需的推荐配置。
2.如权利要求1所述的面向云环境流处理任务的资源成本优化方法,其特征在于:在步骤S1构建的基准性能测试工具中,所述负载生成器用于生成大数据应用系统不同操作行为的工作负载,并通过窗口聚合、状态运算、重分配和读写功能的组合来满足不同业务场景的需求;所述度量指标收集器用于收集大数据应用系统在执行流处理任务时的性能指标,包括:吞吐量、最大延迟、平均延迟、最小延迟以及P99延迟。
3.如权利要求2所述的面向云环境流处理任务的资源成本优化方法,其特征在于:所述基准性能测试工具执行性能压力测试的过程如下:
(1)用户指定所执行工作负载的名称,并采集与数据输入速率相关的三个参数的值,包括:每个时间间隔生成的记录数recordsPerInterval、生产者线程数producerNumber和时间间隔单位intervalSpan,然后通过下式计算出数据输入速率sp:
sp=(recordsPerInterval*1000*producerNumber)/intervalSpan;
(2)数据生成器生成一条数据流,数据流通过Kafka生产者写入到Kafka集群的一个topic A中,同时数据流中每条数据都包含一个数据生产时间戳;
(3)流处理任务通过Kafka消费者从topic A拉取数据消费,然后对每条数据进行逻辑计算,计算完成的每条数据会被添加一个数据处理时间戳,最后将数据存储到一个topic B中;
(4)度量指标收集器对指定时间段topic B中的数据进行聚合计算,根据数据处理时间戳和数据生产时间戳的间隔时间,计算出反映该时间段中流处理任务执行情况的性能指标。
4.如权利要求1所述的面向云环境流处理任务的资源成本优化方法,其特征在于:步骤S2中,云端控制器生成流处理任务所需的执行环境的过程包括如下步骤:
(1)使用Open API创建指定规模的虚拟机集群;
(2)使用Ansible工具将实时处理系统中的每个应用软件自动部署在虚拟机集群中,然后根据数据流动顺序依次启动实时处理系统中的每个应用软件。
5.如权利要求1所述的面向云环境流处理任务的资源成本优化方法,其特征在于:步骤S3中,利用伪点机制增强高斯模型的策略如下:首先,给观察集中的每条数据生成L个伪点;将配置设为欧式距离小于等于dist,性能设置为相同;然后,将生成的伪点与观察集合并为一个新的数据集;最后,利用其重新建立高斯模型,并计算均值和方差。
6.如权利要求1所述的面向云环境流处理任务的资源成本优化方法,其特征在于:步骤S41中,参数配置空间和超参数组合概率空间的初始化过程如下:
(1)实时处理系统由多个应用软件组成,每个应用软件的云配置和应用软件配置总和为Di,整个配置空间一共包含D个配置参数,因此参数配置空间X1如下:
(2)调优模型中包含超参数填充策略dropout_fill、伪点距离dist和个数L三个超参数,预设每个超参数的取值范围,超参数组合空间为X2:
超参数组合概率空间为P1=O。
7.如权利要求6所述的面向云环境流处理任务的资源成本优化方法,其特征在于:步骤S42中,观察集的更新过程如下:
首先,使用Ansible将默认配置更新到云端控制器中;然后,由云端控制器根据当前配置创建虚拟机集群,部署系统中的每个软件,将软件应用配置依次更新到相应的软件中;接着,使用基准性能测试工具Hibench进行压力测试并获得性能指标;最后,将配置、性能的键值对存储到MySQL中,并更新到观察集中。
8.如权利要求1所述的面向云环境流处理任务的资源成本优化方法,其特征在于:步骤S43中,贝叶斯优化算法迭代求解各轮次的配置参数的过程如下:
(1)选择高斯过程作为概率代理模型;每轮迭代过程中从D维参数中随机选择d维参数;d<D;
(2)将期望改进函数EI作为采集函数;每次选择d维参数,通过如下的最大化采集函数来求解出下一个配置的参数信息xd:
xd=arg maxfacq(xd|DSt);
(3)对于剩下的D-d维参数xD-d,通过超参数填充策略dropout_fill进行填充;填充过程中随机生成一些配置,配置的取值符合高斯分布;选择观察集中目前最好的配置,复制其对应的D-d维参数;然后合并成新的配置:
xD=xD-d∪xd;
(4)观察新配置的性能指标f(x),将[x,Score(f(x))]存储到MySQL中;并根据[x,Score(f(x))]和[xbest,Score(f(xbest))]更新概率空间P1和观察集;其中,Score函数表达式如下:
上式中,Lt是目标延迟;Lr是真实延迟;Tt是数据输入速率,Tr是吞吐量,而C(x)是系统中的云资源管理成本,f(x)则是性能指标。
9.一种面向云环境流处理任务的资源成本优化系统,其特征在于:其采用如权利要求1-8中任意一项所述的面向云环境流处理任务的资源成本优化方法,对云计算环境下的流处理任务的配置参数进行优化调整;进而输出一个可以满足性能约束条件,且能够最小化实时处理系统中资源成本开销的最佳配置方案;所述资源成本优化系统包括:
基准性能测量模块,其包括负载生成器和度量指标收集器;所述负载生成器用于生成大数据应用系统不同操作行为的工作负载,并适配不同业务场景的负载需求;所述度量指标收集器用于收集大数据应用系统在执行流处理任务时的性能指标;
云端控制器,其用于给流处理任务提供执行环境;
调优模型,其基于改进高维贝叶斯优化算法设计;所述调优模型将高斯模型作为基础模型,并引入Dropout机制对高维的配置空间进行降维;同时引入伪点机制增强高斯模型;所述调优模型用于通过迭代求解的方式在云端控制器中模拟流处理任务的执行过程,并通过所述基准性能测量模块采集实时处理系统的性能指标;最终获取能够同时满足实时处理系统性能最大化和资源最小化的最佳配置方案。
10.一种面向云环境流处理任务的资源成本优化工具,其包括存储器、处理器以及存储在存储器上并在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时,实现如权利要求1-8任意一项所述的面向云环境流处理任务的资源成本优化方法的步骤,进而生成实时处理系统在执行流处理任务时的最佳配置方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310103929.6A CN116244076B (zh) | 2023-02-13 | 2023-02-13 | 一种面向云环境流处理任务的资源成本优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310103929.6A CN116244076B (zh) | 2023-02-13 | 2023-02-13 | 一种面向云环境流处理任务的资源成本优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116244076A CN116244076A (zh) | 2023-06-09 |
CN116244076B true CN116244076B (zh) | 2023-11-24 |
Family
ID=86632490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310103929.6A Active CN116244076B (zh) | 2023-02-13 | 2023-02-13 | 一种面向云环境流处理任务的资源成本优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116244076B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291894A (zh) * | 2018-11-21 | 2020-06-16 | 第四范式(北京)技术有限公司 | 超参数优化过程中的资源调度方法、装置、设备及介质 |
WO2022139879A1 (en) * | 2020-12-24 | 2022-06-30 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to optimize resources in edge networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11120368B2 (en) * | 2017-09-27 | 2021-09-14 | Oracle International Corporation | Scalable and efficient distributed auto-tuning of machine learning and deep learning models |
-
2023
- 2023-02-13 CN CN202310103929.6A patent/CN116244076B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291894A (zh) * | 2018-11-21 | 2020-06-16 | 第四范式(北京)技术有限公司 | 超参数优化过程中的资源调度方法、装置、设备及介质 |
WO2022139879A1 (en) * | 2020-12-24 | 2022-06-30 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to optimize resources in edge networks |
Non-Patent Citations (3)
Title |
---|
ATConf: auto-tuning high dimensional configuration parameters for big data processing frameworks;Hui Dou, Kang Wang, Yiwen Zhang, Pengfei Chen;Cluster Computing (2023);全文 * |
Hdconfigor: Automatically Tuning High Dimensional Configuration Parameters for Log Search Engines;HUI DOU, PENGFEI CHEN, ZIBIN ZHANG;IEEE Access;全文 * |
云工作流服务的执行优化研究;姚艳;中国博士学位论文全文数据库 信息科技辑;I139-9 * |
Also Published As
Publication number | Publication date |
---|---|
CN116244076A (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11882054B2 (en) | Terminating data server nodes | |
Mahgoub et al. | {OPTIMUSCLOUD}: Heterogeneous configuration optimization for distributed databases in the cloud | |
Didona et al. | Transactional auto scaler: Elastic scaling of replicated in-memory transactional data grids | |
CN116107664B (zh) | 一种低代价的高维多目标软件配置参数调优方法及系统 | |
Fu et al. | On the use of {ML} for blackbox system performance prediction | |
US8768942B2 (en) | Systems and methods for generating interpolated data sets converging to optimized results using iterative overlapping inputs | |
US20210216351A1 (en) | System and methods for heterogeneous configuration optimization for distributed servers in the cloud | |
WO2020125929A1 (en) | Apparatus and method for detecting an anomaly among successive events and computer program product therefor | |
Kumar et al. | Hold'em or fold'em? aggregation queries under performance variations | |
Wang | Stream processing systems benchmark: Streambench | |
Noel et al. | Towards self-managing cloud storage with reinforcement learning | |
CN112328332B (zh) | 一种面向云计算环境的数据库配置优化方法 | |
CN116244076B (zh) | 一种面向云环境流处理任务的资源成本优化方法及系统 | |
WO2016175880A1 (en) | Merging incoming data in a database | |
Du et al. | Monkeyking: Adaptive parameter tuning on big data platforms with deep reinforcement learning | |
CN115629860A (zh) | 软件参数调优方法、容器管理平台、存储介质及系统 | |
CN108762763A (zh) | 面向大规模复杂数据应用领域的并行i/o优化方法 | |
US20210405925A1 (en) | Logging operations based on memory mapping in a logging system | |
US20190138931A1 (en) | Apparatus and method of introducing probability and uncertainty via order statistics to unsupervised data classification via clustering | |
Chen et al. | On the efficiency and programmability of large graph processing in the cloud | |
Wang et al. | Automatically setting parameter-exchanging interval for deep learning | |
Zhou et al. | File heat-based Self-adaptive Replica Consistency Strategy for Cloud Storage. | |
Zou et al. | Revisiting Temporal Storage I/O Behaviors of Smartphone Applications: Analysis and Synthesis | |
Tripathy et al. | Scaling betweenness centrality in dynamic graphs | |
Kachmar et al. | CALC: A Content-Aware Learning Cache for Storage Systems |
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 |