CN111309577A - 一种面向Spark的批处理应用执行时间预测模型构建方法 - Google Patents
一种面向Spark的批处理应用执行时间预测模型构建方法 Download PDFInfo
- Publication number
- CN111309577A CN111309577A CN202010102494.XA CN202010102494A CN111309577A CN 111309577 A CN111309577 A CN 111309577A CN 202010102494 A CN202010102494 A CN 202010102494A CN 111309577 A CN111309577 A CN 111309577A
- Authority
- CN
- China
- Prior art keywords
- execution time
- application
- spark
- application execution
- indexes
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 40
- 238000010276 construction Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 10
- 238000012216 screening Methods 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 9
- 230000001186 cumulative effect Effects 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 8
- 230000009467 reduction Effects 0.000 claims description 4
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000000513 principal component analysis Methods 0.000 abstract description 8
- 238000003066 decision tree Methods 0.000 abstract description 2
- 238000012706 support-vector machine Methods 0.000 description 10
- 101001095088 Homo sapiens Melanoma antigen preferentially expressed in tumors Proteins 0.000 description 9
- 102100037020 Melanoma antigen preferentially expressed in tumors Human genes 0.000 description 9
- 238000013468 resource allocation Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 8
- 238000002474 experimental method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007637 random forest analysis Methods 0.000 description 3
- 238000003064 k means clustering Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种面向Spark的批处理应用执行时间预测模型构建方法属于分布式计算领域。本发明提出了一种考虑了不同应用特征的Spark批处理应用执行时间预测模型,首先根据Spark***中批处理应用执行原理选取分类方法影响因素,从中筛选出强相关指标并构建批处理应用执行时间分类方法,然后在每一类批处理应用中充分分析了影响应用执行时间的指标并利用主成分分析法(PCA)和梯度提升决策树算法(GBDT)对应用执行时间进行预测,最后当即席应用到达之后,先判断其所属应用类别继而使用已构建的预测模型来预测其执行时间。
Description
技术领域
本发明属于分布式计算领域,具体涉及Spark***中批处理应用执行时间的预测模型构建方法。
背景技术
分布式内存计算***是大数据处理领域的最新技术进展。Spark***作为典型分布式内存计算***已被广泛应用于大数据处理的众多场景中。批处理应用是Spark***支撑的一类主要应用,其特点是基于有向无环图(Directed Acyclic Graph,DAG)计算模型对静态数据集进行并行处理。批处理应用执行时间预测是保证批处理应用达到软实时需求,指导Spark***资源分配以及应用均衡决策、保障批处理应用服务质量的基础。然而,如何精确预测Spark批处理应用执行时间仍然是一个开放的技术挑战。
近年来,针对大数据***的批处理应用执行时间预测研究工作可分为两类,分别是基于源代码分析的执行时间预测和选取相关因素构建执行时间预测模型。基于源代码分析预测批处理应用的执行时间,即首先对应用的源码进行建模分析,分析源码中每种操作的执行次数以及复杂度来对批处理应用执行时间进行评估。但是这类方法属于基于源代码的白盒分析,需要入侵源代码,不能适用于无法获取源代码的第三方批处理应用。第二类预测模型选取的相关因素包括输入数据规模和资源配置,选取输入数据规模作为相关因素的预测模型可以在输入数据规模改变的前提下进行执行时间预测,即单纯根据历史执行时间来预测应用的执行时间,但是无法在资源量改变的情况下进行有效预测;选取输入数据规模和资源配置作为相关因素的预测模型虽然考虑了输入数据规模以及资源量的变化,但未针对具有不同应用特征的批处理应用进行执行时间预测。
Spark***中,批处理应用的计算具有多样化特征,在相同的数据输入规模和资源配置下,应用执行时间具有较大的差异;并且随着输入数据规模和资源配置的改变,不同应用的执行时间变化趋势也差异较大。然而上述基于相关因素建模的工作针对不同批处理应用均采用统一建模的方法,并且考虑因素较为单一。这会造成Spark批处理应用执行时间预测精度不准确的问题,无法有效指导Spark***资源分配、应用均衡决策以及保障批处理应用服务质量。
发明内容
本发明针对目前Spark批处理应用执行时间预测方法的上述不足,提出了一种区分应用特征的Spark批处理应用执行时间预测方法。该方法首先选择典型的基准程序测试集Hibench作为基础,利用斯皮尔曼相关系数选取Spark批处理应用执行时间分类指标,基于选取指标采用均值漂移聚类算法进行批处理应用执行时间分类;针对每一类Spark批处理应用,该方法采用主成分分析法(PCA)和梯度提升决策树算法(GBDT)对应用执行时间进行预测。最后当即席应用到达之后,先判断其所属应用类别继而使用已构建的预测模型来预测其执行时间。
本发明所述的Spark批处理应用执行时间预测方法分为2个阶段:Spark批处理应用执行时间预测模型的构建和即席应用执行时间的类别匹配及预测。Spark批处理应用执行时间预测模型的构建分为4个步骤:初始化、Spark批处理应用执行时间分类、Spark批处理应用执行时间预测和结束。即席应用执行时间的类别匹配及预测分为4个步骤:初始化、即席应用执行时间分类、即席应用执行时间预测和结束。
上述方法在计算机上按照以下步骤实现:
1.Spark批处理应用执行时间预测模型的构建
1-1)初始化
1-1.1)根据Spark批处理应用的计算特征和对资源使用的特征分别在应用层和***层选取影响Spark批处理应用执行时间的备选指标。
1-1.2)采用控制变量法,变化上述备选指标,寻找在当前的指标组合下,该批处理应用的执行时间,样本集的形式化定义如(1)所示:
T={(x11,x12,...x1n,y1),...(xm1,xm2,…xmn,ym)} (1)
其中xij表示第i个样本的第j个特征属性的特征值,m是样本的个数,n是特征指标的个数,yi表示在特征集{xi1,xi2,...xin}下的应用执行时间。
1-2)Spark批处理应用执行时间分类
1-2.1)用斯皮尔曼相关系数从备选指标中选择与应用执行时间强相关性的指标。计算公式如(2)所示:
其中m表示样本的数量,di=αi-βi,其中元素αi、βi分别表示某种指标的第i个指标值在此指标集中的排行和第i条样本的执行时间在执行时间集合中的排行。
1-2.2)定义数据点P=(p1,p2,...,pn)。其中p1...pn是应用执行时间的强相关指标。
1-2.3)采用标准化欧式距离来计算数据点间距离,计算公式如(3)所示:
其中Pej和Pfj分别表示数据点Pe和Pf的第j个指标值,sj为两个数据点间第j个特征值的标准差。
1-2.4)本发明选用均值漂移聚类算法对Spark批处理应用的执行时间进行分类:
1-2.4.1)在未被分类的数据点中随机选择一个点作为中心O=RandomSelect(s)。
1-2.4.2)找出离中心点距离在半径值r之内的所有点,记做集合R,认为这些点属于簇c,Qr={s:Distance(s,pre)<r}。
其中,Qr是以O为中心点,半径为r的高维球区域;num是包含在Qr范围内点的个数;xi是包含在Sr范围内的点。
1-2.4.4)将中心点移动到偏移均值位置Oz+1=Rz+Oz
其中,Rz为z状态下求得的偏移均值;Oz为z状态下的中心。
1-2.4.5)重复步骤1-2.4.1)-1-2.4.4),直到偏移向量的大小大于0.01,记住此时的中心点。
1-2.4.6)重复1-2.4.1)-1-2.4.5),直到所有的点都被归类。
1-2.4.7)根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。
1-2.4.8)从小到大变化r值,重复1-2.4.1)-1-2.4.7),直到寻找到能够使评价函数E最小的分类方式,计算方法如(4):
其中,Pc表示类簇c的某个数据点,Oc表示类簇c的中心点,k为类簇个数。
1-3)Spark批处理应用执行时间预测
1-3.1)根据Spark应用执行流程来筛选出所有可能影响应用执行时间的参数。
1-3.2)变化应用的输入数据规模以及配置参数的组合,寻找在当前输入数据规模以及配置参数下,该批处理应用的执行时间。模型中训练样本集的形式化定义如下:对于每一类应用L,样本数据集可以表示为:
TL={(x11,x12,...x1n,y1),...(xm1,xm2,…xmn,ym)} (5)
其中xij表示为类别L中第i个样本的第j个特征属性的取值,m是样本的个数,n是特征指标的个数,yi表示在特征取值{xi1,xi2,...xin}下的应用执行时间。
本发明选用PCA对影响Spark批处理应用执行时间的因素进行主成分提取:
1-3.3)将上述数据按列组成m*n的矩阵,并对矩阵按照公式(6)进行标准化处理:
Bij=(θij-∧θj)/Sj (6)
其中,Bij为标准化后数据,θij为原始数据,∧θj为第j个指标的平均值,Sj为第j个指标的标准差。
1-3.4)计算标准化后n个指标的两两相关矩阵。
1-3.5)求取相关矩阵的特征根μj,特征向量,贡献率wj和累计贡献率zj。
贡献率是相关矩阵中第j大的特征值占全部相关矩阵特征值总和的比重,值越大,表明第j个指标呈现出了更多的原始数据信息。计算公式为:
累计贡献率是相关矩阵中前j个特征值的和与相关矩阵中全部特征值的和的比值,这个值越大,说明前j个成分越能充分代表原始数据的信息。计算公式为:
1-3.6)将特征向量按对应特征值大小从上到下按行排列成矩阵选,取前j个指标,使其累积贡献率大于85%,则使用前j个综合指标代替原始的n个指标,达到数据降维的目的。
本发明选用GBDT对Spark批处理应用的执行时间进行预测:
1-3.7)按照公式(9)初始化弱分类器:
其中,L(yI,f(x))是定义的损失函数,m是样本个数。
1-3.8)对每个样本计算负梯度作为残差:
1-3.9)将残差作为新的样本真实值,组成新的训练数据,训练新的弱分类器:
其中,Djh为第h棵回归树叶子节点的个数。
1-3.10)对强分类器进行更新:
1-3.11)重复步骤1-3.7)-1-3.10)t次,t为回归树的个数。
1-3.12)获得最终分类器
1-4)结束,完成Spark批处理应用执行时间预测模型的构建。
2.即席应用执行时间的类别匹配及预测
2-1)初始化:
2-1.1)将该应用运行在一组小规模输入数据集DS={ds1,ds2,…}下,对于每个输入数据集dsi,分别收集Spark批处理应用执行时间分类方法的特征指标。
2-1.2)分别计算上述指标的均值作为最终的特征指标。
2-2)即席应用执行时间分类:执行第一阶段Spark批处理应用执行时间预测模型的构建中的步骤1-2.4),对于分类方法中各个类簇的中心点Oc分别根据公式(3)计算距离d(P,Oc)。最终,将使距离d(P,Oc)最小的类别c作为该应用的类别。
2-3)即席应用执行时间预测:执行第一阶段Spark批处理应用执行时间预测模型的构建中的步骤1-3),完成即席应用的执行时间预测。
2-4)结束,完成即席应用执行时间的类别匹配及预测。
为了实现上述方法,本发明需要构建Spark批处理应用执行时间预测模型和即席应用执行时间的类别匹配及预测。在Spark批处理应用执行时间预测模型的构建中,首先要初始化(步骤1-1)),其次完成Spark批处理应用执行时间分类(步骤1-2)),然后完成Spark批处理应用执行时间预测(步骤1-3)),最后结束,完成Spark批处理应用执行时间预测模型构建(步骤1-4))。在即席应用执行时间的类别匹配及预测中,首先要初始化(步骤2-1)),其次完成即席应用执行时间分类(步骤2-2)),然后完成即席应用执行时间预测(步骤2-3)),最后结束,完成即席应用执行时间的类别匹配及预测(步骤2-4))。
附图说明
图1为本发明方法所依附的Spark***的部署图。
图2为本发明方法的总体流程图。
图3为Spark批处理应用执行时间分类方法的构建流程图。
图4为Spark批处理应用执行时间预测模型的构建流程图。
图5为即席应用类别匹配的处理流程图。
图6不同半径值下的评价函数值。
图7PG、MSRG与本发明的均方根误差。
图8PG、MSRG与本发明的平均绝对百分误差。
具体实施方式
下面结合附图和具体实施方式对本发明进行说明。
本发明基于HiBench基准测试程序集中9个典型批处理应用:PageRank,Wordcount,Sort,Terasort,KMeans,Bayes,Nweight,LR以及LiR来作为Spark批处理应用,阐述所提出的Spark批处理应用执行时间预测方法。图1是本方法所依附的平台架构图,在应用运行过程中可以观测应用执行时间。图2是本发明的总流程。本实施方法步骤可以分为以下步骤:
1.Spark批处理应用执行时间预测模型的构建
1-1)初始化
1-1.1)根据Spark批处理应用的计算特征和对资源使用的特征分别在应用层和***层选取影响Spark批处理应用执行时间的备选指标,备选指标集如表1所示:
表1应用层备选指标信息
表2***层备选指标信息
1-1.2)采用控制变量法,变化上述备选指标,寻找在当前的指标组合下,该批处理应用的执行时间,样本集的形式化定义如(1)所示:
T={(x11,x12,…x1n,y1),…(xm1,xm2,...xmn,ym)} (1)
其中xij表示第i个样本的第j个特征属性的取值,m=500,n=9,yi表示在特征取值{xi1,xi2,...xin}下的应用执行时间。
1-2)Spark批处理应用执行时间分类
1-2.1)用斯皮尔曼相关系数从备选指标中选择与应用执行时间强相关性的指标。计算公式如(2)所示,结果如表3所示:
其中m表示样本的数量,di=αi-βi,其中元素αi、βi分别表示某种指标的第i个指标值在此指标集中的排行和第i条样本的执行时间在执行时间集合中的排行。
表3强相关性能指标
指标 | Spearman相关系数 |
MIA | 0.736 |
OIA | 0.734 |
NO | 0.657 |
WDOR | 0.826 |
NDOR | 0.806 |
CCR | 0.538 |
1-2.2)定义数据点P=(p1,p2,...,p6)。其中P1=MIA,P2=OIA,P3=NO,P4=WDOR,P5=NDPR,P6=CCR。
1-2.3)采用标准化欧式距离来计算数据点间距离,计算公式如(3)所示:
其中Pej和Pfj分别表示数据点Pe和Pf的第j个指标值,sj为两个数据点间第j个特征值的标准差。
1-2.4)本发明选用均值漂移聚类算法对Spark批处理应用的执行时间进行分类:
1-2.4.1)在未被分类的数据点中随机选择一个点作为中心O=RandomSelect(s)。
1-2.4.2)找出离中心点距离在半径值r之内的所有点,记做集合R,认为这些点属于簇c,Qr={s:Distance(s,pre)<r}。
其中,Qr是以O为中心点,半径为r的高维球区域;num是包含在Qr范围内点的个数;xi是包含在Sr范围内的点。
1-2.4.4)将中心点移动到偏移均值位置Oz+1=Rz+Oz。
其中,Rz为z状态下求得的偏移均值;Oz为z状态下的中心。
1-2.4.5)重复步骤1-2.4.1)-1-2.4.4),直到偏移向量值大于0.01,记住此时的中心点。
1-2.4.6)重复1-2.4.1)-1-2.4.5),直到所有的点都被归类。
1-2.4.7)根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。
1-2.4.8)从小到大变化r值,重复1-2.4.1)-1-2.4.7),直到寻找到能够使评价函数E最小的分类方式,计算方法如(4),聚类结果的各类簇中心点如表4所示:
其中,Pc表示类簇c的某个数据点,Oc表示类簇c的中心点,k为类簇个数。
表4聚类结果的各类簇中心点
类簇中心点 | 坐标表示 |
O<sub>1</sub> | (0.27,0.6,13,0.16,0.84,0.003) |
O<sub>1</sub> | (0.013,2.3,12,0.29,0.71,0.13) |
O<sub>1</sub> | (1,1,3,0.33,0.67,2.1) |
1-3)Spark批处理应用执行时间预测
1-3.1)根据Spark应用执行流程来筛选出所有可能影响应用执行时间的参数,根据Spark应用执行流程可以看出,影响应用执行时间的配置参数主要包括应用属性,Shuffle相关,内存管理,执行行为和资源调度参数中。
1-3.2)变化应用的输入数据规模以及配置参数的组合,寻找在当前输入数据规模以及配置参数下,该批处理应用的执行时间。模型中训练样本集的形式化定义如下:对于每一类应用L,样本数据集可以表示为:
TL={(x11,x12,…x1n,y1),…(xm1,xm2,…,xmn,ym)} (5)
其中xij表示为类别L中第i个样本的第j个特征属性的取值,m=1200,n=21,yi表示在特征取值{xi1,xi2,...xin}下的应用执行时间。
1-3.3)将上述数据按列组成m*n的矩阵,并对矩阵按照公式(6)进行标准化处理:
Bij=(θij-∧θj)/Sj (6)
其中,Bij为标准化后数据,θij为原始数据,∧θj为第j个指标的平均值,Sj为第j个指标的标准差。
1-3.4)计算标准化后n个指标的两两相关矩阵。
1-3.5)求取相关矩阵的特征根μj,特征向量,贡献率wj和累计贡献率zj,结果如表5所示。
贡献率是相关矩阵中第j大的特征值占全部相关矩阵特征值总和的比重,值越大,表明第j个指标呈现出了更多的原始数据信息。计算公式为:
累计贡献率是相关矩阵中前j个特征值的和与相关矩阵中全部特征值的和的比值,这个值越大,说明前j个成分越能充分代表原始数据的信息。计算公式为:
表5特征根、贡献率及累计贡献率
序号 | 特征根 | 贡献率 | 累计贡献率 |
1 | 1.70 | 0.235 | 0.235 |
2 | 1.63 | 0.233 | 0.468 |
3 | 1.26 | 0.178 | 0.646 |
4 | 1.24 | 0.176 | 0.822 |
5 | 0.77 | 0.110 | 0.932 |
… | … | … | … |
1-3.6)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前5个指标,其累积贡献率大于90%,达到数据降维的目的。
本发明选用GBDT对Spark批处理应用的执行时间进行预测:
1-3.7)按照公式(9)初始化弱分类器:
其中,L(yI,f(x))是定义的损失函数,m=1200。
1-3.8)对每个样本计算负梯度作为残差:
1-3.9)将残差作为新的样本真实值,组成新的训练数据,训练新的弱分类器:
其中,Djh为第h棵回归树叶子节点的个数。
1-3.10)对强分类器进行更新:
1-3.11)重复步骤1-3.7)-1-3.10)200次。
1-3.12)获得最终分类器
1-4)结束,完成Spark批处理应用执行时间预测模型的构建。
2.即席应用执行时间的类别匹配及预测
2-1)初始化:选取随机森林算法(RF)作为Spark即席应用来预测其执行时间。
2-1.1)将该应用运行在一组小规模输入数据集DS={100MB,200MB,300MB,400MB}下,对于每个输入数据集,分别收集Spark批处理应用执行时间分类方法的特征指标。
2-1.2)分别计算上述指标的均值作为最终的特征指标,结果如表6所示:
表6各特征指标均值
指标 | 均值 |
MIA | 0.27 |
OIA | 0.6 |
NO | 34 |
WDOR | 0.18 |
NDOR | 0.82 |
2-2)即席应用执行时间分类:执行第一阶段Spark批处理应用执行时间预测模型的构建中的步骤1-2.4),对于分类方法中各个类簇的中心点Oj分别根据(14)计算距离d(P,Oj)。最终,将使距离d(P,Oj)最小的类别j作为该应用的类别:
预测点距离各类簇的中心点距离如表7所示:
表7预测点距离各类簇的中心点距离
类簇中心点 | 距离 |
O<sub>1</sub> | 0.27 |
O<sub>2</sub> | 0.6 |
O<sub>3</sub> | 12 |
因此,RF的执行时间与O1所在类簇为同一类。
2-3)即席应用执行时间预测:执行第一阶段Spark批处理应用执行时间预测模型的构建中的步骤1-3),完成即席应用的执行时间预测。在固定输入数据规模为2G,内存资源为3G,CPU资源为3cores下,RF的预测执行时间为1020s。
2-4)结束,完成即席应用执行时间的类别匹配及预测。
根据本发明所提出的基于分类的Spark批处理应用执行时间预测模型,发明人对预测的准确度做了相关的测试。验证结果表明,与传统预测模型相比,采用本发明方法,可以达到更高的预测精度。
测试以均方根误差和平均绝对百分误差为指标,体现本发明提出的Spark批处理应用执行时间预测模型的预测精度。性能测试运行于5个节点构成的集群***,节点的硬件配置包括:Intel(R)Xeon(R)CPU [email protected]的CPU、16GB DDR3RAM、1TB SATA硬盘,节点间采用千兆以太网互连,操作***为Centos6.5。实验选用随机森林算法(RF),交替最小二乘(ALS),支持向量机(SVM),词频统计(Wordcount)以及K均值聚类(Kmeans)作为Spark应用来评价本发明在变化输入数据规模与资源配置下的性能。
针对预测模型准确性的测试
通过发明内容所述方法计算Spark批处理应用的均方根误差和平均绝对百分误差。本实验选取随机森林算法(RF),交替最小二乘(ALS),支持向量机(SVM),词频统计(Wordcount)以及K均值聚类(Kmeans)作为Spark应用来评价本发明在变化输入数据规模与资源配置下的性能。首先在改变输入数据规模和资源配置的前提下,进行本发明与KNN、SVM、LR算法的性能对比,测试结果如表3,4所示;然后在固定输入数据规模与资源配置前提下,对本发明与无分类前提下、无PCA前提下的预测模型进行性能对比,测试结果如图6,7所示。
首先在固定资源量下,改变应用的输入数据规模分别为500MB,1GB,2GB,4GB,进行若干次实验,得到各评价指标值如表8所示。
表8不同预测模型在改变输入数据规模下的预测精度
由表8可知,在固定资源配置、变换输入数据规模的条件下,本发明在所有测试应用的各组数据集上均比KNN获得了较低的RMSE和MAPE,经计算可得,与KNN相比,本发明使得RMSE和MAPE最大降低25.7%和28.5%。
然后在固定输入数据规模与CPU资源下,改变应用的内存资源分别为1G,2G,3G,进行若干次实验,得到各评价指标值如表9所示。
表9不同预测模型在改变内存资源下的预测精度
由表9可知,固定输入数据规模与CPU资源下,改变内存资源的条件下,本发明在所有测试应用的各组数据集上均比SVM和LR获得了较低的RMSE和MAPE,经计算可得,与SVM和LR相比,本发明使得RMSE和MAPE最大降低50.1%和47%。
最后在固定输入数据规模与内存资源下,改变应用的CPU资源分别为2cores,3cores,6cores,进行若干次实验,得到各评价指标值如表10所示。
表10不同预测模型在改变CPU资源下的预测精度
由表10可知,在固定输入数据规模与内存资源,改变CPU资源的条件下,本发明在所有测试应用的各组数据集上均比SVM和LR获得了较低的RMSE和MAPE,经计算可得,与SVM和LR相比,本发明使得RMSE和MAPE最大降低47.2%和41.3%。
接下来本发明在固定输入数据规模与资源配置下,验证本发明与无分类前提下的预测模型PG(PCA-GBDT)、无PCA前提下的预测模型MSRG(Mean Shift-Random-GBDT)的性能对比,得到各评价指标值如图7、8所示。由图7,8可知,在相同输入数据规模与资源配置下,与PG和MSRG相比,本发明均获得了更低的RMSE和MAPE。与PG相比,本发明使得RMSE和MAPE最大降低39.6%和35.5%;与MSRG相比,本发明使得RMSE和MAPE最大降低42.5%和37.7%。
综上所述,不管是KNN、SVM、LR模型,还是未分类前提下的PCA-GBDT模型、未PCA下的MSRG模型,本发明的预测精度均高于上述预测模型。实际结果表明,与上述预测模型相比,本发明可使得均方根误差和平均绝对百分误差平均降低32.1%和33.9%。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何本发明而并非限制本发明所描述的技术,而一切不脱离发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。
Claims (1)
1.一种面向Spark的批处理应用执行时间预测模型构建方法,其特征在于,执行过程分为2个阶段:
1)Spark批处理应用执行时间预测模型的构建
1-1)初始化
1-1.1)根据Spark批处理应用的计算特征和对资源使用的特征分别在应用层和***层选取影响Spark批处理应用执行时间的备选指标;
1-1.2)采用控制变量法,变化上述备选指标,寻找在当前的指标组合下,该批处理应用的执行时间,样本集的形式化定义如(1)所示:
T={(x11,x12,...x1n,y1),...(xm1,xm2,...xmn,ym)} (1)
其中xij表示第i个样本的第j个特征属性的特征值,m是样本的个数,n是特征指标的个数,yi表示在特征集{xi1,xi2,...xin}下的应用执行时间;
1-2)Spark批处理应用执行时间分类
1-2.1)用斯皮尔曼相关系数从备选指标中选择与应用执行时间强相关性的指标;计算公式如(2)所示:
其中m表示样本的数量,di=αi-βi,其中元素αi、βi分别表示某种指标的第i个指标值在此指标集中的排行和第i条样本的执行时间在执行时间集合中的排行;
1-2.2)定义数据点P=(p1,p2,...,pn);其中p1…pn是应用执行时间的强相关指标;
1-2.3)采用标准化欧式距离来计算数据点间距离,计算公式如(3)所示:
其中Pej和Pfj分别表示数据点Pe和Pf的第j个指标值,sj为两个数据点间第j个特征值的标准差;
1-2.4)选用均值漂移聚类算法对Spark批处理应用的执行时间进行分类:
1-2.4.1)在未被分类的数据点中随机选择一个点作为中心O=RandomSelect(s);
1-2.4.2)找出离中心点距离在半径值r之内的所有点,记做集合R,认为这些点属于簇c,Qr={s:Distance(s,pre)<r};
其中,Qr是以O为中心点,半径为r的高维球区域;num是包含在Qr范围内点的个数;xi是包含在Sr范围内的点;
1-2.4.4)将中心点移动到偏移均值位置Oz+1=Rz+Oz
其中,Rz为z状态下求得的偏移均值;Oz为z状态下的中心;
1-2.4.5)重复步骤1-2.4.1)-1-2.4.4),直到偏移向量的大小大于0.01,记住此时的中心点;
1-2.4.6)重复1-2.4.1)-1-2.4.5),直到所有的点都被归类;
1-2.4.7)根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类;
1-2.4.8)从小到大变化r值,重复步骤1-2.4.1)到1-2.4.7),直到寻找到能够使评价函数E最小的分类方式,计算方法如(4):
其中,Pc表示类簇c的某个数据点,Oc表示类簇c的中心点,k为类簇个数;
1-3)Spark批处理应用执行时间预测
1-3.1)根据Spark应用执行流程来筛选出所有可能影响应用执行时间的参数;
1-3.2)变化应用的输入数据规模以及配置参数的组合,寻找在当前输入数据规模以及配置参数下,该批处理应用的执行时间;模型中训练样本集的形式化定义如下:对于每一类应用L,样本数据集表示为:
TL={(x11,x12,...x1n,y1),...(xm1,xm2,...xm)} (5)
其中xij表示为类别L中第i个样本的第j个特征属性的取值,m是样本的个数,n是特征指标的个数,yi表示在特征取值{xi1,xi2,...xin}下的应用执行时间;
选用PCA对影响Spark批处理应用执行时间的因素进行主成分提取:
1-3.3)将上述数据按列组成m*n的矩阵,并对矩阵按照公式(6)进行标准化处理:
1-3.4)计算标准化后n个指标的两两相关矩阵;
1-3.5)求取相关矩阵的特征根μj,特征向量,贡献率wj和累计贡献率zj;
贡献率是相关矩阵中第j大的特征值占全部相关矩阵特征值总和的比重,计算公式为:
累计贡献率是相关矩阵中前j个特征值的和与相关矩阵中全部特征值的和的比值,这个值越大,说明前j个成分越能充分代表原始数据的信息;计算公式为:
1-3.6)将特征向量按对应特征值大小从上到下按行排列成矩阵选,取前j个指标,使其累积贡献率大于85%,则使用前j个综合指标代替原始的n个指标,达到数据降维的目的;
选用GBDT对Spark批处理应用的执行时间进行预测:
1-3.7)按照公式(9)初始化弱分类器:
其中,L(yI,f(x))是定义的损失函数,m是样本个数;
1-3.8)对每个样本计算负梯度作为残差:
1-3.9)将残差作为新的样本真实值,组成新的训练数据,训练新的弱分类器:
其中,Djh为第h棵回归树叶子节点的个数;
1-3.10)对强分类器进行更新:
1-3.11)重复步骤1-3.7)-1-3.10)t次,t为回归树的个数;
1-3.12)获得最终分类器
1-4)结束,完成Spark批处理应用执行时间预测模型的构建;
2)即席应用执行时间的类别匹配及预测
2-1)初始化:
2-1.1)将该应用运行在一组小规模输入数据集DS={ds1,ds2,…}下,对于每个输入数据集dsi,分别收集Spark批处理应用执行时间分类方法的特征指标;
2-1.2)分别计算上述指标的均值作为最终的特征指标;
2-2)即席应用执行时间分类:执行第一阶段Spark批处理应用执行时间预测模型的构建中的步骤1-2.4),对于分类方法中各个类簇的中心点Oc分别根据公式(3)计算距离d(P,Oc);最终,将使距离d(P,Oc)最小的类别c作为该应用的类别;
2-3)即席应用执行时间预测:执行第一阶段Spark批处理应用执行时间预测模型的构建中的步骤1-3),完成即席应用的执行时间预测;
2-4)结束,完成即席应用执行时间的类别匹配及预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010102494.XA CN111309577B (zh) | 2020-02-19 | 2020-02-19 | 一种面向Spark的批处理应用执行时间预测模型构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010102494.XA CN111309577B (zh) | 2020-02-19 | 2020-02-19 | 一种面向Spark的批处理应用执行时间预测模型构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309577A true CN111309577A (zh) | 2020-06-19 |
CN111309577B CN111309577B (zh) | 2024-04-23 |
Family
ID=71145055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010102494.XA Active CN111309577B (zh) | 2020-02-19 | 2020-02-19 | 一种面向Spark的批处理应用执行时间预测模型构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309577B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112348173A (zh) * | 2020-11-13 | 2021-02-09 | 南开大学 | 一种移动平台上cnn流水线优化方法 |
CN113052214A (zh) * | 2021-03-14 | 2021-06-29 | 北京工业大学 | 基于长短期时间序列网络的换热站超短期热负荷预测方法 |
CN114187061A (zh) * | 2020-09-14 | 2022-03-15 | 秀铺菲公司 | 用于数据处理的动态调度的***和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608512A (zh) * | 2016-03-24 | 2016-05-25 | 东南大学 | 一种短期负荷预测方法 |
US20170169336A1 (en) * | 2015-12-15 | 2017-06-15 | Tata Consultancy Services Limited | Systems and methods for generating performance prediction model and estimating execution time for applications |
CN109285589A (zh) * | 2018-10-31 | 2019-01-29 | 重庆邮电大学 | 一种基于Spark大数据平台的铝电解过热度预测方法 |
-
2020
- 2020-02-19 CN CN202010102494.XA patent/CN111309577B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170169336A1 (en) * | 2015-12-15 | 2017-06-15 | Tata Consultancy Services Limited | Systems and methods for generating performance prediction model and estimating execution time for applications |
CN105608512A (zh) * | 2016-03-24 | 2016-05-25 | 东南大学 | 一种短期负荷预测方法 |
CN109285589A (zh) * | 2018-10-31 | 2019-01-29 | 重庆邮电大学 | 一种基于Spark大数据平台的铝电解过热度预测方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114187061A (zh) * | 2020-09-14 | 2022-03-15 | 秀铺菲公司 | 用于数据处理的动态调度的***和方法 |
CN114187061B (zh) * | 2020-09-14 | 2024-04-16 | 秀铺菲公司 | 用于数据处理的动态调度的***和方法 |
CN112348173A (zh) * | 2020-11-13 | 2021-02-09 | 南开大学 | 一种移动平台上cnn流水线优化方法 |
CN113052214A (zh) * | 2021-03-14 | 2021-06-29 | 北京工业大学 | 基于长短期时间序列网络的换热站超短期热负荷预测方法 |
CN113052214B (zh) * | 2021-03-14 | 2024-05-28 | 北京工业大学 | 基于长短期时间序列网络的换热站超短期热负荷预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111309577B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220391767A1 (en) | System and method for relational time series learning with the aid of a digital computer | |
US20240212149A1 (en) | System and method of classification of biological particles | |
CN107292350A (zh) | 大规模数据的异常检测方法 | |
CN111626821B (zh) | 基于集成特征选择实现客户分类的产品推荐方法及*** | |
CN111309577B (zh) | 一种面向Spark的批处理应用执行时间预测模型构建方法 | |
CN105975518B (zh) | 基于信息熵的期望交叉熵特征选择文本分类***及方法 | |
WO2021189830A1 (zh) | 样本数据优化方法、装置、设备及存储介质 | |
CN111338950A (zh) | 一种基于谱聚类的软件缺陷特征选择方法 | |
CN107679138A (zh) | 基于局部尺度参数、熵和余弦相似性的谱特征选择方法 | |
CN111209939A (zh) | 一种具有智能参数优化模块的svm分类预测方法 | |
CN112949954A (zh) | 基于识别学习建立财务欺诈识别模型的方法 | |
Dahiya et al. | A rank aggregation algorithm for ensemble of multiple feature selection techniques in credit risk evaluation | |
CN114722918A (zh) | 一种基于dna甲基化的肿瘤分类方法 | |
Mandal et al. | Unsupervised non-redundant feature selection: a graph-theoretic approach | |
CN113837266A (zh) | 一种基于特征提取和Stacking集成学习的软件缺陷预测方法 | |
CN111950652A (zh) | 一种基于相似度的半监督学习数据分类算法 | |
Bhuyan et al. | Sub-feature selection based classification | |
CN116304518A (zh) | 用于信息推荐的异质图卷积神经网络模型构建方法及*** | |
CN113657106B (zh) | 基于归一化词频权重的特征选择方法 | |
US20230385664A1 (en) | A computer-implemented method for deriving a data processing and inference pipeline | |
CN112215297A (zh) | 基于因子分析的生产制造数据分层聚类方法 | |
CN113538029A (zh) | 用户行为数据预测方法、装置、设备及介质 | |
Mohseni et al. | Outlier Detection in Test Samples using Standard Deviation and Unsupervised Training Set Selection | |
Ding et al. | Credit scoring using ensemble classification based on variable weighting clustering | |
Wang et al. | Multi-kernel learning for multi-label classification with local Rademacher complexity |
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 |