CN111522644B - 基于历史运行数据预测并行程序运行时间的方法 - Google Patents

基于历史运行数据预测并行程序运行时间的方法 Download PDF

Info

Publication number
CN111522644B
CN111522644B CN202010323618.7A CN202010323618A CN111522644B CN 111522644 B CN111522644 B CN 111522644B CN 202010323618 A CN202010323618 A CN 202010323618A CN 111522644 B CN111522644 B CN 111522644B
Authority
CN
China
Prior art keywords
data
model
scale
processors
small
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
CN202010323618.7A
Other languages
English (en)
Other versions
CN111522644A (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.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
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 University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202010323618.7A priority Critical patent/CN111522644B/zh
Publication of CN111522644A publication Critical patent/CN111522644A/zh
Application granted granted Critical
Publication of CN111522644B publication Critical patent/CN111522644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于历史运行数据预测并行程序运行时间的方法,针对小规模历史运行数据预测大规模运行时间的问题,建立了使用随机森林和多任务套索回归的两层模型,随机森林可以拟合复杂的模型,而使用多任务套索回归,将相关性强的任务放在一起训练,可以降低内推模型预测的随机误差带来的影响。本发明提出的两层模型相较于之前已有的简单模型,在运行时间和程序输入参数之间的关系比较复杂时不会失效,可以得到准确的预测结果。同时,两层模型的训练和预测不需要任何专家知识,也无需对特征进行处理,可以对整个训练预测流程进行自动化。

Description

基于历史运行数据预测并行程序运行时间的方法
技术领域
本发明涉及程序运行时间预测技术领域,尤其涉及一种基于历史运行数据预测并行程序运行时间的方法。
背景技术
并行程序的运行时间预测在高性能计算领域发挥着重要作用。准确的预测模型可以帮助用户更合理的申请计算资源,帮助超级计算机系统更高效的进行任务调度和资源分配。如何对并行程序的运行时间进行准确的预测一直是高性能计算领域的关注热点。
目前对于并行程序运行时间的预测方法主要有以下三种:
1)基于模拟的方法通过模拟器模拟并行程序的执行预测其运行时间。这种方法一般需要在较小规模的机器上模拟较大规模的运行情况,因此时间的开销相对较大。虽然一些研究人员提出了如确定性重放、骨架程序等降低模拟时间开销的技术,但是该方法的适用范围依然受到很大限制。其主要原因是每当需要预测一个新任务时,都要对其运行情况进行模拟。因此该方法一般用于目标机器不存在的情况。
2)基于解析的方法通过对并行程序本身以及一些运行时特征进行人工分析,建立程序运行时间的解析模型。这种方法得到的模型在一定程度上兼顾了准确性和可移植性,但是这种方法对建模人员的要求非常高,为了建立一个并行程序的解析模型,通常需要数学、并行计算及并行程序本身涉及的领域等相关的专业知识。在并行计算系统和并行程序都越来越复杂的情况下,解析方法只适用于使用范围较广和使用频率较高的特定计算核心部分。
3)基于统计的方法通过对并行程序的运行数据进行分析,来建立程序运行时间的模型。运行数据可以是待预测任务程序的历史运行数据,也可以是从待预测任务程序中抽取的骨架程序,对待预测任务程序进行插桩得到的程序,基准测试程序等等的运行数据。基于统计的方法一般需要大量的数据,其主要开销来自于采集合适足够的运行数据。统计方法一般不需要并行程序本身涉及的相关领域的专家知识,并且模型构建后,对并行程序运行时间的预测开销很小。
由于在实际系统中,用户通常不会对运行的并行程序进行骨架程序抽取、插桩等操作,因此基于历史运行数据的运行时间预测十分重要。在某些情况下,例如机器需要扩展,我们只有并行程序在较小规模情形下的历史运行数据,而需要预测其在较大规模下的运行时间。目前针对这个问题一般建立一些例如线性回归、对数回归等较为简单的模型,保证模型在只有小规模数据的外推(extrapolation)能力,可以对大规模的运行时间进行一定程度上的预测。其主要原因是过于复杂的模型如随机森林,神经网络等模型在历史运行数据样本空间内拟合较为复杂的函数,导致其在内推(interpolation)即预测程序输入在历史运行数据样本空间内的运行时间时,一般可以取得很好的效果,但是当程序进行外推即输入超出了历史运行的数据样本空间时,其预测准确度会很低。然而并行程序实际的运行时间和输入之间的关系一般比较复杂,导致较为简单的模型一般难以得到较为准确的预测结果。因此需要一种可以通过小规模历史运行数据对大规模运行数据进行更准确地预测的模型。
发明内容
本发明的目的是提供一种基于历史运行数据预测并行程序运行时间的方法,可以通过小规模机器上历史运行数据对大规模机器上运行数据进行准确地预测。
本发明的目的是通过以下技术方案实现的:
一种基于历史运行数据预测并行程序运行时间的方法,包括:
根据小规模历史运行数据使用随机森林算法建立内推模型,历史运行数据包含训练数据及其标签,其中每一个训练数据都包含程序输入参数与对应的处理器数目,标签为程序运行时间;
对于包含了程序输入参数与对应的处理器数目的大规模待预测数据,将其中的程序输入参数与内推模型的处理器数量列表中每一组处理器组合构成若干小规模数据,并通过内推模型预测每个小规模数据的运行时间;其中,训练数据的处理器数目的取值范围为[a,b],处理器数目在范围[a,b]内时属于小规模数据,处理器数目在范围(b,+∞)上属于大规模数据;其中,a与b分别为小规模数据中处理器数目的最小值与最大值;
根据预测得到的每个小规模数据的运行时间,使用多任务套索回归建立外推模型,最终预测大规模待预测数据的运行时间。
由上述本发明提供的技术方案可以看出,针对小规模机器上历史运行数据预测大规模机器上运行时间的问题,建立了使用随机森林和多任务套索回归的两层模型,随机森林可以拟合复杂的模型,而使用多任务套索回归,将相关性强的任务放在一起训练,可以降低内推模型预测的随机误差带来的影响。本发明提出的两层模型相较于之前已有的单层模型,可以对运行时间和程序输入参数之间的复杂关系拟合的同时对运行时间和处理器数量之间关系进行外推。此外,两层模型的训练和预测不需要任何专家知识,也无需对特征进行处理,可以对整个训练预测流程进行自动化。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种基于历史运行数据预测并行程序运行时间的方法的流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提高一种基于历史运行数据预测并行程序运行时间的方法,通过建立两层模型,根据并行程序小规模机器上的历史运行数据,对大规模机器上的运行时间进行预测,主要原理为:假定特征组合是(x1,x2...,xn,p),x1,x2...,xn是程序输入参数,p是处理器数目。在已有的历史记录就是训练数据中,p是比较小的,称之为小规模处理器数目;而需要预测的特征组合中p是比较大的,称之为大规模处理器数目,大规模处理器数目要大于小规模处理器数目。使用单层模型预测通常不够准确。因此,对待预测数据中的每个特征组合(x1,x2,...,xn,ptest),先对其程序输入参数(x1,x2...,xn)在小规模处理器数目下的运行时间进行预测,就是(x1,x2...,xn)和p-list中的每个p(小规模处理器数目)结合构成的组合的运行时间。有了这些小规模的运行时间预测,在程序输入参数(x1,x2...,xn)下,建立运行时间和处理器数量p的关系,对原本的特征组合(x1,x2,...,xn,ptest)进行预测。也即,要对某程序输入参数在大规模处理器数目ptest下的运行时间,需要先预测一些该输入在一些小处理器数量的运行时间,再根据这些预测的时间建立运行时间和处理器数量的模型,进而预测该程序输入在大规模处理器数目下ptest的运行时间。
如图1所示,该方法主要包括:
1、根据小规模历史运行数据使用随机森林(Random Forest)算法建立内推模型,历史运行数据包含训练数据及其标签,其中每一个训练数据都包含程序输入参数、对应的处理器数目,其标签为运行时间;其中,训练数据的处理器数目小于待预测数据中的处理器数量。
本发明实施例中,随机森林模型是包含多棵决策树的模型,通过使用集成学习的方法训练多棵决策树,在训练每棵决策树时,从小规模历史运行数据中有放回的采样,从而训练出随机森林模型
Figure BDA0002462361920000041
及参数权重W,构成内推模型。
2、对于包含了程序输入参数与大规模处理器数目的待预测数据,将其中的程序输入参数与内推模型的小规模处理器数量列表中每一组处理器组合构成若干小规模数据,并通过内推模型预测每个小规模数据的运行时间。
其中,假设训练数据的处理器数量的取值范围为[a,b],处理器数量在区间[a,b]上时属于小规模数据,处理器数量在区间(b,+∞)内属于大规模数据;其中,a与b分别为小规模数据中处理器数目的最小值与最大值。
本发明实施例中,对于大规模待预测数据Xtest,将其每个数据的程序输入参数与内推模型的处理器数量列表p-list中每一组处理器组合,获得多组小规模数据Xtest-exp,并通过内推模型预测其运行时间Ytest-exp
3、根据预测得到的每个小规模数据的运行时间,使用多任务套索回归(MultiTask Lasso)建立外推模型,最终预测大规模待预测数据的运行时间。
本步骤中,首先,对随机森林模型的参数权重W进行处理:参数权重W包含程序输入参数和处理器数量的权重,提取其中的程序输入参数的权重进行归一化处理得到W',并作为聚类的距离权重;
待预测数据Xtest中的每个数据都对应一个任务,每个数据包含程序输入参数与对应的处理器数目(数目大于b),且每个数据都有一系列(数量为p-list列表的大小)对应的小规模数据(步骤2组合得到);需要建立该各数据的程序输入参数下运行时间和处理器数量之间的关系模型。根据程序输入参数及其权重W'对这些任务进行聚类,得到多个任务簇(Xc,Yc)={(Xc1,Yc1),...,(XcK,YcK)},其中,K表示聚类得到的类的数目,Xci表示第i个任务簇所包含的待预测数据Xtest中的一个或多个数据;Yci为对第i个任务簇中各个数据对应的小规模数据的运行时间,i=1,...,K;
对内推模型的处理器数量列表p-list进行PMNF展开得到XMTL-train作为特征,对于第i个任务簇,根据任务簇中数据对应的小规模数据使用多任务套索回归建立回归模型
Figure BDA0002462361920000051
Figure BDA0002462361920000052
包含了第i个任务簇所包含的每一数据中程序输入参数下运行时间和处理器数量的关系;
对任务簇集合中所有任务簇所包含数据中的处理器数目进行PMNF展开,使用回归模型
Figure BDA0002462361920000053
预测其运行时间yci。所有任务簇的预测结果(yci)按照与大规模待预测数据Xtest中程序输入参数对应关系,重新排列,得到运行时间的最终预测结果ytest。也即,由于之前的聚类操作将原本的顺序打乱,因此,需要将预测结果重新排列使其与Xtest一一对应起来。
假设Xtest包含4个数据{X1,X2,X3,X4},聚类后得到两个任务簇,其中{X1,X3}属于Xc1,{X2,X4}属于Xc2,根据X1,X3对应的小规模数据,使用多任务套索回归建立在X1,X3对应的两个程序输入参数下的程序时间关于处理器数量的关系模型,得到模型
Figure BDA0002462361920000054
Figure BDA0002462361920000055
包含X1的程序输入参数下运行时间和处理器数量的关系及X3下运行时间和处理器数量的关系。
对X1,X3中的处理器数量进行PMNF展开后,使用
Figure BDA0002462361920000056
对其运行时间进行预测,记得到对X1,X3的运行时间的预测。X2,X4的过程类似X1,X3。得到X1,X3和X2,X4的运行时间预测后,在将预测结果顺序重新排列,就得到对{X1,X2,X3,X4}的运行时间的预测。
为了便于理解,下面对上述方案做进一步的介绍。
针对根据小规模历史运行数据预测大规模下运行时间的问题,目前的技术都是通过建立一些比较简单的模型,例如对数拟合模型和EPMNF模型,以保证模型具备一定的外推能力。其原因是越复杂的模型对训练数据的拟合函数越复杂,其对训练数据空间越过拟合,从而导致其外推能力越弱。
对数拟合模型通过对运行时间和输入参数取对数,再建立取对数之后的线性模型,模型如公式(1)所示。其中x1,x2,...,xn为程序输入参数,p为处理器数量。该模型通过取对数,将运行时间和输入参数之间的未知关系模型转化为取对数之后的线性关系模型,在一定程度上保证了运行时间和输入参数及处理器数量之间的关系模型的准确性,同时模型相对简单,在输入参数和处理器数量上都具备一定的外推能力,可以预测大规模情形下及输入空间外的输入的运行时间。
Figure BDA0002462361920000061
其中,β表示各个对数项线性拟合的系数;
EPMNF模型是PMNF模型的扩展形式,PMNF(performance model normal form)是一种预测并行程序运行时间和处理器数量之间的关系模型的技术。PMNF模型如公式(2)所示,基于并行计算的基本理论,假设运行时间T和处理器数量p的关系为p的一些形如
Figure BDA0002462361920000066
的展开之间的线性组合。
Figure BDA0002462361920000063
其中,N表示筛选出的相关项的数量,ck表示该相关项线性拟合的系数(是个常数)。
EPMNF认为运行时间T和一些其他的关键参数之间也存在类似的关系,其模型如公式(3)所示。|P|为专家筛选出的参数集合,一般包含处理器数量及一些其他的关键参数。
Figure BDA0002462361920000064
其中,ci表示该相关项线性拟合的系数(是个常数),N'表示对每个参数pi筛选出的相关项的数量,
Figure BDA0002462361920000065
是筛选出的和运行时间相关的关于参数pi的展开项。
由于EPMNF模型是关于参数的线性模型,模型本身较为简单,因此具备一定的外能力,在参数超出数据空间时,可以进行一定程度上的预测。但是并行程序的输入参数间可能存在非线性关系,这种非线性关系需要相关专家进行处理。
由于对数拟合模型和EPMNF模型比较简单,因此具备一定的外推能力,但也存在一定的问题。当并行程序的运行时间关于程序输入之间的关系模型本身比较复杂时,简单的模型难以拟合这种复杂的关系,从而会导致预测的结果和实际的情况相差过大。而对于那些复杂的模型例如随机森林,神经网络等,虽然在训练数据的样本空间内可以得到比较准确的结果,但是由于其模型对训练数据的过拟合,因此外推能力过差。本发明提出的两层模型,可以在保证运行时间T和程序输入参数之间的模型具有一定的准确性的同时,具备在运行规模(处理器数量)上的外推能力,从而根据小规模历史运行数据对大规模运行时间进行更为准确的预测。
如表1所示,为两层模型的算法框架,包含随机森林与多任务套索回归两部分。
Figure BDA0002462361920000071
表1算法框架
表1所示算法框架主要包含随机森林与多任务套索回归两部分。算法输入为小规模的历史运行数据<Xtrain,ytrain>,待预测数据Xtest以及第一层内推模型要预测的小规模的不同处理器数量列表p-list;其中,Xtrain为训练数据,包含程序输入参数与处理器数目,ytrain为训练数据的标签,即运行时间;Xtest为待预测数据,包含程序输入参数与处理器数目。算法的目的是根据小规模的历史运行数据,经过两层模型,预测大规模的运行时间,大规模与小规模数据的定义请参见前文的介绍。具体来说:
1-3行是第一层内推模型,目的是建立可以对训练数据样本空间的小规模内运行时间进行准确预测的模型,采用随机森林(RandomForest)算法。随机森林是包含多棵决策树的模型,通过使用集成学习的方法训练多棵决策树,在训练时,从训练集中有放回的采样,在样本上训练树模型,在对一个数据的运行时间进行预测时,对所有树的预测结果求平均来得到预测结果。由于随机森林可以拟合较为复杂的模型,同时采用了bootstrap和bagging策略,可有防止过拟合问题,所以可以得到较为准确的模型。在算法中,首先根据小规模的历史运行数据<Xtrain,ytrain>训练得到随机森林模型
Figure BDA0002462361920000081
以及特征(参数)的权重W,然后对于待预测数据Xtest,Xtest包含程序输入参数和处理器数量,将每个数据的程序输入参数和p-list中的每个p组合,得到Xtest-exp,通过
Figure BDA0002462361920000082
预测所有数据的程序输入参数在小规模下的运行时间Ytest-exp
随机森林训练和预测完成后,进入到第二层外推模型,目的是根据第一层内推模型预测得到的小规模下不同处理器数量的运行时间,建立不同的程序输入参数下运行时间T和处理器数量p的关系模型,从而对待预测数据的运行时间进行预测,该层使用多任务套索回归(Multi Task Lasso)算法。多任务套索回归是一种多任务学习算法,多任务学习通过将存在相关性的任务放在一起训练,可以增加每个任务的训练样本规模,从而在每个人物训练样本比较稀疏的情况下,得到更准确的模型。在本发明提出的两层模型中,由第一层随机森林内推模型预测得到的待预测程序输入参数小规模下不同处理器数量的运行时间是存在随机误差的,相对于对每组程序输入参数单独建立运行时间T和处理器数量p的关系模型,使用多任务套索回归来建立不同程序输入参数下的关系模型,通过筛选所有任务共享的特征集合,来降低随机森林预测得到数据的随机误差带来的影响,增加模型的准确性和鲁棒性。
4-12行是第二层模型,具体流程如下:对p-list进行PMNF展开得到多任务套索回归的训练特征XMTL-train,根据程序输入参数,采用Kmeans对Xtest,Ytest_exp进行聚类,程序输入参数的距离权重为由第一层模型训练得到的随机森林的参数权重W。由于W包含程序输入参数和处理器数量的权重,所以取W程序输入参数的部分并归一化的W'作为聚类的距离权重。对程序输入参数进行聚类的原因是不同的程序输入参数间运行时间T和处理器数量p的关系模型之间的相关性强弱和程序输入参数之间的距离是相关的,将相关性弱的程序输入参数一起使用多任务进行训练,可能得到的模型反而不够准确。聚类完成后,对聚类得到的每组程序输入参数和小规模预测结果集合<Xci,Yci>使用多任务套索回归进行训练得到回归模型,再根据程序输入参数对应的待预测数据的处理器数量,使用得到的模型预测待预测数据的运行时间。最后将所有集合对应的待预测数据的运行时间预测结果组合得到对大规模待预测数据Xtest的运行时间的预测。
本发明实施例提供的上述方案,根据小规模的历史运行数据,经过两层模型训练,对大规模待预测数据的运行时间进行预测,在运行时间和程序输入参数间关系比较复杂的情况下,也不会失效,且得到比较准确的预测结果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (2)

1.一种基于历史运行数据预测并行程序运行时间的方法,其特征在于,包括:
根据小规模历史运行数据使用随机森林算法建立内推模型,历史运行数据包含训练数据及其标签,其中每一个训练数据都包含程序输入参数与对应的处理器数目,标签为程序运行时间;
对于包含了程序输入参数与对应的处理器数目的大规模待预测数据,将其中的程序输入参数与内推模型的处理器数量列表中每一组处理器组合构成若干小规模数据,并通过内推模型预测每个小规模数据的运行时间;其中,训练数据的处理器数目的取值范围为[a,b],处理器数目在范围[a,b]内时属于小规模数据,处理器数目在范围(b,+∞)内属于大规模数据;其中,a与b分别为小规模数据中处理器数目的最小值与最大值;
根据预测得到的每个小规模数据的运行时间,使用多任务套索回归建立外推模型,最终预测大规模待预测数据的运行时间;
其中,根据小规模历史运行数据使用随机森林算法建立内推模型包括:
随机森林模型是包含多棵决策树的模型,通过使用集成学习的方法训练多棵决策树,在训练每棵决策树时,从小规模历史运行数据中有放回的采样,从而训练出随机森林模型
Figure FDA0004059928910000011
及参数权重W,构成内推模型;
根据预测得到的每个小规模数据的运行时间,使用多任务套索回归建立外推模型,最终预测大规模待预测数据的运行时间包括:
对随机森林模型的参数权重W进行处理:参数权重W包含程序输入参数和处理器数量的权重,提取其中的程序输入参数的权重进行归一化处理得到W',并作为聚类的距离权重;
待预测数据Xtest中的每个数据都对应一个任务,每个数据包含程序输入参数与对应的处理器数目,且每个数据都有一系列对应的小规模数据,小规模数据的数目为处理器数量列表的大小;根据程序输入参数及其权重W'对所有的任务进行聚类,得到任务簇集合(Xc,Yc)={(Xc1,Yc1),...,(XcK,YcK)},其中,K表示聚类得到的任务簇的数目,Xci表示第i个任务簇所包含的待预测数据Xtest中的一个或多个数据,Yci为第i个任务簇中各个数据对应的小规模数据的运行时间,i=1,...,K;
对内推模型的处理器数量列表p-list进行PMNF展开得到XMTL-train作为特征,对于第i个任务簇,根据任务簇中数据对应的小规模数据使用多任务套索回归建立回归模型
Figure FDA0004059928910000021
包含了第i个任务簇所包含的每一数据中程序输入参数下运行时间和处理器数量的关系;
对任务簇集合中所有任务簇所包含数据中的处理器数目进行PMNF展开,再结合相应的回归模型
Figure FDA0004059928910000022
预测得到运行时间yci,将所有任务簇的预测结果按照与大规模待预测数据Xtest中程序输入参数的对应关系,重新排列,得到运行时间的最终预测结果ytest
2.根据权利要求1所述的一种基于历史运行数据预测并行程序运行时间的方法,其特征在于,
对于大规模待预测数据Xtest,将其程序输入参数与内推模型的处理器数量列表p-list中每一组处理器组合,获得多组小规模数据Xtest-exp,并通过内推模型预测其运行时间Ytest-exp
CN202010323618.7A 2020-04-22 2020-04-22 基于历史运行数据预测并行程序运行时间的方法 Active CN111522644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010323618.7A CN111522644B (zh) 2020-04-22 2020-04-22 基于历史运行数据预测并行程序运行时间的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010323618.7A CN111522644B (zh) 2020-04-22 2020-04-22 基于历史运行数据预测并行程序运行时间的方法

Publications (2)

Publication Number Publication Date
CN111522644A CN111522644A (zh) 2020-08-11
CN111522644B true CN111522644B (zh) 2023-04-07

Family

ID=71903188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010323618.7A Active CN111522644B (zh) 2020-04-22 2020-04-22 基于历史运行数据预测并行程序运行时间的方法

Country Status (1)

Country Link
CN (1) CN111522644B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105303262A (zh) * 2015-11-12 2016-02-03 河海大学 一种基于核主成分分析和随机森林的短期负荷预测方法
CN109543203A (zh) * 2017-09-22 2019-03-29 山东建筑大学 一种基于随机森林的建筑冷热负荷预测方法
CN110377525A (zh) * 2019-07-25 2019-10-25 哈尔滨工业大学 一种基于运行时特征和机器学习的并行程序性能预测系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10115057B2 (en) * 2016-02-08 2018-10-30 International Business Machines Corporation Estimating analytic execution times

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105303262A (zh) * 2015-11-12 2016-02-03 河海大学 一种基于核主成分分析和随机森林的短期负荷预测方法
CN109543203A (zh) * 2017-09-22 2019-03-29 山东建筑大学 一种基于随机森林的建筑冷热负荷预测方法
CN110377525A (zh) * 2019-07-25 2019-10-25 哈尔滨工业大学 一种基于运行时特征和机器学习的并行程序性能预测系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张冰 ; 周步祥 ; 石敏 ; 魏金萧 ; .基于灰色关联分析与随机森林回归模型的短期负荷预测.水电能源科学.2017,(04),全文. *
肖祥武 ; 文雯 ; 白全生 ; 胡卫东 ; 李志金 ; 刘克勤 ; .基于大数据平台和并行随机森林算法的能耗预测模型优化.华电技术.2018,(07),全文. *

Also Published As

Publication number Publication date
CN111522644A (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
Bei et al. RFHOC: A random-forest approach to auto-tuning hadoop's configuration
US20180203720A1 (en) Techniques to manage virtual classes for statistical tests
Ganapathi et al. Statistics-driven workload modeling for the cloud
CN106897109B (zh) 基于随机森林回归的虚拟机性能预测方法
Moreno et al. An approach for characterizing workloads in google cloud to derive realistic resource utilization models
Xie et al. Real-time prediction of docker container resource load based on a hybrid model of ARIMA and triple exponential smoothing
US20130254196A1 (en) Cost-based optimization of configuration parameters and cluster sizing for hadoop
CN107908536B (zh) Cpu-gpu异构环境中对gpu应用的性能评估方法及系统
Maros et al. Machine learning for performance prediction of spark cloud applications
CN110825522A (zh) Spark参数自适应优化方法及系统
WO2017071369A1 (zh) 一种预测用户离网的方法和设备
CN109981749A (zh) 一种基于极限梯度提升的云工作流任务执行时间预测方法
CN105630575A (zh) 针对kvm虚拟化服务器的性能评估方法
Han et al. Benchmarking big data systems: State-of-the-art and future directions
Ganapathi Predicting and optimizing system utilization and performance via statistical machine learning
Herodotou et al. Automatic performance tuning for distributed data stream processing systems
Ferreira da Silva et al. Accurately simulating energy consumption of I/O-intensive scientific workflows
CN111522644B (zh) 基于历史运行数据预测并行程序运行时间的方法
CN111523685B (zh) 基于主动学习的降低性能建模开销的方法
Amaris et al. Evaluating execution time predictions on gpu kernels using an analytical model and machine learning techniques
CN110109811A (zh) 一种面向gpu计算性能问题的溯源方法
Fauzan et al. Simulation of agent-based and discrete event for analyzing multi organizational performance
Morichetta et al. Demystifying deep learning in predictive monitoring for cloud-native SLOs
CN115543719B (zh) 基于芯片设计的组件优化方法、装置、计算机设备及介质
Tikir et al. Psins: An open source event tracer and execution simulator

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