CN110390345B - 一种基于云平台的大数据集群自适应资源调度方法 - Google Patents

一种基于云平台的大数据集群自适应资源调度方法 Download PDF

Info

Publication number
CN110390345B
CN110390345B CN201810357057.5A CN201810357057A CN110390345B CN 110390345 B CN110390345 B CN 110390345B CN 201810357057 A CN201810357057 A CN 201810357057A CN 110390345 B CN110390345 B CN 110390345B
Authority
CN
China
Prior art keywords
task
configuration
time
cluster
big 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
Application number
CN201810357057.5A
Other languages
English (en)
Other versions
CN110390345A (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.)
Fudan University
Original Assignee
Fudan University
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 Fudan University filed Critical Fudan University
Priority to CN201810357057.5A priority Critical patent/CN110390345B/zh
Publication of CN110390345A publication Critical patent/CN110390345A/zh
Application granted granted Critical
Publication of CN110390345B publication Critical patent/CN110390345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属计算技术领域,涉及基于云平台的大数据集群自适应资源调度方法。包括:在大数据分析任务分类解析阶段,通过神经网络分类器对大数据分析任务的CPU及I/O特性初步解析;在少量样本集群配置初定阶段,借助贝叶斯优化算法,快速取到最优配置;在集群配置在线优化阶段,配置选择策略的迭代优化;在足量样本带有时间限制的配置选择阶段,基于非负最小二乘法,预测大数据分析任务在不同配置下的执行时间,以及在有时间限制条件选择最优配置。本方法能解决在云平台上运行大数据分析任务的集群配置合理选择问题,在保证任务执行效率同时,保障云平台资源利用率。

Description

一种基于云平台的大数据集群自适应资源调度方法
技术领域
本发明属于云计算技术领域,具体涉及一种基于云平台的大数据集群自适应资源调度法的方法。
背景技术
随着计算机存储能力的提升和复杂算法的发展,近年来互联网的数据量成指数型增长,这些趋势使科学技术的发展也日新月异。到2020年,全球范围内新增和被复制的数据总量预计将增长至44ZB。业内认为,数据的大量积累和增长归功于各个企业和个人的数据相关实践;以Facebook为例,每日用户上传图片总数最多可达3亿张,每日内容传递最多可达25亿条,每日可新增多达500TB的数据总量;与之类似,Google的月搜索量多时可达1000亿次。资料显示,集群环境在过去10年内持续且快速地发展变化,集群调度场景和目标也日趋复杂,传统调度结构的性能瓶颈被放大,研究者开始向全新的调度结构进行探索,应运而生了众多新思路、新结构。目前大数据计算有众多计算模型,包括:面向批处理的MapReduce,RDD;面向数据库的Tenzing,Hive等;他们各自有相关的研究文献和实现原型,其中有些也包含了模型内的任务调度设计,在一定程度上,这些计算模型提高了对数据处理的效率,缓解了数据处理的压力,但实践显示,这些计算模型往往对相应的软硬件要求较高,需要相应规模的计算机集群予以支持,这就对一些规模较小、资源有限的用户造成的一定困难。为了解决所述的问题,云计算平台应运而生,为广大用户提供了一个较为经济、适用的进行大数据应用的基础性平台。云计算平台主要是以服务为主,面向用户提供计算资源与计算功能,可以实现用户的“按需访问”,并以“按需付费”的业务模式进行,很大程度上同时解决了用户对资源的需求与硬件要求的矛盾。实践显示,云计算平台可以实现大数据应用的迁移,弥补传统大数据应用的运行缺陷:在技术层面上,云计算平台基于虚拟化技术,一方面,降低了大数据处理在软硬件方面的要求与成本投入,另一方面,云计算平台将底层平台资源与上层应用服务进行一定程度的耦合,提高了云计算平台中的资源调度的灵活性,在满足用户需求方面有着更大的空间;在业务模式上,云计算平台作为第三方,将大数据应用进行集中化,并提供专业的服务、维护与管理,以服务向用户收取费用,在这一业务运行模式下,用户无需对大数据应用进行维护与管理,只需按照自己的目的在云计算平台上接受服务,降低了用户成本,提高了用户的可用资源范围。
经对现有技术的文献检索发现,传统的云平台资源调度方案大多是基于既定的规则和策略,通过设计调度算法实现任务执行时间最小化、资源利用率最大化等目标,然而随着云平台的广泛使用以及大数据分析的快速发展,大数据分析任务越来越多样化,而云平台的使用和配置也变得越来越灵活。传统的资源调度方案越来越难以满足复杂多变的环境以及快速响应的要求。随着近年来数据驱动方法的流行,学术界也已经出现了一些基于数据驱动的云平台资源调度的研究方案,包括基于传统的机器学习(MachineLearning,ML)的研究以及基于强化学习(ReinforcementLearning,RL)的研究等,但是目前这些研究在具体应用到云平台当中时,都还存在着欠缺之处,如,Christina Delimitrou等【CC2013,Christina Delimitrou and Christos Kozyrakis.QoS-Awarescheduling inheterogeneous datacenters with paragon.ACM,2013.】通过对工作量建模的方式掌握任务的特征,将其与具有相似特征的任务相联系,用历史的经验指导即将到来的任务的资源分配,该方法依赖于大量的工作量数据进行准确的建模,同时需要足够的历史运行数据来支持资源分配决策;ShivaramVenkataraman等【SZM2016,ShivaramVenkataraman,ZonghengYang,Michael Franklin,Benjamin Recht,and Ion Stoica.Ernest:Efficientperformanceprediction for large-scale advanced analytics.NSDI’16,363-378.】针对云平台上的大数据集群配置选择问题提出了一种基于机器学习建模的方法,对于某一特定的任务和某种特定的虚拟机类型,在给定虚拟机数量和数据量大小的情况下,通过历史数据训练得到预测模型,可以预测该任务在当前数据量大小和虚拟机数量的情况下的执行时间,这种方法虽然可以实现准确的时间预测,并基于预测的时间为其分配合理的配置,但是它的训练成本过大,需要大量的历史数据以保证模型的准确性,且对于不同的任务和虚拟机类型都需要重新训练,灵活性较差;Omid Alipourfard等【OHJ2017,OmidAlipourfard,Hongqiang Harry Liu,Jianshu Chen,ShivaramVenkataraman,MinlanYu,and Ming Zhang.Cherrypick:Adaptively unearthing the best cloud configurationsfor big dataanalytics.NSDI’17,469-482.】针对只有少量数据样本的情况,同样采用数据驱动的方法,通过少量的几次采样,就可以获得一个接近最优的集群配置,但是这种方案只能针对日常重复性任务,且对不同的任务均需要重新采样训练;等等。
基于现有技术的现状,本申请的发明人拟提供一种基于云平台的大数据集群自适应资源调度方法,本发明的适应范围更广,可以更一般性地支持大部分的大数据分析任务;且灵活性较高,可以通过不断迭代地优化以适应动态变化的环境。
发明内容
本发明的目的在于基于现有技术的现状,提供一种基于云平台的大数据集群自适应资源调度方法。本发明基于公有云平台,以提高云平台资源利用率为目标,设计了大数据集群自适应资源调度方法。本发明在云平台上,覆盖了大数据分析任务分类解析,少量样本集群配置初定,集群配置在线优化及足量样本下带有时间限制的配置选择四个机制,使得整个资源配置和调度机制更具有适用性和通用性。
本发明基于公有云平台包含若干用户,在该模式下,云平台的资源共享且有限,不同用户之间的需求也不尽相同,如何能既满足用户需求,又不浪费资源,降低用户花费成为一个关键性的问题;本发明在用户每次提交任务时,可根据任务的类型,数据量的大小,预计完成时间等条件推荐一个合理的集群配置,并可进行在线学习优化;利用此机制,在满足用户需求的前提下,能最大化的提高云平台的资源使用率,降低用户的总花费。
更具体的,本发明的目的通过下述技术方案施行。
本发明提供了一种基于云平台的大数据集群自适应资源调度方法,其根据用户任务的实际情况及用户需求推荐集群配置;其包括:
(1)大数据分析任务分类解析阶段,
引入神经网络分类器,采用预先建立的若干不同特点的集群为训练样本做标记,针对用户提交的每一个任务,根据其在预先建立的集群上的性能表现,得到其IO和CPU的影响程度,从而将其归类;
(2)少量样本集群配置初定阶段,
对于用户提交的每个任务,系统均分配一个任务ID,记录对应的集群配置,并据此得到用户成本;对于重复性的任务,利用贝叶斯优化的方法,通过在具体配置上运行任务得到对应的成本进行采样,从而计算成本函数的最小值或近似最小值;选择最优配置的时间成本很小,实验表明每个重复性任务平均执行6次就可以找到最优的配置;
(3)集群配置在线优化阶段,
考虑到在前阶段中,由于分组是粗粒度的,并且云环境复杂多变,单次任务运行可能存在意外情况,因此,在本阶段中基于数据驱动的思想,增加了一个在线优化模块,当要为一个任务进行集群选择的时候,首先根据前阶段所述得到一个当前最优配置,当该任务运行结束后,得到其实际运行时间,对之前的配置选择逻辑进行更新,以服务于后面到来的任务;随着用户实际运行的任务数目不断增加,集群配置选择将进行迭代的动态优化;
(4)足量样本下带有时间限制的配置选择阶段,
在系统投入运行一段时间后,系统已积累了足够的历史数据,当用户对任务的运行时间有限制时,基于NNLS(非负最小二乘法),引入了在不同配置下对不同任务运行时间进行预测的时间预测算法,使用虚拟机数量与数据量作为模型的输入,输出为对应的运行时间;所述模型所需样本及训练集较小,同时可以生成各种配置下的预测时间,所述模型只需要少量相同任务类型的实测数据,即可完成对该种任务类型各种配置下的性能预测,以适应用户的不同需求。
本发明的大数据分析任务分类解析阶段中,基于用户提交的不同类型的任务,可将其看作是若干标准工具集的加权组合;用M1,M2,…,Mn表示所有n个工具集,每个用户任务J则可以表示为:
其中,wi表示工具集Mi的权重,由此,经过上述过程,由多个固定的工具集组成的任务,均可以由向量w=[w1,w2,…,wn]T表示;通过三层神经网络分类器,为所述任务做分类标记。
本发明中,在少量样本集群配置初定阶段,使用贝叶斯优化寻找使任务的成本函数最小极值点的方法;贝叶斯优化有多种表示形式,该方案中使用高斯过程(GaussianProcess,以下简称GP)表示贝叶斯优化的过程,其表达的是函数在某一点函数值的分布,即公式2:
f(x)~gp(m(x),k(x,x′)) (公式2)
其中m(x)代表样本f(x)的数学期望E(f(x)),在贝叶斯优化中通常取0,k(x,x′)为核函数,描述的是x的协方差;
所述的GP是一个广义上的函数,该函数返回的不是对应于每一个x的函数值f(x);而是返回x对应的函数值的正态分布(具有一定的平均值和方差);
通过已知的采样点可以求得函数在每个未知点的函数值的正态分布形式(即标准差和均值),
μt(Xt+1)=kTK-1f1:t (公式3)
其中k是方差,K表示协方差矩阵,f1:t表示1,…,t的采样值;
除了初始采样点之外,为了减小置信区间,需要在已有结果的基础上选择下一个采样点,该方案中利用EI(Expected Improvement)的选择下一个采样点,EI的计算方法如公式5:
选择EI最大的点作为下一个采样点,当EI小于一阈值且采样次数高于最小值时BO过程结束,得到函数的最小值或近似最小值。
本发明中,在集群配置在线优化阶段,在向优化配置选择系统返回任务的运行时间时,返回的是本次任务的实际运行时间与之前历史任务的运行时间在分配各自权重之后进行加权计算得出的任务运行时间,避免单次任务运行过程中的意外情况对结果产生较大影响;同时,考虑到历史任务运行时的集群运行状态与当前集群运行状况的相关性,越早运行的任务所对应的历史任务运行时间在加权计算中所分配的权重系数越低,而与当前时间越接近的任务所对应的运行时间在加权计算中所分配的权重系数越高。
本发明中,在足量样本下带有时间限制的配置选择阶段,建立了运行时间预测算法,其中使用NNLS(非负最小二乘法)预测任务执行时间的算法,构建预测模型;
模型以虚拟机数与数据量作为特征量,构建如下预测结果计算函数:
函数中,常数项θ0表示连续计算的固定时间花费,有关数据量与虚拟机数的第二项则表示数据量线性增长时算法并行计算所花费的时间,对数项log(machines)表示聚合树等模式的模型通信时间,线性项O(machines)表示归一化通信模式以及调度/序列化任务等固定开支,θi表示每一项的权重系数;
为了求出系数θi,对历史采样点数据使用非负最小二乘,
θ=NNLS(scale,machines,time) (公式7)
在公式7中,time为每一个历史作业的实际运行时间,NNLS为非负最小二乘法计算函数;
求得系数θi后,代入预测结果计算函数
即可求得所需配置下模型预测结果。
本发明进行了实际运作,结果显示,与现有技术相比,本发明的有益效果在于:
本发明解决了在云平台上运行大数据分析任务时的集群配置合理选择的问题,在保证任务执行效率的同时,能保障云平台的资源利用率。
附图说明
图1为应用程序级别的分类器。
图2为无时间限制情况的工作流程。
图3为在线配置优化阶段的工作流程。
图4为训练集的应用程序级分类情况。
图5为测试集的应用程序级分类情况。
图6为少量样本配置初定阶段的配置选择准确性情况。
图7为少量样本配置初定阶段的配置选择的开销情况。
图8为在线优化阶段的性能提升结果。
图9为本发明总体结构图。
具体实施方式
下面结合附图和实施例对本发明的技术方案具体介绍。
实施例1
本发明针对云平台下不同类型任务进行大数据集群资源配置,如图9所示,当用户需要申请资源运行任务时,首先,对大数据分析任务进行分类解析,运用三层神经网络分类器将任务归类到某一种事先标记好的类型中;随后,在少量样本集群配置初定阶段,利用贝叶斯优化方法找到使用户申请资源的成本最小的配置,并返回给用户;之后,基于数据驱动的思想增加了在线优化模块,对每次任务运行完成后的真实时间进行迭代的动态优化,以解决前阶段可能存在的分类不准确等问题(前三阶段为无时间限制情况的工作流程,如图2所示);最后,针对带有时间限制的任务,利用NNLS(非负最小二乘法)预测任务执行时间,在此执行时间范围内挑选成本最低的配置;更具体的,
1.大数据分析任务分类解析阶段
通常,用户运行的任务都是近似的重复性任务,此时只要为这一类近似的重复性任务建立一套合适的优化配置的流程,但考虑到更加一般的情况,如果用户运行的任务并非重复性任务,而是动态调整的应用程序,则不适合为每个任务都建立一套优化配置的流程;
考虑一般的情况,即不能对每个不同的任务进行不同的配置优化与选择,也不能对所有任务选择同样的配置作为最优配置,因此,本发明引入了任务分类器,根据任务的特征将不同的任务进行分组,使得组内的任务享有相似的特征,从而可以为每组任务选得一个最优配置;
每个用户任务都可以看作是若干工具集的加权组合,用M1,M2,…,Mn表示所有n个工具集,每个用户任务J则可以表示为公式1:
在公式1中,wi表示工具集Mi的权重,这样,每个经过探索性分析流程,由多个固定的工具集组成的任务,都可以由向量w=[w1,w2,…,wn]T表示;
本发明中构建了一个三层的神经网络分类器,如图1所示,在该神经网络中,输入层输入向量x,则其下一层的输入为:z=w·x+b,其中w和b是所构建的分类模型的参数,本发明选择ReLU(RectifiedLinearUnits,修正线性单元)作为激活函数,则每个神经元的输出可以表示为公式9:
a=f(z)=max(0,z) (公式9)
在分类器的最后一层使用Softmax回归模型进行分类,其是Logistic回归模型在多分类问题上的推广;在Softmax回归当中,对于由m个训练样本组成的训练集{(x(1),y(1)),…,(x(m),y(m))}(其中输入特征即特征向量的维度为n+1,x0=1为对应截距项),其类标记y(i)∈{1,2,…,k},表示一共有k个分类;
对于给定的x,需要顾及x的每一种分类出现的概率p。假设函数可以表示为公式10:
在公式10中,是模型的参数,p(y=j|x)表示x属于类j的概率;
本发明中,预先建立了五个集群,作为训练样本,并做标记,这五个集群中,其中三个集群中的资源总量相同,但是虚拟机数目不同,IO密集型的任务会倾向于在机器数目更多的集群上,表现出更好的性能;另外三个集群(其中有一个集群与之前的三个集群中的某一个重复)的虚拟机数目相同,但是CPU资源总量不同,且保证其他因素(如磁盘,内存容量等)不是瓶颈因素,CPU密集型的任务会倾向于在CPU资源更充足的集群上,表现出更好的性能,由此,根据每个任务在五个集群上的不同性能表现,可以得到其IO和CPU的影响程度,表现为一个元组(Pio,Pcpu),分别表示该任务对IO和CPU的依赖程度,其中Pio+Pcpu=1。通过计算每个任务的(Pio,Pcpu)与每个分类的(Pio,Pcpu)之间的距离,选出距离最短的一个分类,即为该任务的分类标记;
下述算法1是对应用程序级分类器的训练集打标签时的算法的具体实现:
在上述算法1中,只有有限个子任务是实际在五个集群中运行,其余的计算和打标签的过程均为简单的计算,其开销可以忽略不计;该算法能保证任务分析模型较低的训练代价,每个任务在经过上述分类器之后,就完成了基于应用程序的分类;此外,还需要根据数据量的大小,进一步细分成若干子类,之后就可以进行组级别的最优配置选择;
2.少量样本集群配置初定阶段
在上一阶段中,每一个到来的任务都依据其应用程序特征和数据量大小进行了分组,在本阶段中,实现了组级别的最优配置选择,本阶段的特点是,可以通过少量的采样,较快速地找到最优(或近似最优)的集群配置,
对于第一阶段中得到的每一个分组,本发明从中取出一个“代表性任务”,“代表性任务”的选择原则如下:
(1)该任务属于某一个特定的分组;
(2)该任务是该分组内所有任务中CPU及I/O特性与该组应用程序级分类标签的CPU及I/O特性最接近的一个任务;
选定每组的代表性任务之后,可以分别对每组的代表性任务进行采样和最优配置选择,所选出的最优配置及作为该分组内所有其他任务的“最优配置”(近似);
本阶段中采用贝叶斯优化算法实现最优配置选择:
贝叶斯优化(Bayesian Optimization)是用于寻找未知表达式或者表达式难以刻画的函数的极值点的一种方法;在集群配置选择问题中,对于每个重复性任务,其成本函数C(x)与多种因素有关,并且函数表达式是未知的,但是本发明可以通过在一些具体的配置上运行任务,得到任务对应的成本,即可以得到C(x)在某些配置点上的真实值;贝叶斯优化可以通过对未知函数少量的采样,计算函数的最小值或近似最小值;
贝叶斯优化有多种表示形式,本方案中使用高斯过程(Gaussian Process,以下简称GP)表示贝叶斯优化的过程,高斯过程是多元高斯分布的拓展(多维到无穷维),多元高斯分布表达的是变量的分布,而高斯过程表达的是函数在某一点函数值的分布即公式2:
f(x)~gp(m(x),k(x,x′)) (公式2)
其中m(x)代表样本f(x)的数学期望E(f(x)),在贝叶斯优化中通常取0,k(x,x′)为核函数,描述的是x的协方差
所述GP是一个广义上的函数,这个函数返回的不是对应于每一个x的函数值f(x);而是返回x对应的函数值的正态分布(具有一定的平均值和方差);
对于一个未知的函数,假设有一些先验的知识,以及初始采样点,通过观察函数在初始采样点上的值,函数值的置信区间([μ(x)-σ(x),μ(x)+σ(x)]的范围)会缩小,更接近真实值;
通过已知的采样点可以求得函数在每个未知点的函数值的正态分布形式(即标准差和均值),
μt(Xt+1)=kTK-1f1:t (公式3)
其中k是方差,K表示协方差矩阵,f1:t表示1,…,t的采样值;
除了初始采样点之外,为了减小置信区间,需要在已有结果的基础上选择下一个采样点,该方案中利用EI(Expected Improvement)的来选择下一个采样点,EI的计算方法如公式5:
选择EI最大的点作为下一个采样点,当EI小于一阈值且采样次数高于最小值时BO过程结束,得到函数的最小值或近似最小值;
下述算法2是基于少量样本的配置选择算法的具体实现:
在算法2中,首先在每个分组中选定一个代表性任务;然后,对于每个代表性任务,为其启动一个BO进程,每次选择一个采样点(集群配置)并在该配置下执行该任务,将任务执行时间返回给BO;BO接收到该采样点的执行结果后,继续选择下一采样点;重复上述过程,直到达到终止条件;随着任务执行次数的增加,最终BO会选择一个最优的配置;选择最优配置的时间成本很小,实验表明每个重复性任务平均执行6次就可以找到最优的配置;
本阶段的设计能保证在系统尚未投入运营前或者尚未掌握足够的有价值的历史数据的情况下,可以通过低成本的少量采样,得到一个较优的资源分配方案;
3.集群配置在线优化阶段
经过前两个阶段的工作,可以实现一个较粗粒度的集群配置选择,一方面,这种粗粒度下的集群配置选择方法中得到的最优配置可能会有一定的偏差,这取决于分类的准确性、每个分组选出的用来获得该分组的最优配置的任务的代表性等多种因素;另一方面,考虑到云环境的复杂多变的特点,本发明基于数据驱动的思想,增加集群配置的在线优化阶段:当要为一个任务进行集群选择的时候,首先依据上述配置选择方案(前两阶段),返回一个当前最优配置,当该任务运行结束之后,其运行时间数据返回至优化配置选择系统,系统在接收到任务的实际运行时间后,对之前的配置选择逻辑进行更新,以服务于后面到来的任务,随着用户实际运行的任务数目不断增加,集群配置选择将进行迭代的动态优化,集群配置的在线优化流程如图3所示;
在向优化配置选择系统返回任务的运行时间时,返回的不是这次任务的实际运行时间,而是返回本次任务的实际运行时间与之前历史任务的运行时间在分配各自权重之后进行加权计算得出的任务运行时间,这样,每一个在云平台运行过的任务的运行时间都会对集群的在线优化模块的优化过程产生一定的影响,从而避免在单次任务运行过程中出现意外状况,即得到的运行时间有明显较大偏差时,在线优化模块仅根据错误的历史记录对集群配置进行优化及选择,对整个选择结果造成过大影响;同时,将历史任务运行时间加入优化过程,会在一定程度上减少误差记录对在线优化模块造成的负面影响,并且,考虑到历史任务运行时的集群运行状态与当前集群运行状况的相关性,越早运行的任务所对应的历史任务运行时间在加权计算中所分配的权重系数越低,而与当前时间越接近的任务所对应的运行时间在加权计算中所分配的权重系数越高,这样的权重系数分配方式,使得与集群当前状态越接近的任务的运行结果,对在线优化模块的配置优化及选择影响越大,从而使得在线优化模块的配置优化及选择的结果越符合集群当前的运行状态;
4.足量样本下带有时间限制的配置选择阶段
本阶段的问题场景是:用户对任务运行时间有限制时,即用户期望能够在规定的时间内完成任务,通过本阶段所述方法,系统能够自动根据用户需求,对不同配置下任务的运行时间进行预测,从而选出用户时间限制要求的最优集群配置;
本阶段中引入了一个运行时间预测算法,使用虚拟机数量与数据量作为模型的输入,从而预测在不同配置下的集群运行不同的任务时所需的运行时间;
在基于数据驱动的性能预测预案中,使用了NNLS(非负最小二乘法)预测任务执行时间的算法,建立相关预测模型;
最小二乘法作为一种数学优化技术,它通过最小化误差的平方和找到一组数据的最佳函数匹配是用最简单的方法求得一些绝对不可知的真值,而令误差平方之和为最小;
在超定方程组中:
在公式8中m代表有m个等式,n代表有n个未知数β,m>n;将其进行向量化后为公式9:
Xβ=y (公式12)
该方程组一般而言没有解,为了选取最合适的β使得该等式尽量成立,引入残差平方和函数,
S(β)=‖Xβ-y‖2 (公式13)
时,S(β)取最小值,记作公式11
通过对S(β)进行微分求最值,可以得到公式12:
若矩阵XTX非奇异,则β有唯一解:
非负最小二乘法是系数不允许变为负数的最小二乘法的约束版本,即给定矩阵X,以及相应变量y,寻找到在β>0的约束下使得argmin‖Xβ-y‖2最小的解;
模型以虚拟机数与数据量作为特征量,构建了如下预测结果计算函数:
函数中,常数项θ0表示连续计算的固定时间花费,有关数据量与虚拟机数的第二项则表示数据量线性增长时算法并行计算所花费的时间,对数项log(machines)表示聚合树等模式的模型通信时间,线性项O(machines)表示归一化通信模式以及调度/序列化任务等固定开支,θi表示每一项的权重系数;
为了求出系数θi,对历史采样点数据使用非负最小二乘,
θ=NNLS(scale,machines,time) (公式7)
在公式7中,time为每一个历史作业的实际运行时间,NNLS为非负最小二乘法计算函数;
求得系数θi后,代入预测结果计算函数
即可求得所需配置下模型预测结果。
下述算法3是带有时间限制的任务配置选择算法的具体实现:
/>
在算法3中,当收到带有时间限制的任务时,首先会检查由前三阶段得到的最优配置是否满足时间限制要求,如果满足则不需要重新做预测选择;如果不满足,则需要在配置空间中重新寻找满足时间限制要求的配置,并在其中选择最优配置。
结果显示,本发明在满足用户需求的前提下,能尽可能的最大化资源的利用率,降低用户的成本,提高用户体验。
实施例2
一)、大数据分析任务分类解析实验
为了实施本发明方法的全过程并评估本方法的性能,本发明的实验部分通过一些代表性大数据性能测试任务,在一个基于OpenStack架构的社区云平台上进行实验。
本实验分别选择了TeraSort、TestDFSIO、TPC-DS、SparkMLRegression和SparkMLKmeans等五个大数据分析基准任务作为本发明方法中的子任务,其中,TeraSort可以根据键值对大规模的输入文件进行排序,它既依赖于集群的CPU能力,也依赖于I/O能力;TestDFSIO是一个著名的I/O密集型任务,它可以用来测试给定HDFS的I/O速度;TPC-DS是一个决策支持基准测试,它有着高CPU和I/O负载;SparkMLRegression和SparkMLKmeans是Spark集群上的两个基准任务,分别用于做回归和分类分析,它们都更依赖于内存空间而对磁盘I/O的要求较低;
通过上述子任务的加权组合构造实验中的大数据分析任务,由于上述五个子任务中只有一个任务是典型的I/O密集型任务,因此在进行分类依据的时候,选择将类标签的设置向CPU密集型的方向偏移,即设定更多的偏CPU密集型的类,以保证随机构造的大数据分析任务能够分散到每个类中;
本实验中随机构造了400个大数据分析任务,其中300个作为分类器的训练集,用于模型训练;另外100个作为测试集,用于测试模型的分类效果,对训练集打标签之后,结果如图4所示,测试集的分类结果如图5所示,分类器的准确率高达98.0%;
二)、少量样本集群配置初定实验
在OpenStack平台上,集群中每个节点的配置由其flavor决定,一个flavor的配置中,包括虚拟CPU的数量、内存和磁盘大小等关键信息,管理员可以有针对性地定制flavor。在实验中,本实验确定了一个大小为40的配置空间,其中包含了不同flavor(CPU数量、磁盘及内存大小)及集群组成节点个数;
在前一阶段的基础上,在每个任务分组中取出一个代表性任务,即与该类标签(CPU及I/O特性)最接近的任务,将其作为该分组其他任务的代表,为各自的类选择最优配置;
选择穷举法作为对比实验,通过对这几个代表性任务在各个配置下进行穷举地运行,能够确切地得到该任务的最优配置,另一方面,用本发明的方法在配置空间中进行采样,会为每个任务选定一个最优配置,图6展示了两种方法下的最优配置选择结果(纵坐标表示在本发明方法下选定的配置下任务的运行时间,与穷举法选定的配置下的任务运行时间的比值,以百分比表示),图7展示了两种方法选到最优配置是花费的时间之比;
结果显示,本发明方法可以在只有少量样本的情况下,快速选到一个接近最优的配置,其选定的配置与真实最优配置的误差不超过7%,平均误差为2.2%;其所花费的时间只有穷举法的19.9%;
三、集群配置的在线优化实验与带有时间限制的配置选择实验
在在线优化阶段,随机选择了100个大数据分析任务,这100个任务分可以分散到五个类中,在实验中,分别对这100个任务进行有在线优化和无优化的对比实验;
对于不进行在线优化的情况,分别对这100个任务通过分类器进行分类,然后使用各自分类下的最优配置选择集群、执行任务,并记录任务执行时间;对于有在线优化的情况,在执行任务的过程中,迭代地更新当前最优配置;
最终的结果如图8所示,对于A和D类任务,在线优化并没有更改所选择的配置;对于其它三类任务,在线优化最高有7.7%的性能提升(C类),在线执行100个任务之后,在线优化的平均性能提升为3.0%,随着执行任务的增加,在线优化的效果更加显著;
对于带有时间限制条件的配置选择,本实验同样采用与穷举法相对比的方法进行实验,实验结果表明,在有时间限制的条件下,本发明方法仍能够在短时间内找到最优集群配置,而搜索时间只需要穷举搜索的约四分之一。

Claims (7)

1.一种基于云平台的大数据集群自适应资源调度方法,其特征在于,其通过主动分析大数据任务对于集群中各项资源的依赖关系,进行自适应的集群配置选择与优化;其包括:
(1)大数据分析任务分类解析阶段
引入神经网络分类器,采用建立的若干不同特点的集群为训练样本做标记,针对用户提交的每一个任务,根据其在预先建立的集群上的性能表现,得到其IO和CPU的影响程度,从而将其归类;
(2)少量样本集群配置初定阶段
对于用户提交的每个任务,系统分配一个任务ID,记录对应的集群配置,并据此得到用户成本;对于重复性的任务,利用贝叶斯优化的方法,通过在具体配置上运行任务得到对应的成本进行采样,从而计算成本函数的最小值或近似最小值;
(3)集群配置在线优化阶段
基于数据驱动的思想,增加一个在线优化模块;当要为一个任务进行集群选择的时候,首先根据阶段(2)得到一个当前最优配置,当该任务运行结束后,
得到其实际运行时间,对之前的配置选择逻辑进行更新,以服务于后面到来的任务;随着用户实际运行的任务数目不断增加,集群配置选择将进行迭代的动态优化;
(4)足量样本下带有时间限制的配置选择阶段
当用户对任务的运行时间有限制时,基于非负最小二乘法NNLS,引入在不同配置下对不同任务运行时间进行预测的时间预测算法,使用虚拟机数量与数据量作为模型的输入,输出为对应的运行时间;非负最小二乘法模型同时生成各种配置下的预测时间。
2.根据权利要求1所述的基于云平台的大数据集群自适应资源调度方法,其特征在于,所述的少量样本集群配置初定阶段中,每个重复性任务平均执行6次即找到最优的配置。
3.根据权利要求1所述的基于云平台的大数据集群自适应资源调度方法,其特征在于,所述的足量样本下带有时间限制的配置选择阶段中,基于系统投入运行一段时间后已积累了足够的历史数据,所述使用虚拟机数量与数据量作为模型的输入,输出为对应的运行时间;所述模型需要少量相同任务类型的实测数据,完成对该任务类型各种配置下的性能预测,以适应用户的不同需求。
4.根据权利要求1所述的基于云平台的大数据集群自适应资源调度方法,其特征在于,大数据分析任务分类解析阶段,基于用户提交的不同类型的任务,将其看作是若干标准工具集的加权组合,用M1,M2,…,Mn表示所有n个工具集,每个用户任务J则表示为:
其中,wi表示工具集Mi的权重,经过此过程,由多个固定的工具集组成的任务,都由向量w=[w1,w2,…,wn]T表示,通过三层神经网络分类器,为所述任务做分类标记。
5.根据权利要求1所述的基于云平台的大数据集群自适应资源调度方法,其特征在于,在少量样本集群配置初定阶段,使用贝叶斯优化寻找使任务的成本函数最小极值点的方法,使用高斯过程表示贝叶斯优化的过程,其表达的是函数在某一点函数值的分布,即公式2:
f(x)~gp(m(x),k(x,x′)) (公式2)
其中m(x)代表样本f(x)的数学期望E(f(x)),在贝叶斯优化中取0,k(x,x′)为核函数,描述的是x的协方差,
所述gp为广义上的函数,该函数返回的不是对应于每一个x的函数值f(x);而是返回x对应的函数值的正态分布;
通过已知的采样点求得函数在每个未知点的函数值的正态分布形式,
μt(Xt+1)=kTK-1f1:t (公式3)
其中k是方差,K表示协方差矩阵,f1:t表示1,…,t的采样值;
为了减小置信区间,需要在已有结果的基础上选择下一个采样点,利用EI选择下一个采样点,EI的计算方法如公式5:
选择EI最大的点作为下一个采样点,当EI小于一阈值且采样次数高于最小值时贝叶斯优化过程结束,得到函数的最小值或近似最小值。
6.根据权利要求1所述的基于云平台的大数据集群自适应资源调度方法,其特征在于,在集群配置在线优化阶段,在向优化配置选择系统返回任务的运行时间时,返回的是本次任务的实际运行时间与之前历史任务的运行时间在分配各自权重之后进行加权计算得出的任务运行时间;同时,考虑到历史任务运行时的集群运行状态与当前集群运行状况的相关性,越早运行的任务所对应的历史任务运行时间在加权计算中所分配的权重系数越低,而与当前时间越接近的任务所对应的运行时间在加权计算中所分配的权重系数越高。
7.根据权利要求1所述的基于云平台的大数据集群自适应资源调度方法,其特征在于,在足量样本下带有时间限制的配置选择阶段,建立了运行时间预测算法,其中使用了NNLS预测任务执行时间的算法,构建预测模型,
模型以虚拟机数与数据量作为特征量,构建如下预测结果计算函数:
函数中,常数项θ0表示连续计算的固定时间花费,第二项则表示数据量线性增长时算法并行计算所花费的时间,对数项log(machines)表示包括聚合树模式的模型通信时间,线性项θ3×machines表示归一化通信模式以及调度/序列化任务的固定开支,θi表示每一项的权重系数;
为了求出系数θi,对历史采样点数据使用非负最小二乘,
θ=NNLS(scale,lachines,time) (公式7)
在公式7中,time为每一个历史作业的实际运行时间;
求得系数θ后,代入公式6即求得所需配置下模型预测结果。
CN201810357057.5A 2018-04-20 2018-04-20 一种基于云平台的大数据集群自适应资源调度方法 Active CN110390345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810357057.5A CN110390345B (zh) 2018-04-20 2018-04-20 一种基于云平台的大数据集群自适应资源调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810357057.5A CN110390345B (zh) 2018-04-20 2018-04-20 一种基于云平台的大数据集群自适应资源调度方法

Publications (2)

Publication Number Publication Date
CN110390345A CN110390345A (zh) 2019-10-29
CN110390345B true CN110390345B (zh) 2023-08-22

Family

ID=68284083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810357057.5A Active CN110390345B (zh) 2018-04-20 2018-04-20 一种基于云平台的大数据集群自适应资源调度方法

Country Status (1)

Country Link
CN (1) CN110390345B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125005B (zh) * 2019-12-03 2022-07-08 苏州浪潮智能科技有限公司 一种hdfs分布式文件系统io性能调优方法、系统及设备
CN113032033B (zh) * 2019-12-05 2024-05-17 中国科学院深圳先进技术研究院 一种大数据处理平台配置的自动优化方法
CN111176840B (zh) * 2019-12-20 2023-11-28 青岛海尔科技有限公司 分布式任务的分配优化方法和装置、存储介质及电子装置
CN112000460A (zh) * 2020-04-14 2020-11-27 华为技术有限公司 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备
CN111754017A (zh) * 2020-04-20 2020-10-09 怀曦智能科技(上海)有限公司 一种基于机器学习的ls-dyna计算时间自动预测算法
US11263025B2 (en) 2020-05-26 2022-03-01 International Business Machines Corporation Proactively performing tasks based on estimating hardware reconfiguration times
EP3944029A1 (en) * 2020-07-21 2022-01-26 Siemens Aktiengesellschaft Method and system for determining a compression rate for an ai model of an industrial task
CN112328355B (zh) * 2020-10-09 2024-04-23 中山大学 一种针对长寿命容器的自适应最优内存预留估计方法
CN112286658A (zh) * 2020-10-28 2021-01-29 北京字节跳动网络技术有限公司 一种集群任务调度方法、装置、计算机设备及存储介质
CN112381445A (zh) * 2020-11-27 2021-02-19 哈尔滨财富通科技发展有限公司 一种跨数据服务商边界的数据中心任务分配系统
CN113553175B (zh) * 2021-07-08 2024-04-16 浙江工业大学 面向交通数据流的最优排序算法选择方法
CN115967641B (zh) * 2023-03-16 2023-05-30 浙江正泰仪器仪表有限责任公司 一种批量设备参数操作的方法、装置、计算机设备及介质
CN116842994B (zh) * 2023-07-03 2024-03-01 上海交通大学 多神经网络执行效率动态优化方法及系统
CN116755893B (zh) * 2023-08-22 2023-11-17 之江实验室 面向深度学习的分布式计算系统的作业调度方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065745A (zh) * 2014-07-07 2014-09-24 电子科技大学 云计算动态资源调度系统和方法
CN104123189A (zh) * 2014-06-30 2014-10-29 复旦大学 一种基于IaaS层应用感知的Web多层应用动态资源调整方法
CN104618406A (zh) * 2013-11-05 2015-05-13 镇江华扬信息科技有限公司 一种基于朴素贝叶斯分类的负载均衡算法
CN105320559A (zh) * 2014-07-30 2016-02-10 中国移动通信集团广东有限公司 一种云计算系统的调度方法和装置
CN106951330A (zh) * 2017-04-10 2017-07-14 郑州轻工业学院 一种云服务中心服务效用最大化的虚拟机分配方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10031785B2 (en) * 2015-04-10 2018-07-24 International Business Machines Corporation Predictive computing resource allocation for distributed environments

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618406A (zh) * 2013-11-05 2015-05-13 镇江华扬信息科技有限公司 一种基于朴素贝叶斯分类的负载均衡算法
CN104123189A (zh) * 2014-06-30 2014-10-29 复旦大学 一种基于IaaS层应用感知的Web多层应用动态资源调整方法
CN104065745A (zh) * 2014-07-07 2014-09-24 电子科技大学 云计算动态资源调度系统和方法
CN105320559A (zh) * 2014-07-30 2016-02-10 中国移动通信集团广东有限公司 一种云计算系统的调度方法和装置
CN106951330A (zh) * 2017-04-10 2017-07-14 郑州轻工业学院 一种云服务中心服务效用最大化的虚拟机分配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于服务网格架构的内容分发关键技术研究;吕智慧;《中国优秀博硕士学位论文全文数据库 (博士)信息科技辑》;20050315;全文 *

Also Published As

Publication number Publication date
CN110390345A (zh) 2019-10-29

Similar Documents

Publication Publication Date Title
CN110390345B (zh) 一种基于云平台的大数据集群自适应资源调度方法
CN108108762B (zh) 一种用于冠心病数据的核极限学习机及随机森林分类方法
CN107908536B (zh) Cpu-gpu异构环境中对gpu应用的性能评估方法及系统
CN108805193B (zh) 一种基于混合策略的电力缺失数据填充方法
CN109343951B (zh) 移动计算资源分配方法、计算机可读存储介质和终端
CN112511547A (zh) 基于Spark和聚类的网络异常流量分析方法及系统
CN110705716A (zh) 一种多模型并行训练方法
Escobar et al. Parallel high-dimensional multi-objective feature selection for EEG classification with dynamic workload balancing on CPU–GPU architectures
CN113391894A (zh) 一种基于rbp神经网络的最优超任务网优化方法
CN116057518A (zh) 使用机器学习模型的自动查询谓词选择性预测
Wang et al. A novel two-step job runtime estimation method based on input parameters in HPC system
Shukla et al. FAT-ETO: Fuzzy-AHP-TOPSIS-Based efficient task offloading algorithm for scientific workflows in heterogeneous fog–cloud environment
Ismaeel et al. An efficient workload clustering framework for large-scale data centers
Hao et al. Transfer learning of Bayesian network for measuring QoS of virtual machines
CN107066328A (zh) 大规模数据处理平台的构建方法
AbdelAziz et al. A parallel multi-objective swarm intelligence framework for Big Data analysis
CN113032367A (zh) 面向动态负载场景的大数据系统跨层配置参数协同调优方法和系统
CN112035234A (zh) 分布式批量作业分配方法及装置
CN111950652A (zh) 一种基于相似度的半监督学习数据分类算法
Gu et al. Characterizing job-task dependency in cloud workloads using graph learning
Hou et al. A task scheduling approach based on particle swarm optimization for the production of remote sensing products
CN114968563A (zh) 基于组合神经网络的微服务资源分配方法
Suryanarayana et al. Novel dynamic k-modes clustering of categorical and non categorical dataset with optimized genetic algorithm based feature selection
EP4363997A1 (en) Using query logs to optimize execution of parametric queries
Ding et al. An efficient query processing optimization based on ELM in the cloud

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