CN103530183A - 大规模异构计算系统中任务计算量具有随机性的调度方法 - Google Patents

大规模异构计算系统中任务计算量具有随机性的调度方法 Download PDF

Info

Publication number
CN103530183A
CN103530183A CN201310506812.9A CN201310506812A CN103530183A CN 103530183 A CN103530183 A CN 103530183A CN 201310506812 A CN201310506812 A CN 201310506812A CN 103530183 A CN103530183 A CN 103530183A
Authority
CN
China
Prior art keywords
task
sdl
level
stochastic
processor
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
CN201310506812.9A
Other languages
English (en)
Other versions
CN103530183B (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.)
Hunan University
Original Assignee
Hunan 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 Hunan University filed Critical Hunan University
Priority to CN201310506812.9A priority Critical patent/CN103530183B/zh
Publication of CN103530183A publication Critical patent/CN103530183A/zh
Application granted granted Critical
Publication of CN103530183B publication Critical patent/CN103530183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明针对大规模异构计算系统环境下任务执行时间具有随机性及优先约束依赖关系,提出了一种高效的任务调度方法。该方法主要由以下几步构成:第一步,针对应用程序的每个任务,计算其随机sb_level值;第二步,对已就绪任务队列中的每个任务查找最优处理机,并计算每对任务-处理机的随机动态级SDL;第三步:利用操作算子<比较随机动态级SDL的大小,确定最优任务-处理机对;第四步:将任务调度到相应的处理机上执行,并把已就绪的任务加入就绪任务队列;第五步:更新目标计算系统的相关参数。采用该方法,较之现有面向异构计算系统的调度方法相比具有调度长度短、加速比高等性能优势。

Description

大规模异构计算系统中任务计算量具有随机性的调度方法
技术领域
本发明属于计算机软件以及超级计算机中资源管理技术领域,涉及一种基于任务计算量具有随机性的任务调度方法。 
背景技术
随着以信息技术变革为主的社会经济飞速发展,大型复杂科学工程计算和海量数据处理对高性能计算需求越来越高。由于硬件局限,单一计算机很难满足这些问题的海量计算需求。同时,高速互联网络与超大规模高性能集成电路技术迅猛发展,可移植高性能通讯软件广泛应用,以网络为基础的高性能并行计算成为可能。并行计算用以解决许多中、粗粒度的复杂科学计算、海量数据搜索处理问题,如高精度的中尺度数值天气预报、图形渲染、核爆炸模拟、新药筛选、飞行器数字模拟、作战模拟和金融电子服务等。 
由于目前大规模并行计算系统具明显的的异构性,而各种资源动态加入和退出具有随机性,因而系统资源管理与任务调度所面临的问题将更加复杂,这种复杂性已成为提高异构并行计算系统实际应用性能和效率必须解决的关键问题之一。另一方面,传统资源管理与任务调度系统在应对大规模计算系统动态资源时呈现出系统延迟性高、可扩展性差、实时性差、任务调度效率低等一系列问题,其中最核心的是系统任务调度效率低。 
任务调度问题本质上属于组合优化问题,而组合优化问题的最优解属于NP完全问题,特别是满足系统可靠性、安全性、任务间约束关系的多目标任务调度更是NP完全问题。目前解决调度问题的策略和方法大致分为:局部和全局、静态和动态(在全局类中)、最优和次优(在静态和动态两种类型中)、近似和启发式(在次优类型中)、集中控制和分散控制(在动态类型中)、协作和非协作(对分散控制)、单个和多个应用程序、非抢占式和抢占式、非自适应和自适应等。在实际应用上,相对于高复杂的精确任务调度策略,启发式任务调度策略与方法是解决分布式系统任务调度问题的一种有效方法。 
另一方面,经典研究方法都假定任务调度时已知任务计算量,常见方法有任务多次 执行的平均值或者任务执行的最坏值等。然而实际任务执行时间具有随机性,这种任务实际执行时间随机性对计算系统任务调度提出巨大挑战,下面将以一个简单的例子说明。如当以全部任务总完成时间做为任务调度方法效率衡量标准时,有这样4个任务其均值和方差如表1示: 
表1任务计算量具有随机性示例 
任务 1 2 3 4
E(期望) 35 40 20 22
D(方差) 8 5 20 0
经典调度策略和方法是通过获得最小期望处理时间来选择最佳调度序列,很明显SEPT(最短执行时间优先)方法是其中的一种有效技术,因而其调度序列为3-4-1-2。如果假定任务vi的完成时间为Ci,那么全部任务完成时间的期望与方差结果分别为:E[∑Ci]=256和Var[∑Ci]=357。但在4-3-1-2调度序列中,其全部任务完成时间的期望与方差结果则为:E[∑Ci]=258和Var[∑Ci]=217。第二种调度方法有稍微略高的期望值,但却比SEPT调度方法有低很多的方差。假设所有任务计算量都服务正态分布且此问题求解的期限为280,则 
调度方案1(SEPT调度): 
u1=256,D1=357,Pr[∑Ci≦280]=Pr[Z≦1.272]=0.898=89.8% 
调度方案2: 
u2=258,D2=217,Pr[∑Ci≦280]=Pr[Z≦1.493]=0.9324=93.24% 
调度方案2的期望值高,但其能在期限内求解的可能性为:93.24%,明显高于调度方案1的89.8%。因而,本文认为方案2是一种处理随机任务调度问题的较好方法。由此可见当考虑任务计算量具有随机性时,经典调度方法不一定就是最优的策略和方法。因而研究并提出针对任务计算量具有随机性的调度方法是提高并行计算系统应用效率的重要技术手段。 
发明内容
本发明针对大规模异构计算系统环境下任务执行时间具有随机性及优先约束依赖关系,提出了一种高效的任务调度方法。采用该方法,较之现有面向异构计算系统的调 度方法相比具有调度长度短、加速比高等性能优势。 
为解决上述技术问题,本发明所采用的技术方案为:一种大规模异构计算系统中任务计算量具有随机性的调度方法,包括如下步骤: 
第一步,对运行在大规模异构计算系统环境下所有服从正态分布的随机有向无环并行应用程序,求就绪任务队列中任务vx到出口任务vexit的随机近似路径长度sb_level(vx),其中sb_level(vx)为: 
sb _ level ( v x ) = MAX e x , i ∈ E , v i ∈ succ ( v x ) { w ( e x , i ) + sb _ level ( v i ) } + w ( v x ) w ( p ) ‾ ,
其中ex,i表示任务间的数据通信量,vx,vi是任务节点,且任务vx是任务vi具有优先约束性的前驱任务,也就是说只有当任务vx执行完成后,任务vi才可以执行,E为所有通信边集合,succ(vx)为任务vx的直接后继任务集,w(vx)表示任务节点vx的计算需求,w(ex,i)表示通信边ex,i的通信需求,
Figure BDA0000401473030000032
是计算系统平均计算能力; 
对于出口任务vexit, 
sb _ level ( v exit ) = N ( μ exit , σ exit 2 ) w ( p ) ‾ ;
其中sb_level(vexit)为任务vexit本身的随机近似路径长度,
Figure BDA0000401473030000034
是任务vexit服从正态分布的计算量; 
第二步,为了给已就绪任务队列中的每个任务查找最优处理机,将就绪任务队列中的每个任务都分别与所有的处理机逐一配对,并计算由此产生的每对任务-处理机的随机动态级SDL,其任务-处理机对的随机动态级SDL为: 
SDL(vi,px)=sb_level(vi)-EST(vi,px)┤Δ(vi,px); 
其中EST(vi,px)是任务vi在处理机px上的最早开始执行时间,Δ(vi,px)代表计算资源的差异性; 
第三步:将第二步中所得到的SDL(vi,px)进行比较,以获得最优任务-处理机对;比较随机动态级SDL的大小是利用操作算子<来实现,操作算子<的实现方法是对任意两个服从正态分布的随机动态级SDL(X1)和SDL(X2),当x=x1时,随机动态级 SDL(X1)的累积分布函数F(SDL(X1))=0.9;x=x2时,随机动态级SDL(X2)的累积分布函数F(SDL(X2))=0.9,则操作算子<计算如下: 
SDL ( X 1 ) < SDL ( X 2 ) = SDL ( X 2 ) , for x 1 < x 2 SDL ( X 1 ) , otherwise
其中x是自变量,x1是x定义域上的点,x2是x定义域上的另一点; 
第四步:将最优任务-处理机对的任务调度到相应的处理机上执行;在任务调度后,若还有原来受此任务约束的任务,则将这些任务变为就绪任务,再将这些变为就绪任务的任务加入就绪任务队列; 
第五步:检查就绪任务队列中所有任务是否调度完毕,如果调度完毕则输出任务-处理机对序列;否则更新目标计算系统的参数,所更新的参数包括处理机的运行时间、完成时间,该任务已经调度的标记,相应数组信息等,并返回第二步重新计算所有就绪任务-处理机对的SDL(vi,px),这样循环执行第二、三、四、五步直至就绪任务队列中所有任务均调度完毕。 
所述的一种大规模异构计算系统中任务计算量具有随机性的调度方法,第二步中Δ(vi,px)的计算公式为: 
&Delta; ( v i , p x ) = w ( v i ) w ( p ) &OverBar; - w ( v i ) w ( p x ) ,
其中,w(vi)为任务节点vi的计算需求,w(px)为处理机px的计算能力,这里Δ(vi,px)值越大,代表处理机计算能力越强;如果Δ(vi,px)负值,则表示其计算能力低于系统平均计算能力。 
本发明的有益效果在于,本发明针对经典调度方法以任务计算量为确定值进行调度,这与任务实际执行时间有较大差别,从而调度性能低下。本发明首先研究任务计算量服从正态分布的应用程序,利用Clark方程实现并行任务完成时间期望与方差的计算,在此基础上提出随机sb_level近似计算方法,受确定型表调度方法DLS启发,提出针对随机任务调度问题的随机动态级调度方法(SDLS)。 
该方法最大实用之处是从大规模异构计算系统任务执行时间的实际状态出发,研究其自身固的规律,从而提出符合实际需求的任务调度方法,有效提高高性能应用的实际应用效率。 
下面结合附图对本发明作进一步说明。 
附图说明
图1是本发明的流程图; 
图2是服从正态分布的串—并结构随机任务图示例; 
图3是服从正态分布的累积分布函数和操作算子<示例; 
图4是100任务DAG图实验结果(a)调度长度,(b)加速比,(c)调度长度标准方差; 
图5是200任务DAG图实验结果(a)调度长度,(b)加速比,(c)调度长度标准方差; 
图6是300任务DAG图实验结果(a)调度长度,(b)加速比,(c)调度长度标准方差; 
具体实施方式
本发明所采用的技术方案包括以下关键方法: 
1、并行应用程序DAG(有向无环)近似路经长度 
基于DAG(有向无环)模型的并行应用程序表调度方法关键是如何有效计算从入口任务到任务或任务到出口任务的路经长度,确定型调度方法计算路经长度的方法很多,如t-level、b-level、关路经等。但对于随机DAG(有向无环)模型,由于其每个任务计算量和任务间的通信量是随机变量,因而任务的路经长度也是随机变量。另一方面,任务DAG(有向无环)图的数据依赖关系实际上由两种类型构成:任务间串行结构,如图2(a)所示;任务间并行结构,如图2(b)所示。计算随机任务路经长度可通过重复多次计算串行结构随机路经长度和并行结构随机路经长度来实现。 
对于服从正态分布的随机概率变量Xi(i=1,2,3,…n),其数学期望和方差分别为μi、 
Figure BDA0000401473030000051
则随机变量之和 X = &Sigma; i = 1 n X i 服从期望为
Figure BDA0000401473030000053
和方差为
Figure BDA0000401473030000054
的正态分布,也可以写成: 
X ~ N ( &Sigma; i = 1 n &mu; i , &Sigma; i = 1 n &sigma; i 2 ) - - - ( 1 )
随机正态分布变量的这个重要属性可以应用在串行结构随机任务路经长度计算上。如图2(a),其随机串行路经为(vi→ei,j→vj),则路经长度为w(vi)+w(ei,j)+w(vj)。由于vi、ei,j、vj都服从正态分布,因而其路经长度X服从 
Figure DEST_PATH_GDA0000414606160000061
正态分布。这里我们假定随机变量X的概率密度函数为f(x)、累积分布函数为F(x),则有: 
f ( x ) = 1 2 &pi; ( &sigma; 1 2 + &sigma; 1,2 2 + &sigma; 2 2 ) exp ( - ( x - ( &mu; 1 + &mu; 1,2 + &mu; 2 ) ) 2 2 ( &sigma; 1 2 + &sigma; 1,2 2 + &sigma; 2 2 ) ) F ( x ) = &Integral; - &infin; x f ( t ) dt
对于并行应用程序随机任务DAG(有向无环)图中任务间具有并行结构的随机任务路经长度计算,如图2(b),关键是如何计算数据准备完成时间DRT。而数据准备完成时间取决最晚通信完成时间,对于随机DAG(有向无环)任务图,本发明采用Clark方程计算其的期望和方差,从而近似计算准备完成时间DRT: 
[0050] DRT(vn)=MAX{EFT(e1,n),EFT(e2,n),…,EFT(en-1,n)} 
(2) 
=MAX{MAX{EFT(e1,n),EFT(e2,n)},…,EFT(en-1,n)} 
因为任务计算量和任务间通信量都是独立且服从正态分布,因而任意任务间通信完成时间的相关系数为零,也就是说: 
ρi,j=ρ(EFT(ei,n),EFT(ej,n))=0, 
&ForAll; i , j = 1,2,3 &CenterDot; &CenterDot; &CenterDot; , n - 1 and i &NotEqual; j
本文采用Clark方程计算MAX{EFT(e1,n),EFT(e2,n)}的期望和方差。由于ρ1,2=0,因而其期望为: 
E[MAX{EFT(e1,n),EFT(e2,n)]=E[EFT(e1,n)]Φ(ξ1,2)┤E[EFT(e2,n)]Φ(-ξ1,2)┤ε1,2ψ(ξ1,2
=E[EFT(e2,n)]+(E[EFT(e1,n)]-E[EFT(e2,n)])Φ(ξ1,2)+ε1,2ψ(ξ1,2
上式中, &psi; ( t ) 1 2 &pi; e - 1 2 t 2 , &Phi; ( x ) = &Integral; - &infin; x &psi; ( t ) dt = 1 2 &pi; &Integral; - &infin; x e - 1 2 t 2 dt ,
&epsiv; 1,2 = Var [ EFT ( e 1 , n ) ] + Var [ EFT ( e 2 , n ) ] - 2 &rho; 1,2 x 1,2 = Var [ EFT ( e 1 , n ) ] + Var [ EFT ( e 2 , n ) ] , x 1,2 = Var [ EFT ( e 1 , n ) ] Var [ EFT ( e 2 , n ) ] ,
&xi; 1,2 = E [ EFT ( e 1 , n ) ] - E [ EFT ( e 2 , n ) ] &epsiv; 1,2
MAX{EFT(e1,n),EFT(e2,n)}的方差可以使用第二Clark方程计算为: 
Var[MAX{EFT(e1,n),EFT(e2,n)}]=(E2[EFT(e1,n)]+Var[EFT(e1,n)])Φ(ξ1,2
+(E2[EFT(e2,n)]+Var[EFT(e2,n)])Φ(-ξ1,2)+(E[EFT(e1,n)](3) 
+E[EFT(e2,n)])ε1,2ψ(ξ1,2)-E2[MAX{EFT(e1,n),EFT(e2,n)}] 
接下来,考虑三个并行通信的期望和方差,由于 
MAX{EFT(e1,n),EFT(e2,n),EFT(e3,n)} 
=MAX{MAX{EFT(e1,n),EFT(e2,n)},EFT(e3,n)} 
其相关系数ρ1,2,3可以看成MAX{EFT(e1,n),EFT(e2,n)}和EFT(e3,n)的相关系数,因ρ1,2=0和任务及任务间通信相互独立,所以ρ1,2,3=0。所以三个任务并行结构MAX{EFT(e1,n),EFT(e2,n),EFT(e3,n)}的期望如下: 
E[MAX{EFT(e1,n),EFT(e2,n),EFT(e3,n)}]=E[MAX{EFT(e1,n),EFT(e2,n)}]Φ(ξ1,2,3
+E[EFT(e3,n)]Φ(-ξ1,2,3)+ε1,2,3ψ(ξ1,2,3
这里, 
&epsiv; 1,2,3 = Var [ MAX { EFT ( e 1 , n ) , EFT ( e 2 , n ) } ] + Var [ EFT ( e 3 , n )
&xi; 1,2 = E [ MAX { EFT ( e 1 , n ) EFT ( e 2 , n ) } ] - E [ EFT ( e 3 , n ) ] &epsiv; 1,2
同样,MAX{EFT(e1,n),EFT(e2,n),EFT(e3,n)}的方差可按如下方法计算: 
Var[MAX{EFT(e1,n),EFT(e2,n),EFT(e3,n)}]=(E2[MAX{EFT(e1,n),EFT(e2,n)}] 
+Var[MAX{EFT(e1,n),EFT(e2,n)}])Φ(ξ1,2,3)+(E2[EFT(e3,n)]+Var[EFT(e3,n)])Φ(-ξ1,2,3
+(E[MAX{EFT(e1,n),EFT(e2,n)}]+E[EFT(e3,n)])ε1,2,3ψ(ξ1,2,3
-E2[MAX{EFT(e1,n),EFT(e2,n),EFT(e3,n)}] 
把上述Clark方程递推式应用n-2步即可得到数据准备完成时间DRT(vn)的期望与方差。因为所有的任务服从正态分布,所以本文认为数据准备完成时间DRT(vn)也近似服从满足上述期望和方差的正态分布过程。从而可计算随机DAG模型中并行结构的近似路经长度。 
2、随机动态级调度方法 
在DAG(有向无环)模型中,b_level(vi)是指从任务vi到出口任务的最长路径长度,是基于DAG(有向无环)模型的任务调度的关键技术指标。对于任务计算量服从随机分布的DAG(有向无环)图,每个任务的b_level也具有随机性,因而本发明提出随机sb_level(Stochastic Bottom Level)的概念。其定义如下: 
定义1:对于服从正态分布的随机DAG应用程序,sb_level(vx)是指从任务vx到出口任务vexit的随机近似路径长度。随机近似路径长度是指在这条路径上所有任务包括任务vx本身所构成并近似服从正态分布。 
由定义1可知,计算随机sb_level(vx)的关键是如何计算随机近似路经长度,而随机近似路经长度是由串行结构和并行结构的随机任务构成。这里 
sb _ level ( v x ) = MAX e x , i &Element; E , v i &Element; succ ( v x ) { w ( e x , i ) + sb _ level ( v i ) } + w ( v x ) w ( p ) &OverBar; - - - ( 4 )
对于出口任务vexit
sb _ level ( v exit ) = N ( &mu; exit , &sigma; exit 2 ) w ( p ) &OverBar; - - - ( 5 )
同时,提出随机sb_level的计算过程,如下述计算过程1所示。 
计算过程1计算任务随机sb_levels 
本发明以任务计算量确定的动态优先级调度方法(DLS)为基础,考虑任务计算量服 从正态分布和计算系统的异构性,提出随机动态优先级调度方法(SDLS)。为了体现各计算资源的异构性,Δ(vi,px)代表其差异性,可计算如下: 
&Delta; ( v i , p x ) = w ( v i ) w ( p ) &OverBar; - w ( v i ) w ( p x ) - - - ( 6 )
这里Δ(vi,px)值越大,代表处理机计算能力越强(也就是计算速度越快);如果Δ(vi,px)负值,则表示其计算能力低于系统平均计算能力。DLS方法的关键是任务的动态级DL(vi,px),当考虑到系统异构性时,其动态级则可表述为: 
DL(vi,px)=SBL(vi)-EST(vi,px)┤Δ(vi,px)。签于此,本文提出随机动态级SDL(vi,px),它是随机任务的sb_level(vi)减去任务在处理机px上的最早开始执行时间EST(vi,px),再加上Δ(vi,px)。可表示如下: 
SDL(vi,px)=sb_level(vi)-EST(vi,px)┤Δ(vi,px)(7) 
与确定型动态级调度方法(DLS)类似,随机动态优先级调度方法(SDLS)为任务查找最佳处理机的每一步都使用公式(4)去计算所有未调度任务和处理机对的动态级SDL(vi,px),然后从中选择最优任务—处理机对并把任务分配到相应的处理机上执行。计算过程伪代码如计算过程2所示。 
计算过程2SDLS方法的伪代码 
Figure BDA0000401473030000101
上述SDLS方法思想的一个关键点是如何挑选任务—处理机,确定型的动态级DL(vi,px)是一个可比较大小的数值,因而一般选择最大的DL(vi,px)为最优任务—处理机。而对于随机动态级调度方法SDLS,其随机动态级SDL(vi,px)服从正态概率分布,因而无法简单的采用最大SDL(vi,px)方法。基于此,本文给出比较操作算子<,其定义如下: 
定义2:任意两个服从正态分布的随机动态级SDL(X1)和SDL(X2),当x=x1时,随机动态级SDL(X1)的累积分布函数F(SDL(X1))=0.9;x=x2时,随机动态级SDL(X2)的累积分布函数F(SDL(X2))=0.9。则操作算子计算如下: 
SDL ( X 1 ) < SDL ( X 2 ) = SDL ( X 2 ) , for x 1 < x 2 SDL ( X 1 ) , otherwise - - - ( 8 )
定义2所定义的操作算子<能有效进行最优随机动态级选择,主要归功于其选择的最优动态级优于其它动态级的概率为90%,这是个高概率事件,因而足够保证随机任务调度的性能。图2为服从正态分布的累积分布函数和操作算子<示例图,从图中可知SDL(X2)在大部分情况下优于SDL(X1),因而本发明提出的随机动态级调度方法SDLS选SDL(X2)为最优动态级SDL。 
实验证明: 
实验比较的经典任务调度方法主要有:Rob-HEFT、SHEFT和HEFT,采用的模拟计算平台为16台处理机性能从1000MIPS到3000MIPS的异构并行计算系统。随机并行应用程序DAG(有向无环)图是通过随机改变任务数、DAG(有向无环)图深度、任务连接密度、任务计算量的最大最小期望和方差、任务间通信量的最大最小期望和方差等参数获得。性能评价指标主要有调度长度(Makespan)、加速比(Speedup)和调度长度标准方差(Makespan standard deviation)。 
实验结果如图3、4、5所示,所有的实验数据都是多次实验的平均值。图3是100任务随机并行应用程序在异构计算系统上应用上述四种调度策略所得的实验结果。从图3可知,考虑任务计算量和任务间通信量期望、方差的随机任务调度方法,如SDLS、SHEFT、Rob-HEFT,无论是在调度长度、加速比,还是调度长度标准方差都要优于确定型调度方法HEFT。实际上,在平均调度长度方面,SDLS要比SHEFT短30.03%、比Rob-HEFT短14.07%、比HEFT短33.85%。对于平均加速比而言,SDLS比SHEFT优19.1%、比Rob-HEFT优15%、比HEFT优30.2%。由于调度长度标准方差是衡量并行应用程序在系统上执行稳定性的一种重要指标,而从图3(c)可知SDLS的调度长度标准方差短于SHEFT、Rob-HEFT和HEFT,因而SDLS在异构并行计算系统上具有较好的稳定性。相对确定型调度策略而言,随机任务调度方法SDLS主要是把随机变量的期望和方差综合考虑,因而能产生较优的调度序列。而确定型调度方法HEFT对随机任务调度问题仅简单的把任务期望做为其计算量,调度效率明显低于SDLS,所以确定型调度方法不适合随机调度问题。随着处理机台数的增加,四个调度方法的调度长度和调度长度标准方差随之降低,而加速比增加。 
从图3亦可知,SDLS优于其它两种随机任务调度策略(SHEFT和Rob-HEFT)。这主要归因于SDLS能有效的采用Clark方程计算并行结构的期望与方差,并采用近似的正态分布来计算并行结构的准备完成时间,因而能有效的计算近似任务路经长度,这对高效调度序列的产生起关键作用。其次,SDLS方法使用两种应用在随机任务调度中的关键技术,任务随机sb_level(vi)和随机动态级SDL,这两种技术对提高任务调度精度有重要作用。而Rob-HEFT调度策略,采用一种标准空间(makespan,standard deviation)去进行近似任务和任务间通信边的选择与分配,因而降低了计算随机DAG图调度长度 的精度。 
在随机任务调度问题上,SDLS方法优于SHEFT、Rob-HEFT和HEFT的结论还可以从图4、5得出。图4是200任务随机并行应用程序模拟仿真实验结果,从图中可知在平均调度长度方面,SDLS比SHEFT优16.4%、比Rob-HEFT优11.5%、比HEFT优27.73%。在平均并行加速比方面,SDLS比SHEFT优28.3%、比Rob-HEFT优6.4%、比HEFT优31.7%。同样,从图4(c)可知,SDLS在系统执行稳定性方面比SHEFT好10.22%、比Rob-HEFT好5.56%、比HEFT好40.5%。图5是300任务随机并行应用程序模拟实验结果,从图中可知无论是平均调度长度、加速比,还是调度长度标准方差,SDLS都优于SHEFT、Rob-HEFT和HEFT。由这些实验结果我们可以得出如下结论,对于随机变量中如何有效的把方差考虑进任务计算量或任务间通信量是随机任务调度问题高效解决的关键。这些实验结果也说明,本发明提出的随机路动态级调度方法能有提高高性能并行应用的效率。 

Claims (2)

1.一种大规模异构计算系统中任务计算量具有随机性的调度方法,其特征在于,包括如下步骤:
第一步,对运行在大规模异构计算系统环境下所有服从正态分布的随机有向无环并行应用程序,求就绪任务队列中任务vx到出口任务vexit的随机近似路径长度sb_level(vx),其中sb_level(vx)为:
sb _ level ( v x ) = MAX e x , i &Element; E , v i &Element; succ ( v x ) { w ( e x , i ) + sb _ level ( v i ) } + w ( v x ) w ( p ) &OverBar; ,
其中ex,i表示任务间的数据通信量,vx,vi是任务节点,且任务vx是任务vi具有优先约束性的前驱任务,E为所有通信边集合,succ(vx)为任务vx的直接后继任务集,w(vx)表示任务节点vx的计算需求,w(ex,i)表示通信边ex,i的通信需求,是计算系统平均计算能力;
对于出口任务vexit
sb _ level ( v exit ) = N ( &mu; exit , &sigma; exit 2 ) w ( p ) &OverBar; ;
其中sb_level(vexit)为任务vexit本身的随机近似路径长度,
Figure FDA0000401473020000014
是任务vexit服从正态分布的计算量;
第二步,为了给已就绪任务队列中的每个任务查找最优处理机,将就绪任务队列中的每个任务都分别与所有的处理机逐一配对,并计算由此产生的每对任务-处理机的随机动态级SDL,其任务-处理机对的随机动态级SDL为:
SDL(vi,px)=sb_level(vi)-EST(vi,px)┤Δ(vi,px);
其中EST(vi,px)是任务vi在处理机px上的最早开始执行时间,Δ(vi,px)代表计算资源的差异性;
第三步:将第二步中所得到的SDL(vi,px)进行比较,以获得最优任务-处理机对;比较随机动态级SDL的大小是利用操作算子<来实现,操作算子<的实现方法是对任意两个服从正态分布的随机动态级SDL(X1)和SDL(X2),当x=x1时,随机动态级SDL(X1)的累积分布函数F(SDL(X1))=0.9;x=x2时,随机动态级SDL(X2)的累积分布函数F(SDL(X2))=0.9,则操作算子<计算如下:
SDL ( X 1 ) < SDL ( X 2 ) = SDL ( X 2 ) , for x 1 < x 2 SDL ( X 1 ) , otherwise
其中x是自变量,x1是x定义域上的点,x2是x定义域上的另一点;
第四步:将最优任务-处理机对的任务调度到相应的处理机上执行;在任务调度后,若还有原来受此任务约束的任务,则将这些任务变为就绪任务,再将这些变为就绪任务的任务加入就绪任务队列;
第五步:检查就绪任务队列中所有任务是否调度完毕,如果调度完毕则输出任务-处理机对序列;否则更新目标计算系统的参数,并返回第二步重新计算所有就绪任务-处理机对的SDL(vi,px),这样循环执行第二、三、四、五步直至就绪任务队列中所有任务均调度完毕。
2.根据权利要求1所述的一种大规模异构计算系统中任务计算量具有随机性的调度方法,其特征在于,第二步中Δ(vi,px)的计算公式为:
&Delta; ( v i , p x ) = w ( v i ) w ( p ) &OverBar; - w ( v i ) w ( p x ) ,
其中,w(vi)为任务节点vi的计算需求,w(px)为处理机px的计算能力,这里Δ(vi,px)值越大,代表处理机计算能力越强;如果Δ(vi,px)负值,则表示其计算能力低于系统平均计算能力。
CN201310506812.9A 2013-10-24 2013-10-24 大规模异构计算系统中任务计算量具有随机性的调度方法 Active CN103530183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310506812.9A CN103530183B (zh) 2013-10-24 2013-10-24 大规模异构计算系统中任务计算量具有随机性的调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310506812.9A CN103530183B (zh) 2013-10-24 2013-10-24 大规模异构计算系统中任务计算量具有随机性的调度方法

Publications (2)

Publication Number Publication Date
CN103530183A true CN103530183A (zh) 2014-01-22
CN103530183B CN103530183B (zh) 2016-11-02

Family

ID=49932221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310506812.9A Active CN103530183B (zh) 2013-10-24 2013-10-24 大规模异构计算系统中任务计算量具有随机性的调度方法

Country Status (1)

Country Link
CN (1) CN103530183B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317754A (zh) * 2014-10-15 2015-01-28 中国人民解放军国防科学技术大学 面向异构计算系统的跨步数据传输优化方法
CN116974729A (zh) * 2023-09-22 2023-10-31 浪潮(北京)电子信息产业有限公司 大数据作业的任务调度方法、装置及电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005521A1 (en) * 2005-06-03 2007-01-04 Aspeed Software Corporation Method and system for conditioning of numerical algorithms for solving optimization problems within a genetic framework
CN101354693A (zh) * 2008-09-11 2009-01-28 重庆邮电大学 一种异构多核处理器的核间通信调度系统及方法
CN101582043A (zh) * 2008-05-16 2009-11-18 华东师范大学 一种异构计算系统动态任务分配方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005521A1 (en) * 2005-06-03 2007-01-04 Aspeed Software Corporation Method and system for conditioning of numerical algorithms for solving optimization problems within a genetic framework
CN101582043A (zh) * 2008-05-16 2009-11-18 华东师范大学 一种异构计算系统动态任务分配方法
CN101354693A (zh) * 2008-09-11 2009-01-28 重庆邮电大学 一种异构多核处理器的核间通信调度系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐小勇,李肯立,PADUA DIVID: "考虑通信竞争的任意处理机网络表调度算法", 《中国科学 F辑:信息科学》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317754A (zh) * 2014-10-15 2015-01-28 中国人民解放军国防科学技术大学 面向异构计算系统的跨步数据传输优化方法
CN104317754B (zh) * 2014-10-15 2017-03-15 中国人民解放军国防科学技术大学 面向异构计算系统的跨步数据传输优化方法
CN116974729A (zh) * 2023-09-22 2023-10-31 浪潮(北京)电子信息产业有限公司 大数据作业的任务调度方法、装置及电子设备和存储介质
CN116974729B (zh) * 2023-09-22 2024-02-09 浪潮(北京)电子信息产业有限公司 大数据作业的任务调度方法、装置及电子设备和存储介质

Also Published As

Publication number Publication date
CN103530183B (zh) 2016-11-02

Similar Documents

Publication Publication Date Title
Yalaoui et al. A new dynamic programming method for reliability & redundancy allocation in a parallel-series system
CN105022670B (zh) 一种云计算平台中的异构分布式任务处理系统及其处理方法
Niknam et al. A new decomposition approach for the thermal unit commitment problem
CN103942102A (zh) 基于双优先级的实时任务调度方法
CN101706741A (zh) 一种基于负载平衡的cpu和gpu两级动态任务划分方法
CN109857532B (zh) 基于蒙特卡洛树搜索的dag任务调度方法
CN107609141A (zh) 一种对大规模可再生能源数据进行快速概率建模方法
CN102790698B (zh) 一种基于节能树的大规模计算集群任务调度方法
Wei et al. A GPU-based parallelized Monte-Carlo method for particle coagulation using an acceptance–rejection strategy
Yan et al. Efficient selection of a set of good enough designs with complexity preference
CN103246541A (zh) 自动并行化多级并行代价评估方法
CN110147284B (zh) 基于二维长短期记忆神经网络的超级计算机工作负载预测方法
CN104536831A (zh) 一种基于多目标优化的多核SoC软件映射方法
CN103530183A (zh) 大规模异构计算系统中任务计算量具有随机性的调度方法
Aslan Archimedes optimization algorithm based approaches for solving energy demand estimation problem: a case study of Turkey
CN104852819A (zh) 一种基于异构MapReduce集群的面向SLA的能耗管理方法
Efimov et al. The problem of choosing the optimal performance in the multiprocessor computer system design
CN109840308B (zh) 一种区域风电功率概率预报方法及系统
CN116303219A (zh) 一种网格文件的获取方法、装置及电子设备
Allen et al. Helicopter rotor blade multiple-section optimization with performance considerations
CN108446165A (zh) 一种云计算中的任务预取方法
CN104166593A (zh) 一种计算多应用功能异步并发调度方法
Peng et al. Response time analysis of typed DAG tasks for G-FP scheduling
Honcharenko et al. Smart Information System for Creating Digital Twins of Construction Project
Shchur et al. Synchronization of Processes in Parallel Discrete Event Simulation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant