CN111309577A - 一种面向Spark的批处理应用执行时间预测模型构建方法 - Google Patents

一种面向Spark的批处理应用执行时间预测模型构建方法 Download PDF

Info

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
Application number
CN202010102494.XA
Other languages
English (en)
Other versions
CN111309577B (zh
Inventor
梁毅
李硕
曾绍康
伍佳名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202010102494.XA priority Critical patent/CN111309577B/zh
Publication of CN111309577A publication Critical patent/CN111309577A/zh
Application granted granted Critical
Publication of CN111309577B publication Critical patent/CN111309577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (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系统作为典型分布式内存计算系统已被广泛应用于大数据处理的众多场景中。批处理应用是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)所示:
Figure BDA0002387332770000021
其中m表示样本的数量,di=αii,其中元素αi、βi分别表示某种指标的第i个指标值在此指标集中的排行和第i条样本的执行时间在执行时间集合中的排行。
1-2.2)定义数据点P=(p1,p2,...,pn)。其中p1...pn是应用执行时间的强相关指标。
1-2.3)采用标准化欧式距离来计算数据点间距离,计算公式如(3)所示:
Figure BDA0002387332770000022
其中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}。
1-2.4.3)计算从中心点开始到集合R中每个元素的向量,将这些向量相加,得到偏移向量
Figure BDA0002387332770000031
其中,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):
Figure BDA0002387332770000032
其中,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个指标呈现出了更多的原始数据信息。计算公式为:
Figure BDA0002387332770000041
累计贡献率是相关矩阵中前j个特征值的和与相关矩阵中全部特征值的和的比值,这个值越大,说明前j个成分越能充分代表原始数据的信息。计算公式为:
Figure BDA0002387332770000042
1-3.6)将特征向量按对应特征值大小从上到下按行排列成矩阵选,取前j个指标,使其累积贡献率大于85%,则使用前j个综合指标代替原始的n个指标,达到数据降维的目的。
本发明选用GBDT对Spark批处理应用的执行时间进行预测:
1-3.7)按照公式(9)初始化弱分类器:
Figure BDA0002387332770000043
其中,L(yI,f(x))是定义的损失函数,m是样本个数。
1-3.8)对每个样本计算负梯度作为残差:
Figure BDA0002387332770000044
1-3.9)将残差作为新的样本真实值,组成新的训练数据,训练新的弱分类器:
Figure BDA0002387332770000045
其中,Djh为第h棵回归树叶子节点的个数。
1-3.10)对强分类器进行更新:
Figure BDA0002387332770000046
1-3.11)重复步骤1-3.7)-1-3.10)t次,t为回归树的个数。
1-3.12)获得最终分类器
Figure BDA0002387332770000051
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应用层备选指标信息
Figure BDA0002387332770000061
表2系统层备选指标信息
Figure BDA0002387332770000062
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所示:
Figure BDA0002387332770000071
其中m表示样本的数量,di=αii,其中元素α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)所示:
Figure BDA0002387332770000072
其中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}。
1-2.4.3)计算从中心点开始到集合R中每个元素的向量,将这些向量相加,得到偏移向量
Figure BDA0002387332770000073
其中,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所示:
Figure BDA0002387332770000081
其中,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个指标呈现出了更多的原始数据信息。计算公式为:
Figure BDA0002387332770000091
累计贡献率是相关矩阵中前j个特征值的和与相关矩阵中全部特征值的和的比值,这个值越大,说明前j个成分越能充分代表原始数据的信息。计算公式为:
Figure BDA0002387332770000092
表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)初始化弱分类器:
Figure BDA0002387332770000093
其中,L(yI,f(x))是定义的损失函数,m=1200。
1-3.8)对每个样本计算负梯度作为残差:
Figure BDA0002387332770000094
1-3.9)将残差作为新的样本真实值,组成新的训练数据,训练新的弱分类器:
Figure BDA0002387332770000095
其中,Djh为第h棵回归树叶子节点的个数。
1-3.10)对强分类器进行更新:
Figure BDA0002387332770000101
1-3.11)重复步骤1-3.7)-1-3.10)200次。
1-3.12)获得最终分类器
Figure BDA0002387332770000102
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作为该应用的类别:
Figure BDA0002387332770000103
预测点距离各类簇的中心点距离如表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 E5-26600@2.2.GHz的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不同预测模型在改变输入数据规模下的预测精度
Figure BDA0002387332770000111
Figure BDA0002387332770000121
由表8可知,在固定资源配置、变换输入数据规模的条件下,本发明在所有测试应用的各组数据集上均比KNN获得了较低的RMSE和MAPE,经计算可得,与KNN相比,本发明使得RMSE和MAPE最大降低25.7%和28.5%。
然后在固定输入数据规模与CPU资源下,改变应用的内存资源分别为1G,2G,3G,进行若干次实验,得到各评价指标值如表9所示。
表9不同预测模型在改变内存资源下的预测精度
Figure BDA0002387332770000122
Figure BDA0002387332770000131
Figure BDA0002387332770000141
由表9可知,固定输入数据规模与CPU资源下,改变内存资源的条件下,本发明在所有测试应用的各组数据集上均比SVM和LR获得了较低的RMSE和MAPE,经计算可得,与SVM和LR相比,本发明使得RMSE和MAPE最大降低50.1%和47%。
最后在固定输入数据规模与内存资源下,改变应用的CPU资源分别为2cores,3cores,6cores,进行若干次实验,得到各评价指标值如表10所示。
表10不同预测模型在改变CPU资源下的预测精度
Figure BDA0002387332770000142
Figure BDA0002387332770000151
由表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)所示:
Figure FDA0002387332760000011
其中m表示样本的数量,di=αii,其中元素αi、βi分别表示某种指标的第i个指标值在此指标集中的排行和第i条样本的执行时间在执行时间集合中的排行;
1-2.2)定义数据点P=(p1,p2,...,pn);其中p1…pn是应用执行时间的强相关指标;
1-2.3)采用标准化欧式距离来计算数据点间距离,计算公式如(3)所示:
Figure FDA0002387332760000012
其中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};
1-2.4.3)计算从中心点开始到集合R中每个元素的向量,将这些向量相加,得到偏移向量
Figure FDA0002387332760000013
其中,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):
Figure FDA0002387332760000021
其中,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)进行标准化处理:
Figure FDA0002387332760000022
其中,Bij为标准化后数据,θij为原始数据,
Figure FDA0002387332760000023
为第j个指标的平均值,Sj为第j个指标的标准差;
1-3.4)计算标准化后n个指标的两两相关矩阵;
1-3.5)求取相关矩阵的特征根μj,特征向量,贡献率wj和累计贡献率zj
贡献率是相关矩阵中第j大的特征值占全部相关矩阵特征值总和的比重,计算公式为:
Figure FDA0002387332760000031
累计贡献率是相关矩阵中前j个特征值的和与相关矩阵中全部特征值的和的比值,这个值越大,说明前j个成分越能充分代表原始数据的信息;计算公式为:
Figure FDA0002387332760000032
1-3.6)将特征向量按对应特征值大小从上到下按行排列成矩阵选,取前j个指标,使其累积贡献率大于85%,则使用前j个综合指标代替原始的n个指标,达到数据降维的目的;
选用GBDT对Spark批处理应用的执行时间进行预测:
1-3.7)按照公式(9)初始化弱分类器:
Figure FDA0002387332760000033
其中,L(yI,f(x))是定义的损失函数,m是样本个数;
1-3.8)对每个样本计算负梯度作为残差:
Figure FDA0002387332760000034
1-3.9)将残差作为新的样本真实值,组成新的训练数据,训练新的弱分类器:
Figure FDA0002387332760000035
其中,Djh为第h棵回归树叶子节点的个数;
1-3.10)对强分类器进行更新:
Figure FDA0002387332760000036
1-3.11)重复步骤1-3.7)-1-3.10)t次,t为回归树的个数;
1-3.12)获得最终分类器
Figure FDA0002387332760000037
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)结束,完成即席应用执行时间的类别匹配及预测。
CN202010102494.XA 2020-02-19 2020-02-19 一种面向Spark的批处理应用执行时间预测模型构建方法 Active CN111309577B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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大数据平台的铝电解过热度预测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
CN107292350A (zh) 大规模数据的异常检测方法
CN111309577B (zh) 一种面向Spark的批处理应用执行时间预测模型构建方法
CN111626821B (zh) 基于集成特征选择实现客户分类的产品推荐方法及系统
WO2021189830A1 (zh) 样本数据优化方法、装置、设备及存储介质
CN111338950A (zh) 一种基于谱聚类的软件缺陷特征选择方法
CN107679138A (zh) 基于局部尺度参数、熵和余弦相似性的谱特征选择方法
Mandal et al. Unsupervised non-redundant feature selection: a graph-theoretic approach
CN111209939A (zh) 一种具有智能参数优化模块的svm分类预测方法
CN112949954B (zh) 基于识别学习建立财务欺诈识别模型的方法
Zhang et al. Research on borrower's credit classification of P2P network loan based on LightGBM algorithm
CN111950652A (zh) 一种基于相似度的半监督学习数据分类算法
Saha et al. A large scale study of SVM based methods for abstract screening in systematic reviews
Bhuyan et al. Sub-feature selection based classification
CN116304518A (zh) 用于信息推荐的异质图卷积神经网络模型构建方法及系统
CN114722918A (zh) 一种基于dna甲基化的肿瘤分类方法
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
CN105654112B (zh) 一种高效的物联网标识编码划分方法
Wang et al. Multi-kernel learning for multi-label classification with local Rademacher complexity
CN113435655B (zh) 扇区动态管理决策方法、服务器及系统
CN114281994B (zh) 一种基于三层加权模型的文本聚类集成方法及系统
US20230385664A1 (en) A computer-implemented method for deriving a data processing and inference pipeline

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