基于日志特征分析的机群负载模型及其建模方法

文档序号:7703131阅读:179来源:国知局
专利名称:基于日志特征分析的机群负载模型及其建模方法
技术领域
本发明涉及通信领域计算机机群性能评估技术中的负载仿真模型,尤其涉及一种基于日志特征分析的机群负载模型及其建模方法。

背景技术
机群是当今高性能计算中一种质优价廉的解决方案,随着机群技术的成熟与成本的降低,它的规模增长也是越来越快。但机群性能的提升与规模的增长并不是一种线性关系,这就需要机群的设计人员及用户综合权衡成本与性能两个主要因素。
目前,机群性能评估的方法主要有两种一种是在真实环境下运行同一基准的Linpack Benchmark测试程序,比较计算峰值(如Top500排行);一种是在仿真环境下通过建立一系列模型,模拟真实机群系统的工作过程,获得并比较仿真数据。其中,前者多用于产业界,而后者则多用于学术界。
以上两种方法都存在着自身的缺陷 首先,Linpack Benchmark测试程序是以求解方程组的形式来获取机群系统的计算峰值。但机群系统的真实应用场景与求解方程组之间并没有必然的联系,并且机群系统以峰值速度运行的时间极为有限。Linpack Benchmark测试方法没有从用户的角度来审视一个机群系统。
其次,仿真方法的测试结果不具有广泛意义上的可比性。由于没有真实环境,仿真测试结果在很大程度上依赖于模型的构建方法和粒度。因此在使用仿真方法进行机群性能评估时,需要使用同一模型仿真不同应用场景下的系统运行过程。但由于模型设计的侧重点不同,同样一组应用场景在使用不同模型进行仿真,得到的评估结果可能不同。
再次,仿真方法存在如何生成系统负载的问题。与真实环境相比,仿真模型不能运行Linpack Benchmark测试程序,需要设计人员自行安排一组负载作为机群模型评估的输入。目前,常用的方法有两种一种是以真实应用环境下记录的日志文件作为机群模型的负载;一种是根据某种概率分布,通过随机数的方式产生机群负载。但日志文件会带有所属机构的使用特点,而传统的概率分布(如泊松分布)又缺乏对真实应用的刻画。
鉴于现有仿真方法中,机群负载生成方法的缺陷,我们迫切需要一种新的技术解决方案,能够抽象大部分负载日志所表现出的特征,通过构建与之相匹配的统计学模型,只需要调整少量的参数,即可生成与历史使用经验相符合的机群负载。


发明内容
本发明的目的在于提供一种基于日志特征分析的机群负载模型及其建模方法,以解决现有机群负载模型及建模方法存在的不足。该方法为机群性能仿真系统中的负载生成部分构造了一个多层次的负载仿真模型,同时也提供了一种实行方案。
本发明的负载模型包含有机群负载的历史数据库、作业到达时间子模型、作业并行度子模型、作业执行时间子模型以及作业类型子模型。
其中机群负载的历史数据库是通过整合用户以往的机群使用经验及多个科研单位公开的机群使用日志所建立的,记录了每个作业的到达时间、要求处理器数量、使用处理器数量、开始时间、结束时间; 子模型根据历史数据和统计函数建立,各子模型采用的统计函数的形式是一定的,函数中的参数随历史数据的变化而变化。各子模型在调用顺序上有一定的约束 ●作业到达时间子模没有调用顺序约束; ●作业并行度子模型、作业执行时间子模型以及作业类型子模型的调用顺序为作业并行度子模型→作业执行时间子模型→作业类型子模型 本发明的建模方法是根据用户以往的机群使用经验及多个科研单位公开的机群使用日志建立机群负载的历史数据库,再通过统计分析各项历史数据确定各子模型中参数的取值,然后按照上文所述的顺序调用各子模型得到一个作业,最后由大量作业组成一个机群负载。
本发明中各子模型的建模方法为 作业到达时间子模型作业到达时间子模型又分为两部分,周作业模型和天作业模型,分别模拟了一周内每天到达的作业数量和一天内每个作业的到达时间。
周作业模型的建模方法为 步骤一根据作业的提交时间,统计历史数据库中各周的作业总数,然后使用极大似然估计法确定三参数Gamma分布中三个参数的值,并依据该Gamma分布生成一个随机数,作为本周到达的作业总数T;其中,Gamma分布的三个参数为形状参数(shapeparameter)、尺度参数(scale parameter)和位置参数(location parameters); 步骤二根据作业的提交时间,统计历史数据库中一周内每天的作业总数,以星期三为分割点,确定作业是集中在前半周(周一到周三)还是后半周(周四到周日)到达,并依据(1.2,1.6)均匀分布生成一个随机数α2; 步骤三若作业集中在前半周到达,则依据(α2-0.4,α2-0.1)均匀分布生成随机数α1,否则依据(α2+0.1,α2+0.3)均匀分布生成随机数α1;若得到的α1小于1,则令α1等于1; 步骤四令x的取值依次为2,3,…,6,并根据公式px=Beta(x,α1,α2,1,7)×100%计算x在不同取值情况下px的值;其中Beta为Beta分布对应的密度函数,px代表星期x到达的作业总数占一周作业总数的百分比; 步骤五根据步骤一中得到的周一和周日到达的作业数量的比确定一个系数n

然后根据公式计算周一和周日到达作业总数占一周作业总数的百分比; 步骤六令x的取值依次为1,2,3,…,7,根据公式T×px计算周一到周日每天到达的作业数量;其中T在步骤一中确定,px的取值在步骤四和步骤五中确定。
天作业模型的建模方法为 步骤一令已产生的作业覆盖的天数D=0,即第0天的作业到达时间都已确定; 步骤二根据历史数据库中记录的作业提交时间,统计一天中每个时段内到达的作业数量,然后使用极大似然估计法确定公式(1)中的三个系数a,b,c。
a×normal(12,4)-b×normal(11.5,1)+c×Gamma(1,1) (1) 步骤三根据步骤二确定的分布生成随机数t,作为一个作业相对于当天0点时刻的提交时间;若t<0,则令t=0,若t>24,则令t=24;然后根据公式D×24+t计算该作业相对于第0天的提交时间(单位为小时); 步骤四根据公式mod(D,7)+1确定第D天是星期x,其中mod代表取模运算,x的取值为1到7的整数; 步骤五若已确定到达时间的作业数量小于T×px(见周作业模型中步骤六),则转到步骤三继续; 步骤六若已确定到达时间的作业数量已足够多,则结束作业到达时间子模型;否则执行步骤七; 步骤七若mod(D,7)+1=7,即本周内所有作业的到达时间均已确定,则调用周作业模型,得到下一周每天到达的作业量; 步骤八令D=D+1,跳转至步骤三,继续执行。
作业并行度子模型并行度用来描述一个作业需要多少处理器才能运行。作业可以分为串行作业和并行作业两种,其中串行作业在运行时只需要一个处理器,其并行度为1,而并行作业需要的处理器数目至少为2,至多为机群系统具有的处理器数量。
作业并行度子模型的建模方法为 步骤一统计历史数据库中,串行作业占作业总数的百分比a,及并行度为2的幂数的作业占剩余作业总数的百分比b; 步骤二依据(0,1)均匀分布生成两个随机数p和q; 步骤三若p<a,则判定该作业为串行作业,并行度为1,然后返回步骤二继续执行,确定下一个作业的并行度;否则,继续执行步骤四; 步骤四根据Gamma(4,0.9)分布生成一个随机数N;若q<b,则令N等于与2N的值最接近的2的幂数;否则,令N等于与2N的值最接近的偶数; 步骤五重复执行步骤二至步骤四,直至所有作业到达时间子模型生成的作业的并行度均已确定。
作业执行时间子模型作业执行时间是指一个作业从开始运行到运行结束所持续的时间;作业的执行时间与其并行度存在一定的联系,一个普遍的现象是作业的并行度越大,其执行时间越长。因此,在调用作业执行时间子模型之前,需要先调用作业并行度子模型。
作业执行时间子模型的建模方法为 步骤一以2为底,对历史数据库中每个作业的执行时间(执行时间=结束时间-开始时间)取对数;并按照历史数据库中记录的作业的并行度(即使用的处理器数),把取过对数后的数据分为若干组; 步骤二依次取各组数据,使用极大似然估计法,确定以下分布中的p值 p×Gamma(4,1.5)+(1-p)×Normal(15,0.682) 得到一个由<并行度,p>数对组成的集合; 步骤三根据步骤二得到的数对集合,使用最小二乘法,确定公式p=a×并行度+b中系数a和常数项b的值; 步骤四取作业并行度子模型得到的作业并行度,根据公式P=a×作业并行度+b计算出P的值;若P<0,则令P=0;若P>1,则令P=1; 步骤五依据分布P×Gamma(4,1.5)+(1-P)×Normal(15,0.682)生成一个随机数r,并令该作业的执行时间为2r秒; 步骤六重复执行步骤四至步骤五,直至所有作业到达时间子模型生成的作业的执行时间均已确定。
作业类型子模型根据统计历史数据发现,作业提交时要求的计算资源数量和作业运行时得到的计算资源数量可以不相等。基于此发现,本发明所述的作业类型子模型,将作业分为刚性作业和可塑性作业两种 ●刚性作业必须达到用户规定的执行条件(如处理器数量)才可以执行的作业; ●可塑性作业由机群作业管理系统中的调度程序决定计算资源数量的一类作业,且在作业开始执行后计算资源数量不能改变。
对于刚性作业,本发明所述的机群负载模型认为,经过作业到达时间子模型、作业并行度子模型、作业执行时间子模型后,已充分刻画了该作业的特征; 对于可塑性作业,本发明所述的机群负载模型认为,由于这种类型作业的并行度在执行时可能发生变化(被机群作业管理系统中的调度程序改变),有必要为该类作业提供一个加速比关系,用来刻画机群作业管理系统中的调度程序改变作业并行度时,对作业执行时间的影响。
加速比关系需要使用到之前作业并行度子模型和作业执行时间子模型输出的作业并行度和作业执行时间。
可塑性作业的加速比关系为 步骤一统计历史数据库中,要求处理器数量和使用处理器数量不相等的作业数,占作业总数的百分比q; 步骤二依据(0,1)均匀分布生成一个随机数p;若p>q,则判定该作业为刚性作业,跳转至步骤六;否则,判定该作业为可塑性作业,继续执行步骤三; 步骤三分别依据(0.04,4)均匀分布和(1,100)均匀分布生成两个随机数c1和c2; 步骤四根据公式T=并行度×执行时间-并行度×(并行度-1)×c1-c2计算当并行度为1时的作业执行时间T; 步骤五可塑性作业的加速比关系为其中n表示机群作业管理系统中的调度程序确定的作业并行度,t表示在该并行度下作业的执行时间; 步骤六重复执行步骤二至步骤五,至所有作业到达时间子模型生成的作业的执行时间均已确定。
本发明一种模拟实际应用的机群负载模型及其建模方法,其优点及功效在于该方法为机群性能仿真系统中的负载生成部分构造了一个多层次的负载仿真模型,能够抽象大部分负载日志所表现出的特征,通过构建与之相匹配的统计学模型,只需要调整少量的参数,即可生成与历史使用经验相符合的机群负载。



图1机群负载模型流程结构示意图 图2子模型参数确定流程示意图 图3(a)周作业到达模型流程示意图 图3(b)天作业到达模型流程示意图 图4作业并行度模型流程示意图 图5作业执行时间模型流程示意图 图6作业类型模型流程示意图
具体实施例方式 为了使本发明的目的和技术方案更加清楚明白,以下结合参照附图,对本发明进行进一步详细说明。
如图1所示,为实施本发明中所述机群负载模型的流程结构示意图,该模型仅需要运行在一台主机上,由机群负载历史数据库和机群作业模型两大部分组成。
机群负载历史数据库中存储了机群用户提供的负载历史记录和其他机构公开的负载历史记录,这些记录应包含每个作业的到达(提交)时间、要求处理器数量、使用处理器数量、开始时间、结束时间等信息; 机群作业模型按照作业到达时间子模型→作业并行度子模型→作业执行时间子模型→作业类型子模型的顺序产生一个机群作业,各子模型在运行之初,都需要根据历史数据库中的记录确定子模型中的参数值,重复这一过程直至生成足够多的机群作业,组成一组机群负载。
如图2所示,图2为本发明在各子模型参数确定部分的流程;虽然各子模型使用的分布函数形式不同,要确定的参数也不同,但它们的计算原理是相同的;其具体步骤为 步骤000根据不同的子模型,从历史数据库中选择相应数据 ●作业到达时间子模型需要提取历史数据库中每个作业的到达时间数据项; ●作业并行度子模型需要提取每个作业使用处理器数量数据项; ●作业执行时间子模型需要提取每个作业的开始时间和结束时间数据项; ●作业类型子模型需要提取每个作业的要求处理器数量和使用处理器数量数据项; 步骤001根据不同的子模型,选择相应的分布函数及子模型中待确定的参数。为了方便本发明所述机群作业模型的使用,各子模型中统计函数的形式均已确定,仅部分参数没有确定。
●作业到达时间子模型待定的参数为 ■Gamma(α,β,L)分布中的参数α,β,L; ■以星期三为分割点,作业是集中在前半周(周一到周三)还是后半周(周四到周日)到达; ■周一和周日到达的作业数量的比例系数n ■a×normal(12,4)-b×normal(11.5,1)+c×Gamma(1,1)分布中的系数a,b,c; ●作业并行度子模待定的参数为 ■串行作业占作业总数的百分比a; ■并行度为2的幂数的作业占剩余作业总数的百分比b; ●作业执行时间子模型待定的参数为 ■p×Gamma(4,1.5)+(1-p)×Normal(15,0.682)分布中的系数p; ■公式p=a×并行度+b中系数a和常数项b; ●作业类型子模型待定的参数为 ■要求处理器数和使用处理器数不等的作业数占作业总数的百分比q; 步骤002根据不同的子模型,确定相应的分布函数及子模型中待确定的参数。
●作业到达时间子模型 ■Gamma(α,β,L)分布中的参数α,β,L,采用极大似然估计法确定参数值,样本数据为每周到达的作业总数; ■将历史数据库中作业提交时间换算成星期数,然后以星期三为分割点,确定作业是集中在前半周(周一到周三)还是后半周(周四到周日)到达若

则集中在前半周,否则集中在后半周; ■周一和周日到达的作业数量的比例系数n
■a×normal(12,4)-b×normal(11.5,1)+c×Gamma(1,1)分布中的系数a,b,c,采用极大似然估计法确定参数值,样本数据为一天中每个时段内到达的作业数量; ●作业并行度子模待定的参数为 ■串行作业占作业总数的百分比a
■并行度为2的幂数的作业占剩余作业总数的百分比b
●作业执行时间子模型待定的参数为 ■p×Gamma(4,1.5)+(1-p)×Normal(15,0.682)分布中的系数p,理想情况是一个并行度对应一个p值,因此会后很多<并行度,p>数对,采用极大似然估计法确定不同并行度下的p值,样本数据为不同并行度(使用处理器数量)作业组成的集合; ■公式p=a×并行度+b中系数a和常数项b;采用最小二乘法确定参数值,样本数据为上述的<并行度,p>数对集合; ●作业类型子模型待定的参数为 ■要求处理器数和使用处理器数不等的作业数占作业总数的百分比q
步骤003确定各子模型中的所有参数值;为便于说明本发明后续所述的机群作业模型,现使用一组可能的各子模型中参数的值; ●作业到达时间子模型 ■Gamma(α,β,L)分布中的参数α=11.35,β=176.87,L=-364.06; ■作业集中在前半周(周一到周三)到达; ■周一和周日到达的作业数量的比例系数n=0.58; ■a×normal(12,4)-b ×normal(11.5,1)+c×Gamma(1,1)分布中的系数a=1.035,b=-0.105,c=0.07; ●作业并行度子模待定的参数为 ■串行作业占作业总数的百分比a=25%; ■并行度为2的幂数的作业占剩余作业总数的百分比b=75%; ●作业执行时间子模型待定的参数为 ■公式p=a×并行度+b中系数a=-0.006,常数项b=0.78; ●作业类型子模型待定的参数为 ■要求处理器数和使用处理器数不等的作业数占作业总数的百分比q=5%; 如图3所示,图3(a)为本发明在作业到达时间子模型中周作业模型的建模方法,图3(b)为天作业模型的建模方法。其具体步骤为 步骤100令一周到达作业总数服从Gamma(11.35,176.87,-364.06)分布,依该分布产生一个随机数T,转入步骤101; 步骤101依(1.2,1.6)均匀分布产生一个随机数α2,作为后续函数的一个参数,转入步骤102; 步骤102以星期三为分割点,若作业集中在前半周(周一到周三)到达,则执行步骤103;否则,执行步骤104; 步骤103依(α2-0.4,α2-0.1)均匀分布生成随机数α1,作为后续函数的一个参数,转入步骤105; 步骤104依(α2+0.1,α2+0.3)均匀分布生成随机数α1,作为后续函数的一个参数,转入步骤107; 步骤105若α1<1,则执行步骤106,否则,执行步骤107; 步骤106令α1=1,转入步骤107; 步骤107根据公式px=Beta(x,α1,α2,1,7)×100%计算周二到周六每天到达作业的数量占一周作业总数的百分比。其中,x为星期数,取值范围为{2,3,…,6},Beta为Beta分布对应的概率密度函数,α1、α2为Beta密度函数中的两个形状参数(shapeparameters),1和7为Beta分布的界限,转入步骤108; 步骤108根据以下两个公式计算周一和周日到达作业数量占一周作业总数的百分比 转入步骤109; 步骤109根据公式T×px计算周一到周七,每天到达的作业数量Tx。其中T由步骤100得到。
至此,已完成周作业模型的建模过程; 下面是天作业模型的具体步骤 步骤110令产生作业覆盖的天数D=0,即当前已产生了D天的作业到达情况;转入步骤111; 步骤111依分布1.035×normal(12,4)-0.105×normal(11.5,1)+0.07×Gamma(1,1)生成一个随机数t,其中normal为正态分布;转入步骤112; 步骤112调整t的取值。若t<0,则执行步骤113;否则,执行步骤114; 步骤113令t=0,转入步骤116; 步骤114调整t的取值。若t>24,则执行步骤115;否则,执行步骤116; 步骤115令t=24,转入步骤116; 步骤116令作业到达时间=D×24+t(单位小时),其中t可理解为第D天内的相对时间,作业到达时间为相对于作业到达时间模型开始运行时的时间;转入步骤117; 步骤117令x=mod(D,7)+1,即D除以7所得的余数加1,其中D为已产生作业的天数,x值代表了当前这一天的星期数(星期x);转入步骤118; 步骤118若星期x的作业数量已达到该天的作业总数Tx,则执行步骤119;否则,执行步骤120; 步骤119令D=D+1,代表已产生了D天到达的作业,后续的作业为D+1天到达;转入步骤120; 步骤120判断模型是否可以结束的条件。若作业的数量已足够多,则执行步骤123;否则,执行步骤121; 步骤121若已产生一周到达的作业量,则执行步骤122;否则,执行步骤111; 步骤122使用步骤100至步骤109(图2(a))所述的方法,产生下一周作业到达的情况;转入步骤111; 步骤123作业到达时间模型过程结束。
如图4所示,图4为本发明在机群负载生成模型中对作业并行度进行建模的方法,其具体步骤为 步骤200依据(0,1)均匀分布产生一个随机数p; 步骤201根据步骤200产生的随机数p,判定该作业是否是并行作业。若0<p<0.25,则该作业为串行作业,执行步骤202;否则该作业为并行作业,执行步骤203; 步骤202确定该作业的并行度为1,转入步骤208; 步骤203依据(0,1)均匀分布产生一个随机数q,转入步骤204; 步骤204依据Gamma(4,0.9)分布产生一个随机数N。Gamma分布的对应关系为α=4,β=0.9,转入步骤205; 步骤205根据步骤203产生的随机数q,判定该作业的并行度是否一定为2的幂数。若0<q<0.75,则该作业的并行度是2的幂数,执行步骤206;否则,该作业的并行度可以不是2的幂数,执行步骤207; 步骤206令步骤204产生的随机数N等于与2N值最接近(差的绝对值最小)的2的幂数,转入步骤207; 步骤207令该作业的并行度等于值最接近(差的绝对值最小)2N的偶数,转入步骤208; 步骤208作业并行度模型过程结束。
如图5所示,图5为本发明在机群负载生成模型中对作业执行时间进行建模的方法,其具体步骤为 步骤300依据以下公式计算y值 y=-0.006×并行度+0.78 其中并行度由作业并行度模型生成,转入步骤301; 步骤301根据步骤300得到的值y,确定y的取值。若y<0,执行步骤302;否则,执行步骤303; 步骤302令y=0,转入步骤305; 步骤303根据步骤300得到的值y,确定y的取值。若y>1,执行步骤304;否则,执行步骤305; 步骤304令y=1,转入步骤305; 步骤305依据分布y×Gamma(4,1.5)+(1-y)×Normal(15,0.682)产生一个随机数r,转入步骤306; 步骤306令该作业的执行时间等于2r秒,转入步骤307; 步骤307作业执行时间模型过程结束。
如图6所示,图6为本发明在负载组成模型中对作业类型进行建模的方法,其具体步骤为 步骤400依(0,1)均匀分布生成一个随机数p,转入步骤401; 步骤401令可塑性作业占作业总量的百分比q=5,转入步骤402; 步骤402若p×100<q,则执行步骤403;否则,执行步骤404; 步骤403判定该作业为可塑性作业,转入步骤405; 步骤404判定该作业为刚性作业,转入步骤409; 步骤405依(0.04,4)均匀分布生成一个随机数c1,转入步骤406; 步骤406依(1,100)均匀分布生成一个随机数c2,转入步骤407; 步骤407根据下面的公式计算T T=并行度×执行时间-并行度×(并行度-1)×c1-c2 其中,T为并行度为1时作业的执行时间,并行度由作业并行度模型确定,执行时间由作业执行时间模型确定,c1、c2为步骤405和步骤406确定;转入步骤408; 步骤408可塑性作业的执行时间加速关系为 其中,t为作业的执行时间,T由步骤407确定,n为作业的并行度,c1、c2为步骤405和步骤406确定;该模型描述了可塑性作业使用计算资源数量与执行时间之间的关系。转入步骤409; 步骤409负载组成模型过程结束。
从上面对本发明具体实施方式
的描述中可以看出,本发明的机群负载模型建模方法,给出了对一个作业进行了全面建模的过程;在模型的各部分,使用了多种的分布规律,并提供了源自于历史数据参数,不同的历史数据将得到不同的参数值;这些参数将实际应用的特征引入到机群负载模型当中,使该模型能够较好地模拟实际应用,同时,模型使用人员也可以根据需要,进行手动微调,以生成符合要求的机群负载,这对于本技术领域的技术人员是很容易的,这里就不再赘述。
权利要求
1、一种基于日志特征分析的机群负载模型,其特征在于该机群负载模型包含有机群负载的历史数据库、作业到达时间子模型、作业并行度子模型、作业执行时间子模型以及作业类型子模型;其中机群负载的历史数据库是通过整合用户以往的机群使用经验及多个科研单位公开的机群使用日志所建立的,记录了每个作业的到达时间、要求处理器数量、使用处理器数量、开始时间、结束时间;各子模型在调用顺序上有一定的约束
●作业到达时间子模没有调用顺序约束;
●作业并行度子模型、作业执行时间子模型以及作业类型子模型的调用顺序为
作业并行度子模型→作业执行时间子模型→作业类型子模型。
2、一种基于日志特征分析的机群负载模型的建模方法,其特征在于
作业到达时间子模型作业到达时间子模型又分为两部分,周作业模型和天作业模型,分别模拟了一周内每天到达的作业数量和一天内每个作业的到达时间;
周作业模型的建模方法为
步骤一根据作业的提交时间,统计历史数据库中各周的作业总数,然后使用极大似然估计法确定三参数Gamma分布中三个参数的值,并依据该Gamma分布生成一个随机数,作为本周到达的作业总数T;其中,Gamma分布的三个参数为形状参数、尺度参数和位置参数;
步骤二根据作业的提交时间,统计历史数据库中一周内每天的作业总数,以星期三为分割点,确定作业是集中在前半周还是后半周到达,并依据(1.2,1.6)均匀分布生成一个随机数α2;
步骤三若作业集中在前半周到达,则依据(α2-0.4,α2-0.1)均匀分布生成随机数α1,否则依据(α2+0.1,α2+0.3)均匀分布生成随机数α1;若得到的α1小于1,则令α1等于1;
步骤四令x的取值依次为2,3,…,6,并根据公式px=Beta(x,α1,α2,1,7)×100%计算x在不同取值情况下px的值;其中Beta为Beta分布对应的密度函数,px代表星期x到达的作业总数占一周作业总数的百分比;
步骤五根据步骤一中得到的周一和周日到达的作业数量的比确定一个系数n
然后根据公式
计算周一和周日到达作业总数占一周作业总数的百分比;
步骤六令x的取值依次为1,2,3,…,7,根据公式T×px计算周一到周日每天到达的作业数量;其中T在步骤一中确定,px的取值在步骤四和步骤五中确定。
天作业模型的建模方法为
步骤一令已产生的作业覆盖的天数D=0,即第0天的作业到达时间都已确定;
步骤二根据历史数据库中记录的作业提交时间,统计一天中每个时段内到达的作业数量,然后使用极大似然估计法确定公式(1)中的三个系数a,b,c;
a×normal(12,4)-b×normal(11.5,1)+c×Gamma(1,1)(1)
步骤三根据步骤二确定的分布生成随机数t,作为一个作业相对于当天0点时刻的提交时间;若t<0,则令t=0,若t>24,则令t=24;然后根据公式D×24+t计算该作业相对于第0天的提交时间,单位为小时;
步骤四根据公式mod(D,7)+1确定第D天是星期x,其中mod代表取模运算,x的取值为1到7的整数;
步骤五若已确定到达时间的作业数量小于T×px——见周作业模型中步骤六,则转到步骤三继续;
步骤六若已确定到达时间的作业数量已足够多,则结束作业到达时间子模型;否则执行步骤七;
步骤七若mod(D,7)+1=7,即本周内所有作业的到达时间均已确定,则调用周作业模型,得到下一周每天到达的作业量;
步骤八令D=D+1,跳转至步骤三,继续执行;
作业并行度子模型
步骤一统计历史数据库中,串行作业占作业总数的百分比a,及并行度为2的幂数的作业占剩余作业总数的百分比b;
步骤二依据(0,1)均匀分布生成两个随机数p和q;
步骤三若p<a,则判定该作业为串行作业,并行度为1,然后返回步骤二继续执行,确定下一个作业的并行度;否则,继续执行步骤四;
步骤四根据Gamma(4,0.9)分布生成一个随机数N;若q<b,则令N等于与2N的值最接近的2的幂数;否则,令N等于与2N的值最接近的偶数;
步骤五重复执行步骤二至步骤四,直至所有作业到达时间子模型生成的作业的并行度均已确定;
作业执行时间子模型
步骤一以2为底,对历史数据库中每个作业的执行时间取对数;并按照历史数据库中记录的作业的并行度,即使用的处理器数,把取过对数后的数据分为若干组;
步骤二依次取各组数据,使用极大似然估计法,确定以下分布中的p值
p×Gamma(4,1.5)+(1-p)×Normal(15,0.682)
得到一个由<并行度,p>数对组成的集合;
步骤三根据步骤二得到的数对集合,使用最小二乘法,确定公式p=a×并行度+b中系数a和常数项b的值;
步骤四取作业并行度子模型得到的作业并行度,根据公式P=a×作业并行度+b计算出P的值;若P<0,则令P=0;若P>1,则令P=1;
步骤五依据分布P×Gamma(4,1.5)+(1-P)×Normal(15,0.682)生成一个随机数r,并令该作业的执行时间为2r秒;
步骤六重复执行步骤四至步骤五,直至所有作业到达时间子模型生成的作业的执行时间均已确定;
作业类型子模型本发明所述的作业类型子模型,将作业分为刚性作业和可塑性作业两种
●刚性作业必须达到用户规定的执行条件才可以执行的作业;
●可塑性作业由机群作业管理系统中的调度程序决定计算资源数量的一类作业,且在作业开始执行后计算资源数量不能改变。
对于刚性作业,本发明所述的机群负载模型认为,经过作业到达时间子模型、作业并行度子模型、作业执行时间子模型后,已充分刻画了该作业的特征;
对于可塑性作业,本发明所述的机群负载模型认为,由于这种类型作业的并行度在执行时发生变化,有必要为该类作业提供一个加速比关系,用来刻画机群作业管理系统中的调度程序改变作业并行度时,对作业执行时间的影响;
加速比关系需要使用到之前作业并行度子模型和作业执行时间子模型输出的作业并行度和作业执行时间;
可塑性作业的加速比关系为
步骤一统计历史数据库中,要求处理器数量和使用处理器数量不相等的作业数,占作业总数的百分比q;
步骤二依据(0,1)均匀分布生成一个随机数p;若p>q,则判定该作业为刚性作业,跳转至步骤六;否则,判定该作业为可塑性作业,继续执行步骤三;
步骤三分别依据(0.04,4)均匀分布和(1,100)均匀分布生成两个随机数c1和c2;
步骤四根据公式T=并行度×执行时间-并行度×(并行度-1)×c1-c2计算当并行度为l时的作业执行时间T;
步骤五可塑性作业的加速比关系为
其中n表示机群作业管理系统中的调度程序确定的作业并行度,t表示在该并行度下作业的执行时间;
步骤六重复执行步骤二至步骤五,至所有作业到达时间子模型生成的作业的执行时间均已确定。
全文摘要
本发明涉及一种基于日志特征分析的机群负载模型,包含有机群负载的历史数据库、作业到达时间子模型、作业并行度子模型、作业执行时间子模型以及作业类型子模型。机群负载的历史数据库通过整合用户以往的机群使用经验及机群使用日志所建立,记录了每个作业的到达时间、要求处理器数量、使用处理器数量、开始时间、结束时间;子模型根据历史数据和统计函数建立,各子模型采用的统计函数的形式是一定的,函数中的参数随历史数据的变化而变化。各子模型在调用顺序上有一定的约束作业到达时间子模没有调用顺序约束;作业并行度子模型、作业执行时间子模型以及作业类型子模型的调用顺序为作业并行度子模型→作业执行时间子模型→作业类型子模型。
文档编号H04W24/00GK101674194SQ20091009378
公开日2010年3月17日 申请日期2009年9月28日 优先权日2009年9月28日
发明者肖利民, 卓 刘, 梁爱华, 利 阮 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1