CN112540849B - 一种分布式计算作业的参数配置优化方法及系统 - Google Patents
一种分布式计算作业的参数配置优化方法及系统 Download PDFInfo
- Publication number
- CN112540849B CN112540849B CN202011436978.4A CN202011436978A CN112540849B CN 112540849 B CN112540849 B CN 112540849B CN 202011436978 A CN202011436978 A CN 202011436978A CN 112540849 B CN112540849 B CN 112540849B
- Authority
- CN
- China
- Prior art keywords
- parameter configuration
- key parameter
- distributed computing
- configuration item
- execution time
- 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
Images
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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/505—Clust
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种分布式计算作业的参数配置优化方法及系统。该方法包括:获取不同的分布式计算作业的作业程序,并确定关键参数配置集;获取分布式计算作业执行时的集群状态,并根据关键参数配置集以及集群状态随机生成样本数据集,建立性能预测模型;采用多目标遗传算法以及最优配置选择策略配置优化模块,修正性能预测模型;获取待优化分布式计算作业的作业程序以及待优化分布式计算作业执行时的集群状态,并确定待优化的关键参数配置项组合;将待优化的关键参数配置项组合以及待优化分布式计算作业执行时的集群状态输入性能预测模型,输出执行时间最短的关键参数配置项组合。本发明能够实现快速、有效的关键参数配置优化。
Description
技术领域
本发明涉及分布式计算作业的参数配置优化领域,特别是涉及一种分布式计算作业的参数配置优化方法及系统。
背景技术
分布式计算作业的参数配置,通常对性能有较大的影响,将配置项设置合适的参数值可以提高作业的执行效率,例如资源参数配置项、执行参数配置项等等。相比于普通的参数优化问题,分布式计算作业的参数优化特点为参数数量多和参数间关系复杂。目前应用最为广泛的分布式内存计算框架,存在四十个以上的配置项与性能有关。目前主流的参数优化工具主要分类两类。第一类通过搜索算法探索配置项的参数空间,以合理的顺序枚举配置项的值,并依次验证在该配置项下的作业执行效率。通常,搜索算法是这类方法的重点。合理的参数搜索顺序,可以减少搜索陷入局部最优的可能。这类方法适合可以对配置项的效果进行快速验证的系统。
第二类通过构建配置性能预测模型来代替直接验证配置项的效果,即使用模型来预测在特定配置下的作业执行时间,从而避免作业的实际执行。对于这类方法,性能预测模型的准确率至关重要。大多数方法将性能预测问题作为回归问题,选择机器学习算法来构建性能预测模型,对给定的配置预测作业执行时间。结合搜索算法,使用性能预测模型探索参数空间,来避免在搜索过程中通过执行作业验证配置性能。这类方法在配置优化效率上有显著的提升,但需要额外的性能模型构建的开销。
现有的技术主要有以下缺点:
1、已有的方案无法在优化作业执行时间的同时考虑资源的使用量,因此造成了内存资源的浪费。
2、由于现有的配置优化效率较低,无法为每个作业进行单独的配置优化,只能进行框架级别的优化。通过实验发现,在不同的集群负载下,作业的最优配置也是不同的。由于现有的工具没有考虑集群负载动态变化以及优化效率低等问题,无法进行作业级别的优化。
发明内容
本发明的目的是提供一种分布式计算作业的参数配置优化方法及系统,以解决内存资源浪费以及配置优化效率低的问题。
为实现上述目的,本发明提供了如下方案:
一种分布式计算作业的参数配置优化方法,包括:
获取不同的分布式计算作业的作业程序,并根据所述不同的分布式计算作业的作业程序确定关键参数配置集;所述关键参数配置集包括多个关键参数配置项组合以及每个所述关键参数配置项组合对应的执行时间;每个关键参数配置项组合包括多个关键参数的配置项;所述关键参数为对所述分布式计算作业的执行时间的影响程度高于影响程度阈值的参数;
获取分布式计算作业执行时的集群状态,并根据所述关键参数配置集以及所述集群状态随机生成样本数据集,以所述样本数据集内的关键参数配置项组合以及所述集群状态为输入,以每个所述关键参数配置项组合对应的执行时间为输出,建立性能预测模型;所述性能预测模块用于确定执行时间最短的关键参数配置项组合;
采用多目标遗传算法以及最优配置选择策略配置优化模块,根据所述性能预测模型,搜索当前集群状态下的最优配置;所述优化模块用于同时优化执行时间和内存资源使用量;
获取待优化分布式计算作业的作业程序以及待优化分布式计算作业执行时的集群状态,并根据所述待优化分布式计算作业的作业程序确定待优化的关键参数配置项组合;
将所述待优化的关键参数配置项组合以及所述待优化分布式计算作业执行时的集群状态输入所述性能预测模型,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合;所述待优化分布式计算作业的执行时间最短的关键参数配置项组合内的每项关键参数配置项的关键参数配置为所述待优化分布式计算作业的最优配置。
可选的,所述获取不同的分布式计算作业的作业程序,并根据所述不同的分布式计算作业的作业程序确定关键参数配置集,具体包括:
在每项配置项的参数取值范围内,随机生成多个配置项组合;所述配置项包括关键参数的配置项以及辅助参数的配置项;
基于任一个所述分布式计算作业的作业程序结合所述配置项组合,确定每个所述配置项组合对应的执行时间;
基于所述执行时间,利用p-value的参数和回归树的不纯度确定关键参数;
根据所述关键参数确定关键参数配置集。
可选的,所述获取分布式计算作业执行时的集群状态,并根据所述关键参数配置集以及所述集群状态随机生成样本数据集,以所述样本数据集内的关键参数配置项组合以及所述集群状态为输入,以每个所述关键参数配置项组合对应的执行时间为输出,建立性能预测模型,具体包括:
采用交叉验证的方法选择多个浅层全连接神经元网络作为所述性能预测模型的第一层神经网络,将各个第一层神经网络的输出作为第二层线性回归层的输入,构建双层模型,并利用所述双层模型训练所述样本数据集;
以所述样本数据集内的关键参数配置项组合以及所述集群状态为第一层神经网络的输入,输出第一层神经网络的预测结果;
将所述预测结果作为所述第二层线性回归层的输入,利用线性回归模型学习训练方法,映射至所述样本数据集的执行时间,输出所述关键参数配置项组合对应的执行时间,建立性能预测模型。
可选的,所述将所述待优化的关键参数配置项组合以及所述待优化分布式计算作业执行时的集群状态输入所述性能预测模型,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合,具体包括:
随机产生所述待优化的关键参数配置项组合,采样所述待优化分布式计算作业执行时的集群状态,输入性能预测模型,以执行时间最短以及内存资源使用量最少为目标,利用NSGA-II算法优化所述待优化分布式计算作业的执行时间,确定优化结果;
判断所述优化结果是否满足收敛条件,得到第一判断结果;所述收敛条件为遗传算法搜索得到的最优配置不再发生变化,则搜索停止;
当所述第一判断结果表示为所述优化结果满足收敛条件,将执行时间最短的关键参数配置项组合作为最优解;
判断所述最优解中是否存在最优配置,得到第二判断结果;
若所述第二判断结果表示为所述最优解中存在最优配置,舍弃性能表现程度低于性能表现程度阈值的关键参数配置项以换取内存资源使用量最少的关键参数配置项组合;
若所述第二判断结果表示为所述最优解中未存在最优配置,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合。
一种分布式计算作业的参数配置优化系统,包括:
关键参数配置集确定模块,用于获取不同的分布式计算作业的作业程序,并根据所述不同的分布式计算作业的作业程序确定关键参数配置集;所述关键参数配置集包括多个关键参数配置项组合以及每个所述关键参数配置项组合对应的执行时间;每个关键参数配置项组合包括多个关键参数的配置项;所述关键参数为对所述分布式计算作业的执行时间的影响程度高于影响程度阈值的参数;
性能预测模型训练模块,用于获取分布式计算作业执行时的集群状态,并根据所述关键参数配置集以及所述集群状态随机生成样本数据集,以所述样本数据集内的关键参数配置项组合以及所述集群状态为输入,以每个所述关键参数配置项组合对应的执行时间为输出,建立性能预测模型;所述性能预测模块用于确定执行时间最短的关键参数配置项组合;
配置搜索模块,用于采用多目标遗传算法以及最优配置选择策略配置优化模块,根据所述性能预测模型,搜索当前集群状态下的最优配置;所述优化模块用于同时优化执行时间和内存资源使用量;
待优化的关键参数配置项组合确定模块,用于获取待优化分布式计算作业的作业程序以及待优化分布式计算作业执行时的集群状态,并根据所述待优化分布式计算作业的作业程序确定待优化的关键参数配置项组合;
最优配置确定模块,用于将所述待优化的关键参数配置项组合以及所述待优化分布式计算作业执行时的集群状态输入所述性能预测模型,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合;所述待优化分布式计算作业的执行时间最短的关键参数配置项组合内的每项关键参数配置项的关键参数配置为所述待优化分布式计算作业的最优配置。
可选的,所述关键参数配置集确定模块,具体包括:
配置项组合生成单元,用于在每项配置项的参数取值范围内,随机生成多个配置项组合;所述配置项包括关键参数的配置项以及辅助参数的配置项;
执行时间确定单元,用于基于任一个所述分布式计算作业的作业程序结合所述配置项组合,确定每个所述配置项组合对应的执行时间;
关键参数确定单元,用于基于所述执行时间,利用p-value的参数和回归树的不纯度确定关键参数;
关键参数配置集确定单元,用于根据所述关键参数确定关键参数配置集。
可选的,所述性能预测模型训练模块,具体包括:
基于神经网络的双层模型构建单元,用于采用交叉验证的方法选择多个浅层全连接神经元网络作为所述性能预测模型的第一层神经网络,将各个第一层神经网络的输出作为第二层线性回归层的输入,构建双层模型,并利用所述双层模型训练所述样本数据集;
第一层神经网络的预测结果输出单元,用于以所述样本数据集内的关键参数配置项组合以及所述集群状态为第一层神经网络的输入,输出第一层神经网络的预测结果;
性能预测模型构建单元,用于将所述预测结果作为所述第二层线性回归层的输入,利用线性回归模型学习训练方法,映射至所述样本数据集的执行时间,输出所述关键参数配置项组合对应的执行时间,建立性能预测模型。
可选的,所述最优配置确定模块,具体包括:
优化结果确定单元,用于随机产生所述待优化的关键参数配置项组合,采样所述待优化分布式计算作业执行时的集群状态,输入性能预测模型,以执行时间最短以及内存资源使用量最少为目标,利用NSGA-II算法优化所述待优化分布式计算作业的执行时间,确定优化结果;
第一判断单元,用于判断所述优化结果是否满足收敛条件,得到第一判断结果;所述收敛条件为遗传算法搜索得到的最优配置不再发生变化,则搜索停止;
最优解确定单元,用于当所述第一判断结果表示为所述优化结果满足收敛条件,将执行时间最短的关键参数配置项组合作为最优解;
第二判断单元,用于判断所述最优解中是否存在最优配置,得到第二判断结果;
关键参数配置项组合第一确定单元,用于若所述第二判断结果表示为所述最优解中存在最优配置,舍弃性能表现程度低于性能表现程度阈值的关键参数配置项以换取内存资源使用量最少的关键参数配置项组合;
关键参数配置项组合第二确定单元,用于若所述第二判断结果表示为所述最优解中未存在最优配置,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供了一种分布式计算作业的参数配置优化方法及系统,通过离线的参数选择得到关键参数,确定关键参数配置集并进行样本收集,分布式计算作业常常是周期性执行、定时触发的分析任务,将不同的数据输入到同一个程序执行计算逻辑,将样本数据集中的样本结合机器学习算法进行训练,得到预测作业执行时间的性能预测模型,最后,根据所述性能预测模型,结合多目标搜索算法,在线为待优化作业提供针对当前集群负载状态的配置优化服务,确定最优配置,实现了快速、有效的关键参数配置优化,同时减少资源的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的分布式计算作业的参数配置优化方法流程图;
图2为本发明所提供的分布式计算作业的参数配置优化的架构图;
图3为本发明所提供的关键参数选择流程图;
图4为本发明所提供的性能预测模型训练流程图:
图5为本发明所提供的配置优化流程图;
图6为本发明所提供的分布式计算作业的参数配置优化系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种分布式计算作业的参数配置优化方法及系统,实现了快速、有效的关键参数配置优化,同时减少了内存资源的浪费。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明所提供的分布式计算作业的参数配置优化方法流程图,图2为本发明所提供的分布式计算作业的参数配置优化的架构图,如图1-2所示,一种分布式计算作业的参数配置优化方法,包括:
步骤101:获取不同的分布式计算作业的作业程序,并根据所述不同的分布式计算作业的作业程序确定关键参数配置集;所述关键参数配置集包括多个关键参数配置项组合以及每个所述关键参数配置项组合对应的执行时间;每个关键参数配置项组合包括多个关键参数的配置项;所述关键参数为对所述分布式计算作业的执行时间的影响程度高于影响程度阈值的参数。
所述步骤101具体包括:在每项配置项的参数取值范围内,随机生成多个配置项组合;所述配置项包括关键参数的配置项以及辅助参数的配置项;基于任一个所述分布式计算作业的作业程序结合所述配置项组合,确定每个所述配置项组合对应的执行时间;基于所述执行时间,利用p-value的参数和回归树的不纯度确定关键参数;根据所述关键参数确定关键参数配置集。
通过观察发现,计算框架的通用参数,对不同的作业将表现出不同的性能影响。例如,“数据压缩”配置项表示是否在数据传输前将数据进行压缩,用来减小数据传输的网络开销。该配置项对于数据密集型作业的执行效率会有显著的影响,但对于计算密集型的作业影响不大。因此,为了更快速、准确的找到最优配置,我们将选择关键配置进行优化,来降低配置搜索的开销。
如图3所示,对于待优化的分布式作业,该方法将在合理的参数取值范围内,随机生成配置,存储至配置集合C中。将程序P结合生成的配置,依次执行,获取在各个配置下的执行时间。对比使用两种计算相关性的方法:p-value和回归树的不纯度,可以得到对该程序的执行时间影响较大的参数,即关键参数。该过程对于同一分布式计算程序仅需执行一次。
步骤102:获取分布式计算作业执行时的集群状态,并根据所述关键参数配置集以及所述集群状态随机生成样本数据集,以所述样本数据集内的关键参数配置项组合以及所述集群状态为输入,以每个所述关键参数配置项组合对应的执行时间为输出,建立性能预测模型;所述性能预测模块用于确定执行时间最短的关键参数配置项组合。
所述步骤102具体包括:采用交叉验证的方法选择多个浅层全连接神经元网络作为所述性能预测模型的第一层神经网络,将各个第一层神经网络的输出作为第二层线性回归层的输入,构建双层模型,并利用所述双层模型训练所述样本数据集;以所述样本数据集内的关键参数配置项组合以及所述集群状态为第一层神经网络的输入,输出第一层神经网络的预测结果;将所述预测结果作为所述第二层线性回归层的输入,利用线性回归模型学习训练方法,映射至所述样本数据集的执行时间,输出所述关键参数配置项组合对应的执行时间,建立性能预测模型。
本发明使用基于神经元网络的方法,训练可以预测作业执行时间的模型。为了获取训练数据,该方法在关键参数取值范围内随机组合成形成配置,并结合不同大小的输入数据执行作业,获取在该配置、输入数据量下的执行时间以及作业执行时的集群状态(例如负载量),形成样本集D。同时,该模型训练组件预置了数十个不同大小的浅层全连接神经元网络,记为神经元网络库N。在此前提下,使用双层的训练方法拟合当前的样本集D。
如图4所示,首先需要从神经元网络库N中选择误差较小的网络。针对有标的样本集,该方法采用交叉验证的方法来选择其中的s个网络。在完成选择后,进行第一层模型的训练。根据第一层所选择的网络数量n,将样本集D均分为n份。依次对第一层中的第i个网络si使用Stacking方法在样本集D-Di上进行训练,并在Di进行预测,将样本集D等分为n分,Di表示第i份,用于网络si的训练。所有网络在对应的Di上的预测结果合并作为第一层的输出,再次使用线性回归模型学习,映射至样本的执行时间,该步骤为第二层的模型训练。该方法提高了模型预测的准确率以及泛化能力,减少了系统在实际使用中的误差。
步骤103:采用多目标遗传算法以及最优配置选择策略配置优化模块,根据所述性能预测模型,搜索当前集群状态下的最优配置;所述优化模块用于同时优化执行时间和内存资源使用量。
在完成模型训练后,对于已知输入数据量和配置的作业,可以准确的预测出作业执行时间,因此通过搜索算法,就可以找出参数空间中执行时间较短的作业,本发明的目标是在降低作业执行时间的同时,减少内存资源的浪费。因此该模块将采用多目标优化方法,对执行时间和资源使用量同时进行优化。借助于多目标遗传算法,以及最优配置选择策略,配置优化模块可以在线的为源源不断到来的作业进行配置优化服务。
步骤104:获取待优化分布式计算作业的作业程序以及待优化分布式计算作业执行时的集群状态,并根据所述待优化分布式计算作业的作业程序确定待优化的关键参数配置项组合。
步骤105:将所述待优化的关键参数配置项组合以及所述待优化分布式计算作业执行时的集群状态输入所述性能预测模型,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合;所述待优化分布式计算作业的执行时间最短的关键参数配置项组合内的每项关键参数配置项的关键参数配置为所述待优化分布式计算作业的最优配置。
所述步骤105具体包括:随机产生所述待优化的关键参数配置项组合,采样所述待优化分布式计算作业执行时的集群状态,输入性能预测模型,以执行时间最短以及内存资源使用量最少为目标,利用NSGA-II算法优化所述待优化分布式计算作业的执行时间,确定优化结果;判断所述优化结果是否满足收敛条件,若是,将执行时间最短的关键参数配置项组合作为最优解;若否,重新利用NSGA-II算法优化所述待优化分布式计算作业的执行时间;
判断所述最优解中是否存在最优配置,若是,舍弃性能表现程度低于性能表现程度阈值的关键参数配置项以换取内存资源使用量最少的关键参数配置项组合;若否,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合。其中,搜索是一个迭代过程,当多次迭代后,得到的最优配置基本不再发生变化,则认为搜索收敛。
如图5所示,多目标遗传算法将参数配置视为种群个体。由于性能模型可以感知集群负载,因此可以根据当前的集群负载、输入数据量和配置,直接预测出执行时间。该执行时间和内存使用量用于决定个体(配置)的适应度。我们定义执行速度快、内存使用少的个体适应度更高。通过遗传、变异等操作,逐渐使种群个体(配置)更加优秀(执行速度快、内存使用少)。
对于多目标优化问题,通常需要考虑帕累托最优前沿。在搜索收敛后,帕累托最优前沿(最优配置集合)中的配置已经无法在不损失一个目标的前提下提升另一个目标。因此,该配置优化器支持使用两个参数MaxPL和MinMG来控制配置的选择。配置优化器默认将执行时间最短的配置作为记为最优解。但如果最优前沿中,存在最大执行效率牺牲比例为MaxPL的,以换取最少MinMG的内存开销降低的配置,则在这些配置中选择离原点最近的点作为最优配置。
由于NSGA-II算法本身的高效性以及关键参数选择带来的样本复杂度降低,该配置优化器的平均配置优化时间为5.3秒,可以为分钟级别的分布式计算作业提供考虑集群状态的配置优化服务。
图6为本发明所提供的分布式计算作业的参数配置优化系统结构图,如图6所示,一种分布式计算作业的参数配置优化系统,包括:
关键参数配置集确定模块601,用于获取不同的分布式计算作业的作业程序,并根据所述不同的分布式计算作业的作业程序确定关键参数配置集;所述关键参数配置集包括多个关键参数配置项组合以及每个所述关键参数配置项组合对应的执行时间;每个关键参数配置项组合包括多个关键参数的配置项;所述关键参数为对所述分布式计算作业的执行时间的影响程度高于影响程度阈值的参数。
所述关键参数配置集确定模块601,具体包括:配置项组合生成单元,用于在每项配置项的参数取值范围内,随机生成多个配置项组合;所述配置项包括关键参数的配置项以及辅助参数的配置项;执行时间确定单元,用于基于任一个所述分布式计算作业的作业程序结合所述配置项组合,确定每个所述配置项组合对应的执行时间;关键参数确定单元,用于基于所述执行时间,利用p-value的参数和回归树的不纯度确定关键参数;关键参数配置集确定单元,用于根据所述关键参数确定关键参数配置集。
性能预测模型训练模块602,用于获取分布式计算作业执行时的集群状态,并根据所述关键参数配置集以及所述集群状态随机生成样本数据集,以所述样本数据集内的关键参数配置项组合以及所述集群状态为输入,以每个所述关键参数配置项组合对应的执行时间为输出,建立性能预测模型;所述性能预测模块用于确定执行时间最短的关键参数配置项组合。
所述性能预测模型训练模块602,具体包括:基于神经网络的双层模型构建单元,用于采用交叉验证的方法选择多个浅层全连接神经元网络作为所述性能预测模型的第一层神经网络,将各个第一层神经网络的输出作为第二层线性回归层的输入,构建双层模型,并利用所述双层模型训练所述样本数据集;第一层神经网络的预测结果输出单元,用于以所述样本数据集内的关键参数配置项组合以及所述集群状态为第一层神经网络的输入,输出第一层神经网络的预测结果;性能预测模型构建单元,用于将所述预测结果为所述第二层线性回归的输入,利用线性回归模型学习训练方法,映射至所述样本数据集的执行时间,输出所述关键参数配置项组合对应的执行时间,建立性能预测模型。
配置搜索模块603,用于采用多目标遗传算法以及最优配置选择策略配置优化模块,根据所述性能预测模型,搜索当前集群状态下的最优配置;所述优化模块用于同时优化执行时间和内存资源使用量。
待优化的关键参数配置项组合确定模块604,用于获取待优化分布式计算作业的作业程序以及待优化分布式计算作业执行时的集群状态,并根据所述待优化分布式计算作业的作业程序确定待优化的关键参数配置项组合。
最优配置确定模块605,用于将所述待优化的关键参数配置项组合以及所述待优化分布式计算作业执行时的集群状态输入所述性能预测模型,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合;所述待优化分布式计算作业的执行时间最短的关键参数配置项组合内的每项关键参数配置项的关键参数配置为所述待优化分布式计算作业的最优配置。
所述最优配置确定模块605,具体包括:优化结果确定单元,用于随机产生所述待优化的关键参数配置项组合,采样所述待优化分布式计算作业执行时的集群状态,输入性能预测模型,以执行时间最短以及内存资源使用量最少为目标,利用NSGA-II算法优化所述待优化分布式计算作业的执行时间,确定优化结果;第一判断单元,用于判断所述优化结果是否满足收敛条件,得到第一判断结果;所述收敛条件为遗传算法搜索得到的最优配置不再发生变化,则搜索停止;最优解确定单元,用于当所述第一判断结果表示为所述优化结果满足收敛条件,将执行时间最短的关键参数配置项组合作为最优解;第二判断单元,用于判断所述最优解中是否存在最优配置,得到第二判断结果;关键参数配置项组合第一确定单元,用于若所述第二判断结果表示为所述最优解中存在最优配置,舍弃性能表现程度低于性能表现程度阈值的关键参数配置项以换取内存资源使用量最少的关键参数配置项组合;关键参数配置项组合第二确定单元,用于若所述第二判断结果表示为所述最优解中未存在最优配置,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合。
本发明所提供的分布式计算作业的参数配置优化方法及系统能够同时优化作业的执行时间和内存使用量;考虑分布式集群的负载状态,为作业提供当前集群状态下的最优配置,即作业级别配置优化。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种分布式计算作业的参数配置优化方法,其特征在于,包括:
获取不同的分布式计算作业的作业程序,并根据所述不同的分布式计算作业的作业程序确定关键参数配置集;所述关键参数配置集包括多个关键参数配置项组合以及每个所述关键参数配置项组合对应的执行时间;每个关键参数配置项组合包括多个关键参数的配置项;所述关键参数为对所述分布式计算作业的执行时间的影响程度高于影响程度阈值的参数;
获取分布式计算作业执行时的集群状态,并根据所述关键参数配置集以及所述集群状态随机生成样本数据集,以所述样本数据集内的关键参数配置项组合以及所述集群状态为输入,以每个所述关键参数配置项组合对应的执行时间为输出,建立性能预测模型;所述性能预测模型用于确定执行时间最短的关键参数配置项组合;
采用多目标遗传算法以及最优配置选择策略对优化模块进行配置,根据所述性能预测模型,搜索当前集群状态下的最优配置;所述优化模块用于同时优化执行时间和内存资源使用量;
获取待优化分布式计算作业的作业程序以及待优化分布式计算作业执行时的集群状态,并根据所述待优化分布式计算作业的作业程序确定待优化的关键参数配置项组合;
将所述待优化的关键参数配置项组合以及所述待优化分布式计算作业执行时的集群状态输入所述性能预测模型,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合;所述待优化分布式计算作业的执行时间最短的关键参数配置项组合内的每项关键参数配置项的关键参数配置为所述待优化分布式计算作业的最优配置;
所述获取分布式计算作业执行时的集群状态,并根据所述关键参数配置集以及所述集群状态随机生成样本数据集,以所述样本数据集内的关键参数配置项组合以及所述集群状态为输入,以每个所述关键参数配置项组合对应的执行时间为输出,建立性能预测模型,具体包括:
采用交叉验证的方法选择多个浅层全连接神经元网络作为所述性能预测模型的第一层神经网络,将各个第一层神经网络的输出作为第二层线性回归层的输入,构建双层模型,并利用所述双层模型训练所述样本数据集;以所述样本数据集内的关键参数配置项组合以及所述集群状态为第一层神经网络的输入,输出第一层神经网络的预测结果;
将所述预测结果作为所述第二层线性回归层的输入,利用线性回归模型学习训练方法,映射至所述样本数据集的执行时间,输出所述关键参数配置项组合对应的执行时间,建立性能预测模型;
所述将所述待优化的关键参数配置项组合以及所述待优化分布式计算作业执行时的集群状态输入所述性能预测模型,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合,具体包括:
随机产生所述待优化的关键参数配置项组合,采样所述待优化分布式计算作业执行时的集群状态,输入性能预测模型,以执行时间最短以及内存资源使用量最少为目标,利用NSGA-II算法优化所述待优化分布式计算作业的执行时间,确定优化结果;判断所述优化结果是否满足收敛条件,若是,将执行时间最短的关键参数配置项组合作为最优解;若否,重新利用NSGA-II算法优化所述待优化分布式计算作业的执行时间;
判断所述最优解中是否存在最优配置,若是,舍弃性能表现程度低于性能表现程度阈值的关键参数配置项以换取内存资源使用量最少的关键参数配置项组合;若否,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合。
2.根据权利要求1所述的分布式计算作业的参数配置优化方法,其特征在于,所述获取不同的分布式计算作业的作业程序,并根据所述不同的分布式计算作业的作业程序确定关键参数配置集,具体包括:
在每项配置项的参数取值范围内,随机生成多个配置项组合;所述配置项包括关键参数的配置项以及辅助参数的配置项;
基于任一个所述分布式计算作业的作业程序结合所述配置项组合,确定每个所述配置项组合对应的执行时间;
基于所述执行时间,利用p-value的参数和回归树的不纯度确定关键参数;
根据所述关键参数确定关键参数配置集。
3.一种分布式计算作业的参数配置优化系统,其特征在于,包括:
关键参数配置集确定模块,用于获取不同的分布式计算作业的作业程序,并根据所述不同的分布式计算作业的作业程序确定关键参数配置集;所述关键参数配置集包括多个关键参数配置项组合以及每个所述关键参数配置项组合对应的执行时间;每个关键参数配置项组合包括多个关键参数的配置项;所述关键参数为对所述分布式计算作业的执行时间的影响程度高于影响程度阈值的参数;
性能预测模型训练模块,用于获取分布式计算作业执行时的集群状态,并根据所述关键参数配置集以及所述集群状态随机生成样本数据集,以所述样本数据集内的关键参数配置项组合以及所述集群状态为输入,以每个所述关键参数配置项组合对应的执行时间为输出,建立性能预测模型;所述性能预测模型用于确定执行时间最短的关键参数配置项组合;
配置搜索模块,用于采用多目标遗传算法以及最优配置选择策略对优化模块进行配置,根据所述性能预测模型,搜索当前集群状态下的最优配置;所述优化模块用于同时优化执行时间和内存资源使用量;
待优化的关键参数配置项组合确定模块,用于获取待优化分布式计算作业的作业程序以及待优化分布式计算作业执行时的集群状态,并根据所述待优化分布式计算作业的作业程序确定待优化的关键参数配置项组合;
最优配置确定模块,用于将所述待优化的关键参数配置项组合以及所述待优化分布式计算作业执行时的集群状态输入所述性能预测模型,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合;所述待优化分布式计算作业的执行时间最短的关键参数配置项组合内的每项关键参数配置项的关键参数配置为所述待优化分布式计算作业的最优配置;
所述获取分布式计算作业执行时的集群状态,并根据所述关键参数配置集以及所述集群状态随机生成样本数据集,以所述样本数据集内的关键参数配置项组合以及所述集群状态为输入,以每个所述关键参数配置项组合对应的执行时间为输出,建立性能预测模型,具体包括:
采用交叉验证的方法选择多个浅层全连接神经元网络作为所述性能预测模型的第一层神经网络,将各个第一层神经网络的输出作为第二层线性回归层的输入,构建双层模型,并利用所述双层模型训练所述样本数据集;以所述样本数据集内的关键参数配置项组合以及所述集群状态为第一层神经网络的输入,输出第一层神经网络的预测结果;
将所述预测结果作为所述第二层线性回归层的输入,利用线性回归模型学习训练方法,映射至所述样本数据集的执行时间,输出所述关键参数配置项组合对应的执行时间,建立性能预测模型;
所述采用交叉验证的方法选择多个浅层全连接神经元网络作为所述性能预测模型的第一层神经网络,将各个第一层神经网络的输出作为第二层线性回归层的输入,构建双层模型,并利用所述双层模型训练所述样本数据集;以所述样本数据集内的关键参数配置项组合以及所述集群状态为第一层神经网络的输入,输出第一层神经网络的预测结果,具体包括:
首先从神经元网络库N中选择误差较小的网络;针对有标的样本集,采用交叉验证的方法来选择其中的s个网络;在完成选择后,进行第一层模型的训练;根据第一层所选择的网络数量n,将样本集D均分为n份;依次对第一层中的第i个网络si使用Stacking方法在样本集D-Di上进行训练,并在Di进行预测,将样本集D等分为n份,Di表示第i份,用于网络si的训练;所有网络在对应的Di上的预测结果合并作为第一层的输出;
所述采用多目标遗传算法以及最优配置选择策略对优化模块进行配置,根据所述性能预测模型,搜索当前集群状态下的最优配置,具体包括:
采用多目标优化方法,对执行时间和资源使用量同时进行优化;利用多目标遗传算法,以及最优配置选择策略,配置优化模块为作业进行配置优化;
所述将所述待优化的关键参数配置项组合以及所述待优化分布式计算作业执行时的集群状态输入所述性能预测模型,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合,具体包括:
随机产生所述待优化的关键参数配置项组合,采样所述待优化分布式计算作业执行时的集群状态,输入性能预测模型,以执行时间最短以及内存资源使用量最少为目标,利用NSGA-II算法优化所述待优化分布式计算作业的执行时间,确定优化结果;判断所述优化结果是否满足收敛条件,若是,将执行时间最短的关键参数配置项组合作为最优解;若否,重新利用NSGA-II算法优化所述待优化分布式计算作业的执行时间;
判断所述最优解中是否存在最优配置,若是,舍弃性能表现程度低于性能表现程度阈值的关键参数配置项以换取内存资源使用量最少的关键参数配置项组合;若否,输出所述待优化分布式计算作业的执行时间最短的关键参数配置项组合。
4.根据权利要求3所述的分布式计算作业的参数配置优化系统,其特征在于,所述关键参数配置集确定模块,具体包括:
配置项组合生成单元,用于在每项配置项的参数取值范围内,随机生成多个配置项组合;所述配置项包括关键参数的配置项以及辅助参数的配置项;
执行时间确定单元,用于基于任一个所述分布式计算作业的作业程序结合所述配置项组合,确定每个所述配置项组合对应的执行时间;
关键参数确定单元,用于基于所述执行时间,利用p-value的参数和回归树的不纯度确定关键参数;
关键参数配置集确定单元,用于根据所述关键参数确定关键参数配置集。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011436978.4A CN112540849B (zh) | 2020-12-11 | 2020-12-11 | 一种分布式计算作业的参数配置优化方法及系统 |
US17/791,472 US11768712B2 (en) | 2020-12-11 | 2021-10-20 | Method and system for optimizing parameter configuration of distributed computing job |
PCT/CN2021/124856 WO2022121518A1 (zh) | 2020-12-11 | 2021-10-20 | 一种分布式计算作业的参数配置优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011436978.4A CN112540849B (zh) | 2020-12-11 | 2020-12-11 | 一种分布式计算作业的参数配置优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112540849A CN112540849A (zh) | 2021-03-23 |
CN112540849B true CN112540849B (zh) | 2022-07-26 |
Family
ID=75019931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011436978.4A Active CN112540849B (zh) | 2020-12-11 | 2020-12-11 | 一种分布式计算作业的参数配置优化方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11768712B2 (zh) |
CN (1) | CN112540849B (zh) |
WO (1) | WO2022121518A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540849B (zh) * | 2020-12-11 | 2022-07-26 | 清华大学 | 一种分布式计算作业的参数配置优化方法及系统 |
US11934840B2 (en) * | 2020-12-17 | 2024-03-19 | Hewlett Packard Enterprise Development Lp | Classification of hardware components |
CN113204539B (zh) * | 2021-05-12 | 2023-08-22 | 南京大学 | 一种融合系统语义的大数据系统参数自动优化方法 |
CN116842994B (zh) * | 2023-07-03 | 2024-03-01 | 上海交通大学 | 多神经网络执行效率动态优化方法及系统 |
CN116629458B (zh) * | 2023-07-24 | 2024-01-12 | 深圳康普盾科技股份有限公司 | 一种基于数据分析的储能设备运行优化方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176832A (zh) * | 2019-12-06 | 2020-05-19 | 重庆邮电大学 | 基于内存计算框架Spark的性能优化和参数配置方法 |
CN111461286A (zh) * | 2020-01-15 | 2020-07-28 | 华中科技大学 | 基于进化神经网络的Spark参数自动优化系统和方法 |
CN111629048A (zh) * | 2020-05-22 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | spark集群最优配置参数确定方法、装置及设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152469B2 (en) | 2013-01-28 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Optimizing execution and resource usage in large scale computing |
CN103605662B (zh) | 2013-10-21 | 2017-02-22 | 华为技术有限公司 | 一种分布式计算框架参数优化方法、装置及系统 |
US20150277980A1 (en) | 2014-03-28 | 2015-10-01 | Linkedln Corporation | Using predictive optimization to facilitate distributed computation in a multi-tenant system |
US9405582B2 (en) * | 2014-06-20 | 2016-08-02 | International Business Machines Corporation | Dynamic parallel distributed job configuration in a shared-resource environment |
EP3182288B1 (en) * | 2015-12-15 | 2019-02-13 | Tata Consultancy Services Limited | Systems and methods for generating performance prediction model and estimating execution time for applications |
US9934071B2 (en) | 2015-12-30 | 2018-04-03 | Palo Alto Research Center Incorporated | Job scheduler for distributed systems using pervasive state estimation with modeling of capabilities of compute nodes |
EP3622395A1 (en) | 2017-05-11 | 2020-03-18 | Bull SAS | Method of managing resource providing in a computers cluster running jobs |
CN110941489B (zh) * | 2018-09-21 | 2024-06-18 | 北京京东尚科信息技术有限公司 | 流处理引擎的伸缩方法和装置 |
CN109815537B (zh) * | 2018-12-19 | 2020-10-27 | 清华大学 | 一种基于时间预测的高通量材料仿真计算优化方法 |
IT201900003667A1 (it) * | 2019-03-13 | 2020-09-13 | Akamas S R L | Method and apparatus for tuning adjustable parameters in computing environment |
US11514328B2 (en) * | 2020-05-04 | 2022-11-29 | Kinaxis Inc. | Systems and methods for parameter optimization |
CN112540849B (zh) | 2020-12-11 | 2022-07-26 | 清华大学 | 一种分布式计算作业的参数配置优化方法及系统 |
-
2020
- 2020-12-11 CN CN202011436978.4A patent/CN112540849B/zh active Active
-
2021
- 2021-10-20 WO PCT/CN2021/124856 patent/WO2022121518A1/zh active Application Filing
- 2021-10-20 US US17/791,472 patent/US11768712B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176832A (zh) * | 2019-12-06 | 2020-05-19 | 重庆邮电大学 | 基于内存计算框架Spark的性能优化和参数配置方法 |
CN111461286A (zh) * | 2020-01-15 | 2020-07-28 | 华中科技大学 | 基于进化神经网络的Spark参数自动优化系统和方法 |
CN111629048A (zh) * | 2020-05-22 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | spark集群最优配置参数确定方法、装置及设备 |
Non-Patent Citations (3)
Title |
---|
Hadoop云计算平台的参数优化算法;王春梅 等;《华中师范大学学报(自然科学版)》;20160430;第50卷(第2期);第183-189页 * |
一种Spark作业配置参数智能优化方法;阮树骅 等;《工程科学与技术》;20200131;第52卷(第1期);第191-197页 * |
基于机器学习的HBase配置参数优化研究;徐江峰 等;《计算机科学》;20200630;第47卷(第6期);第474-479,484页 * |
Also Published As
Publication number | Publication date |
---|---|
US20230042890A1 (en) | 2023-02-09 |
WO2022121518A1 (zh) | 2022-06-16 |
US11768712B2 (en) | 2023-09-26 |
CN112540849A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112540849B (zh) | 一种分布式计算作业的参数配置优化方法及系统 | |
CN108509335B (zh) | 基于遗传算法优化的软件测试数据生成方法 | |
CN107908536B (zh) | Cpu-gpu异构环境中对gpu应用的性能评估方法及系统 | |
CN107506865B (zh) | 一种基于lssvm优化的负荷预测方法及系统 | |
CN110135635B (zh) | 一种区域电力饱和负荷预测方法及系统 | |
US10657212B2 (en) | Application- or algorithm-specific quantum circuit design | |
US11003826B1 (en) | Automated analysis and optimization of circuit designs | |
CN110730101B (zh) | 资源分配方法、终端、装置及可读存储介质 | |
US20200250529A1 (en) | Arithmetic device | |
CN111461286B (zh) | 基于进化神经网络的Spark参数自动优化系统和方法 | |
CN103559129A (zh) | 基于遗传算法的统计回归测试数据生成方法 | |
CN110825522A (zh) | Spark参数自适应优化方法及系统 | |
CN111626497B (zh) | 人流量预测方法、装置、设备和存储介质 | |
CN111651220A (zh) | 一种基于深度强化学习的Spark参数自动优化方法及系统 | |
CN112434785B (zh) | 一种面向超级计算机的分布式并行深度神经网络性能评测方法 | |
KR20200125029A (ko) | 회귀 분석 방법 및 장치 | |
CN113032367A (zh) | 面向动态负载场景的大数据系统跨层配置参数协同调优方法和系统 | |
CN111985845A (zh) | 一种异构Spark集群的节点优先级调优方法 | |
CN106919504B (zh) | 一种基于ga算法的测试数据进化生成方法 | |
KR101827124B1 (ko) | 운전자의 주행 패턴 인식 시스템 및 방법 | |
CN115640278B (zh) | 一种数据库性能智能优化的方法及系统 | |
CN106874215B (zh) | 一种基于Spark算子的序列化存储优化方法 | |
US20160104066A1 (en) | Optimization method for a computer system | |
CN110415162B (zh) | 大数据中面向异构融合处理器的自适应图划分方法 | |
CN113821975A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |