基于动态关键任务的多处理器任务分配算法

第30卷第3期计算

学报

v01.30No.3

2007年3月

CHINESEJOURNAL0FCOMPUTERS

Mar.2007

基于动态关键任务的多处理器任务分配算法

舟孙世新

(电子科技大学计算机科学与工程学院成都610054)

摘要多处理器调度问题是影响系统性能的关键问题,基于任务复制的调度算法是解决多处理器调度问题较为

有效的方法.文中分析了几个典型的基于任务复制算法,提出了基于动态关键任务(DCT)的多处理器任务分配算法.DCT算法以克服贪心算法不足为要点,调度过程中动态计算任务时间参数,准确确定处理器的关键任务,以关键任务为核心优化调度,逐步改善调度结果,最终取得最优的调度结果.分析和实验证明,DCT算法优于现有其它同类算法.

关键词调度长度;任务复制;多处理器系统;任务分配;并行计算;同构系统中图法分类号TP311

An

Algorithm

ofA¨ocatingTasksto

Multiprocessors

Based

on

DynamicCriticalTask

LANZhou

SUNShi—Xin

(Co比gPo,com户“£PrSc{P九cP口咒d眈gi舛eeri雄g,协f御州£yo,EZ8甜ron把SciP竹c曰口ndnc^加ZogyD,劬i撇,C^删gdM610054)

Abst腿ct

Oneofmainobstaclesinachievinghighperformanceistheschedulingformultiproces—

sors.

Schedulingalgorithmbasedon

taskdl:lplicationis

betterway

to

solvethisproblem.

The

authorsdiscussseveralrecentlyreportedduplication—basedschedulingalgorithmsandpropose

novelaIgorithm.

Theproposedalgorithm,

whichiscalIedthe

algorithm

ofanocatingtasksto

multiprocessorsbased

on

DynamicCriticalTask(DCT),isdifferentfromthepreviouslyproposed

algorithmsin

numberofways.Besides

directedacyclicgraph(【)AG),theganttgraphalsois

introducedintothescheduIingprocess.Based

on

theganttgraph七)CTaIgorithm

aset

oftimepa—

rametersis

put

forwardtoaccuratelydescribethe

taskpositions

andstates.

Afterdynamically

computingthetasktimeparameters,DCTalgorithmdeterminesthecriticaltasksof

processor

andthenoptimizesthisprocessorschedulelengththroughdupIicatingthecriticalfathertasksofthecriticaltasks

to

thisprocessor.

Oncetheschedulelengthis

shorter,亡)CTalgorithmdeter—minesthecriticaltasksagainforthenext

schedulingsuchthat

DCTalgorithm

can

tacklethe

drawbacksofthegreedyalgorithms(e.g.0SA,PPAandCPFDalgorithm).DCTalgorithmalso

employsseveralstrategies

to

reducethenumberofprocessors.

Theanalyticalandexperimental

resultsshowDCTalgorithmhasadvantages

over

thepreViouslyproposedalgorithmsintermsof

theschedulelengthandthenumberofprocessors.

Keywords

schednlelength;taskduplication;multiprocessorsystem;taskallocation;

parallel

computing;homogeneoussystem

收稿日期:2005一04—30;修改稿收到日期:2006一03—20.兰

舟,男。1969年生,博士研究生,主要研究方向为网络计算技术与高性能并行计

算.pmail:izIanzhou@163.com.孙世新,男,1940年生,教授,博士生导师,主要研究领域为网络计算技术、并行/分布式计算及其应用、信息压缩技术、数值计算与组合算法等.

万方数据

3期

舟等:基于动态关键任务的多处理器任务分配算法

455

引言

一个任务系统可以看成由多个具有偏序关系、可以并行或串行执行的子任务组成.多处理器调度的目标就是按照某种策略将子任务合理分配到各个处理器上并行有序地执行,使任务系统执行时间最短.调度算法可分为静态调度和动态调度两种.静态调度和动态调度相比,具有实现简单、开销小等特点.基本的静态调度算法分为基于随机搜索和基于启发法两类[1].基于随机搜索的算法包括基因算法阻引、退火算法Ⅲ、局部搜索技术嘲等.基于启发法的算法包括表调度法[1“]、聚族法[7_8]、任务复制法[9q2]等.任务复制法的基本思想是,在多个接受消息的处理器中执行发送消息任务的副本,将任务在处理器之间的通信改变为处理器内部通信.其特点是牺牲处理器本地处理时间(需要复制任务做冗余计算),而换取减少处理器之间的通信时间.当采用合理的复制策略时,任务复制算法能获得比其他算法较好的调度性能[8’1

3|.

典型的任务复制算法有TDS[9|,OSA[10],PPA[11],CPFD[”3等.TDS算法的主要思想是将友好父任务和子任务分配到同一处理器,使子任务具有较小的最早开始时间,以此缩短调度长度.在满足一定最优条件下,TDs算法能获得最优调度结果.OSA算法改进了TDS算法,放宽了TDS算法的最优条件,将多个父任务和子任务分配到同一处理器,最大可能地使子任务获得最小的最早开始时间,从而缩短调度长度.PPA算法改进了OSA算法,采用和OSA算法一样的调度策略;同时考虑了处理器数目优化,采用父任务合并策略,在不影响调度长度的前提下减少处理器数量.PPA算法的调度长度优于TDS算法,和OSA算法相当;所用处理器数目优于TDS和OSA算法.CPFD算法采用试探性策略,理器上,并计算相应的最早开始时间,最终将该任务分配到可以获得最小最早开始时间的处理器上.CPFD算法在调度当前任务时,递归地寻找其VIP

(VeryImportant

Parent)蚴任务,将VIP任务复制

到当前处理器上,使当前任务能获得最小的最早开TDS算法不允许多个父任务和子任务分配到同一处理器,使子任务难以获得较好的最早开始时

万方数据

间.0SA,PPA,CPFD算法将尽可能多的父任务和

子任务分配到同一处理器,尽管当前任务能获得最小的最早开始时间,却限制了其子孙或祖先任务的

调度,制约了调度长度优化.另外,TDS及CPFD算法未考虑处理器数目的优化,较多地占用了资源.0SA算法在一定限制条件下考虑了处理器数目优化.PPA算法采用父任务合并策略优化处理器数目,但只考虑了全部父任务合并,未考虑部分父任务合并的可能性,而且未考虑任务间的非线性合并.本文基于任务复制提出了DCT算法,改变了传统以DAG图调度为主的不足,将Gantt图引入到调度过程中,提出了相应时间参数,合理表示了任务在调度过程中的状态,依此准确确定关键任务,以关键任务为核心进行优化调度,并动态确定关键任务,克服了贪心算法的不足;DCT算法既考虑了任务间的线性合并也考虑了非线性合并,.增加了任务合并的可能性.实验结果表明,DCT算法在调度长度和处理器数目方面优于同类算法.

2调度算法模型

一个任务系统可以用一个四元组的有向无环图(DAG)表示为

G=(V,E,W,C)

其中,V一{n;h为有序任务,i=1,2,…,口,u为任务

数目);

E=k.』旧,』表示行i到咒』的边,,zt称为咒J的父任

务,,zi称为咒;的子任务);

W={硼。l训。表示竹;的计算开销);C={cl。』k,J表示,2;到,z』的通信开销);p卯d(极)={嘶Jq.f∈E);跚cf(nt)={,l川毋。f∈E);

如果咒。没有父任务,则绝为开始任务;如果啦没有子任务,则佗;为结束任务.

不失一般性,假定DAG图仅有一个开始任务和一个结束任务Ⅲ.本文用咒;表示开始任务,用他表示结束任务.

任务系统的子任务分配到处理器之后,其分配情况可以用一个7元组的Gantt图表示为

G口=(P,T,CL,EPST,EPFT,LAST,LAFT).

T一‰,k,表示分配到户;中的第J个任务);

将被调度任务分配到父任务所在处理器和一个空处始时间,以此缩短调度长度.

其中,P一{户。I夕;表示第i个处理器,i=1,2,…,m,优为处理器数目);

456

计算机学

eps£f,』2fO,

CL={cz。lc厶表示夕;中的有序任务队列);EPST={g户so州IP户站州表示‘州的最早可能开始时间b

EPFT={Pp以州lP夕^嘶表示‘叫的最早可能结束时间);

£i。』一扎,

{mxi。∈鬈∥则已舨^㈦∥h瓶一1},

其它

(7)

LAST一{肠对叫I如s‰表示‰的最迟允许开始

时间};

LAFT一{Zn,£¨l纪力嘶表示£¨的最迟允许结束时间).

c厶中第一个任务称为夕i的首任务,最后一个任

而可能结束的最早时间,由式(1)确定.

8p以谢是指£谢具备开始条件后立即开始执行p;的关键任务o¨是指p;中满足P户丘州一-<Pp盯¨(J≥2)的任务;除关键任务以外的任务称为非关键任务.

z口以州是指£州不影响子任务和后继任务最迟允许开始时间而最迟允许的结束时间,由式(8)确定.Zn丘¨一

Pp/£i.J,

£{,』。咒。

务称为户;的尾任务,£州称为。叫+。的前驱任务,岛一,称为如,j的后继任务.

DAG图刻画了任务系统的静态关系,Gantt图则刻画了任务系统变化了的动态的关系.对于任务复制算法,DAG图中的任务在Gantt图中至少出现一次,最多m次,在户。中则至多出现一次.夕;中

min{,2i2、{如s“.;一c“∽mm}),、‘^.z∈Ⅲ(i・J)

^≠i

£¨唯一地和DAG图中任务n对应,用‘叫一以表示,

反之则不成立.在不引起歧义和便于理解的情况下,本文也用硼¨来表示t奶的计算开销,用cc州)'(州,或c州州)(z¨一咒)表示“,,和£¨之间的通信开销,用夕rPd(i,j)和s“cc(i,.『)表示£州的父任务集和子任务集,用P㈦m(圳)∈E表示£ij是£¨的父任务.任务佗分配到户;用咒∈c厶表示,反之用扎仨c厶表示.

本文采用和文献[2—3,9]相同的算法假设,即假设多处理器系统是同构的,处理单元之间是全连接且通信效率相同,处理单元具有I/O单元,处理单元之间通信可以和任务计算同时进行.假定任务执行是非抢占的,则Gantt图中的任务均满足以下关系:

P声以i,』=8夕盯i,』+叫f,』

(1)(2)

£¨为尾任务时

(8)

min{.曼i2、{z口s如,。一c。;.,,,。。m),z口s£;,,+。},

、£1.f∈5斯f(i'J)

其它

肠s‰是指£州不影响子任务和后继任务最迟允

许开始时间而最迟允许的开始时间,由式(9)确定.

纪s£“J一如^¨一硼嘶

可能完成时间的最大值,即

SLf—max{Pp丘州)

£f.J∈d‘

(9)

处理器户i的调度长度SL,是指夕i中任务的最早

(10)

一个任务系统的调度长度SL(Schedulekngth)定义为所有SL;中的最大者,即

SL=max{SL。)

1≤f≤m

(11)

Z口以f.』一纪5“+硼f,J

如果忌>J,则

8户∥Ⅲ≤P夕跪,^肠^¨≤Z口“矾

如果

P(f,m㈦^)∈E,则志>歹

SL。为p。中尾任务的最早可能结束时间,SL为吼的最早可能结束时间.

当SL。无法进一步减小时,称SLi达到最优.分析式(10)可以得知,调度长度和任务的最早可能结束时间密切相关,而任务的最早可能结束时间和任务所在的处理器、其父任务位置及前驱任务的完成时间有关,这样调度长度的优化就转化为对Gantt图的优化.而关键任务在优化过程中有极其重要的作用,为此给出以下两个定理.

定理1.

证明.

(3)(4)(5)

数据到达时问d口“一m是指父任务竹(咒硭fz;)的数据到达£州的最早时间,可由式(6)确定.

dn£。,(叫)=

n∈pⅢ‘l',)

"岳“l’‘^.f一”

min

{ep^¨+厶.(f,J)}

(6)

£¨的关键父任务则是指父任务中数据到达时间最大的任务,为使式(6)取得最大值的任务.

P户s幺.J是指‘¨具备开始条件(得到所有数据且前驱任务完成)后可能开始执行的最早时间,由式

(7)确定.

关键任务是减小调度长度的核心.可分两个方面来证明.

(1)非关键任务友,,满足P户盯¨一P户^。一-,其P夕盯州由‘州一t确定,在P户^嘶一-没有减小的前提下,P户s‘研无法减小,由式(1)知,Pp厂‘叫是无法减小的;

万方数据

3期

舟等:基于动态关键任务的多处理器任务分配算法

457

(2)改善关键任务的最早可能完成时间就有可能减小调度长度.当尾任务£抽是关键任务时,如果Pp丘咖减小,由式(10)可知,SLf会随之减小;当反,。是关键任务而e户力姗不能减小或£f'口不是关键任务时,减小户。中关键任务£叫的P户∥嘶将为减小£m(忌>歹)的Pp^矾创造机会,继而为减小尾任务岛,。的

印以抽提供可能,因而就有可能改善SL。.

综合(1),(2)可知定理成立.证毕.

定理2.

当夕。中没有关键任务或所有关键任务£¨的Pp^Ⅲ均不能减小时,SLi达到最优.

证明.

分两种情况证明.

(1)当户i中没有关键任务时,p;中任务均为非关键任务,由定理1知,户。中的所有任务£¨的P户,一£¨均不能减小,SL;也就不能减小,SL。达到最优;

(2)当pi中有关键任务£州时,由于所有关键任务岛,i的P户丘¨均不能减小,而非关键任务£m的ep丘m又不能减小,SLi也就不能减小,SLi达到最优.

综合(1),(2)可知定理成立.

证毕.

定理1说明了减小调度长度的可能途径,定理2说明如何判断调度长度已达到最优.这两个定理构成了DCT算法的理论基础.3

DCT调度算法

DCT调度算法的基本原理是,动态地确定当前

处理器的关键任务,将其关键父任务复制到当前处理器,以减小关键任务‘¨的e夕^叫,从而减小SL;。DCT算法包括两个主要内容,一是选择策略,即选取未调度任务中哪一个任务予以调度的策略;二是复制策略,即决定什么任务需要复制,在什么时候复制,复制到什么地方.

DCT算法的实现过程是,每调度一个新的任务,就构造一个当前处理器,当前处理器开始只包括开始任务和当前任务,然后动态地确定当前处理器中的关键任务,将关键任务的关键父任务复制到当前处理器,直到当前处理器中关键任务的最早可能完成时间不能减小或没有关键父任务时为止.

3.1

选择策略

DCT算法选用任务深度为权值,采用小者优先

策略构建调度队列,任务深度由式(12)确定.

‘PuP£(行{)一1

,,,、fo'

%勒一

max{zP剐“(咒,))+1,

其它

(12)

万方数据

深度相同时,以序号小者优先.由式(12)可知,父任务的深度值必然小于子任务的深度值,确保了父任务先调度,子任务后调度,开始任务最先调度,结束任务最后调度,满足了DAG图中任务间的优先关系.

3.2

复制策略

3.2.1关键任务确定

由定理1可知,关键任务是减小调度长度的核心,只有某个关键任务£。的ep^¨减小了,SL;才有可能减小.根据关键任务定义可构造确定p。中关键任务的启发函数为

H1(i)一‰,IP户,‰一,<已户s‰且J≥2)

(13)

式(13)可能确定出多个关键任务瓦川越靠近尾任务的关键任务对尾任务最早可能完成时间影响越大,作用越直接,因而DCT算法采用歹值大者优先的策略,依次优化(减小)这些关键任务的最早可能完成时间,一旦有关键任务的最早完成时间得到了优化,就停止优化过程,重新确定关键任务后进入下一轮优化.

3.2.2复制任务确定

由式(1)可知,任务£¨的8p丘¨由P夕s£。和叫。之和确定,硼¨是固定不变的,只有Pp盯i,减小了,8户^¨才会减小.由式(7)可知,P户s£。由‘叫的关键父任务挖的dn£州。)和前驱任务‘嘶一1的P户以叫一l确

定,为如£州叫,和8乡以州一。的大者.由关键任务的定

义可知,关键任务£州的d口£。’(im大于其前驱任务£Ⅲ一1的Pp豇埘一1,这样缩小关键任务£叫的eps£叫就转化为缩小关键任务的d口£。一,j).由式(6)可知,任

务£州的d口£州州,由‰的关键父任务咒的最小的

P户以¨(“,。一咒)及c。.({m之和确定,而经过前期调度,关键父任务孢最小的8夕丘¨(“,z一咒)已经为最,优了,只能在“Ⅲ,j,上作文章.当父任务和子任务分配到同一处理器中时,二者的通信为处理器内部通信,通信时间可近似为o,因而可以将关键父任务n复制到当前处理器,将原来咒和£¨在处理器之间的通信变为处理器内部的通信,忽略通信时间%㈦j,而减小关键任务£¨的d口£州。),以减小‘州的Pps‘¨.需要注意的是,对于复制到当前处理器的关键父任务来说,其最早可能开始时间会发生变化,当变化到使关键任务的最早可能开始时间增大时,应将和关键父任务在同一处理器的其父任务一起复制到当前处理器,直到关键任务£。的P夕s£。有减小为止.由式(6)及关键父任务的定义,可以得到确定关键任务£。的关键父任务£加的启发函数为

458计算

学报

H一

p,如

+厶

m¨m~

3.2.3复制位置确定

参数Pps£。,ep少州,比s£州,zn丘¨准确刻画了£¨在p。中所处的位置,在时间段ep疏’』'肠“¨内任意安排£。的开始时间均不会影响SLi,为其它任务复制到≠州之后或之前提供了可能.在满足任务间优先关系的前提下,对于关键任务反"£加必须满足以下条件才能复制到£¨与£州一,之间:

Pps£。,』一8p以¨一l>叫…,j≥2

(15)

对于其它任务‰,£姗必须满足以下条件才能

复制到£¨之前:

z口s‰一P户^叫一l≥叫加,歹≥2

(16)式(15)或式(16)确定了£加可以复制的位置,一般来说,式(16)可能确定多个可以复制的位置.算法

实现时,将£加复制到使关键任务或关键父任务取得

最小最早可能开始时间的位置.

每复制一个任务之后,任务时间参数发生改变.如果关键任务的最早可能开始时间有改善则停止复制操作,重新确定关键任务后再复制有关任务,否则应考虑将先前所复制任务的父任务一起复制到当前处理器,直到关键任务的最早可能开始时间有改善或无法改善或没有关键任务为止.3.2.4冗余队列删除

为了保留任务获得最早可能开始时间的调度安排,每调度新任务时,DCT算法都重新构造一个当前处理器,最多时有口一1个处理器队列.口一1个处理器队列中有些属于冗余调度,没有这些队列不会对任务系统调度和调度长度产生任何影响.为了节约资源,需要将冗余队列删除.DcT算法实现这个功能时,先统计只调度过一次的任务(‰除外),然后依次删除不包含这些任务的处理器队列,删除后SL无变化则删除成功,否则撤消删除.3.3处理器数目优化

处理器数目优化是指在不增大SL的前提下,将两个或两个以上处理器中的任务合并到一个处理器上,以减少处理器数量.

DCT算法的处理器数目优化分为两个阶段,第一阶段为线性合并,依次对子任务检查,将尽可能多的父任务所在处理器队列合并到子任务所在的处理器队列中.任务从一个处理器合并到另外一个处理器之后,任务时间参数会发生变化.为了确保不影响调度长度,在满足任务间优先关系的前提下,除两个

万方数据

处理器均有的任务外,A中任务£¨同时满足了以下关系后才能合并于p;中的£嘶和£。+,之间:

缸s‰+l—Pp弘州≥姒,z

(17)Z口^l,f≤Z口s£。,j+1

(18)比s‰≥P夕以¨

(19)

式(17)保证了可以在f¨及。奶+-之间合并“,f,式(18)保证了合并“,。之后不会影响£州+-的zns£训+1,式(19)保证了合并“,,之后其z口s£引可以得到保证,不会影响其子任务的最迟允许开始时间.除A及p。均有的任务外,户t中所有其它任务都满足式(17)~式(19)之后才能将pt中的任务合并于pi中,合并之后删除m,SL无变化则合并成功,否则撤消合并.

第二阶段为非线性合并,将不相关处理器中的任务合并到其中的一个处理器中.所谓不相关处理器是指两处理器中除开始任务外,没有相同的任务,也不存在分属于两处理器中的两个任务有共同子任务的情况.一般将调度长度小的合并到调度长度大的处理器中.如有两不相关处理器夕。和户t,将A中的任务£¨合并于夕i中的任务£¨和任务£f'j+。之间,则要求£¨同时满足式(17)~式(19);如果将pt中的尾任务£¨合并于夕i中的尾任务£q之后,则只要求满足式(19).除m外,A中所有任务均满足条件时才能将p。中的任务合并于夕i中.合并后删除夕t,SL无变化则合并成功,否则撤消合并.3.4算法描述

DCT算法的总体实现为:

A190rithm

DC:r_sf^e矗群ZP(G,G口)

//input:G一(V,E,W,C)

//output;Ga=(P,T,CL,EPST,EPFT,LAST,

LAFT)

S娩Pd“Z已(G,Gn);M;rgP(G,Gn);}

算法中,默认输入的DAG图只有一个72,和一个行。,任务按深度值从小到大进行了排序,因而省略了构建调度队列的实现.S砌ed“如()函数实现任

务复制功能,并删除冗余队列;地rgg()函数实现任务合并,减少处理器数目.Sc^ed“zP(),№rgP()的

具体实现如下:

voidSc^Pd“ZP(G,G口)

//input:G一(V,E,W,C)

//output:(1n一(P,丁,CL,EPS丁,EPFT,LAS丁,

3期

兰舟等:基于动态关键任务的多处理器任务分配算法

459

LA}”I’)

for(i一2;iG口;i++)//u为DAG图的任务个数

构造包含开始任务和任务i的处理单元夕i;

do

查找夕i的关键任务及其关键父任务;复制关键父任务及其父任务(需要的话)

)whileS厶有提高且有关键任务;)//endoffor

统计只调度过一次的任务;//删除冗余队列for(i一1;i<=户;i++)//户为处理器数目

if户i中不包含只调度过一次的任务then

删除∥;

if

SL增加then撤消删除;

else统计只调度过一次的任务;

)//endof删除冗余队列}//endofsc^ed“如()

void

Mer98(G,G口)

//input:G一(y,E,’矿,C)

//output:G口一(P,T,(jL,EPST,EPFT,LAS丁,

LAFn

查找IprPd(,z。)I≥2的任务并计数,不妨设为量;for(i一七;i>=1;i++)//线性合并

查找挖[妇所在的处理器并存入加口,并计数,设为m;

for(j一10<._m;j++){

查找除多[j]以外,挖[妇父任务所在的处理器并存入

如琥erpe口,对处理器计数,设为砣;

for(q=1;q<≥:咒;g++){

if.肠t^PrpP[q]能并入p8[刀then

知髓P印e[口]并入加[j];

if

SL增加then撤消并入;

)))

)//endof线性合并

按S厶从小到大将“;排序,设有女个处理器;for(i一是;i>一1;i++)//非线性合并

查找与虻妇无关的处理器存入加口,设有优个;

for(j=1;J<-_m;j++){

if加[力能并人加[i]then

万方数据

加[力并入加[i];

if

SL增加then撤消并人;

)}

)//endof非线性合并

)//endofm8r98()

分析DCT算法及其实现可得定理3.

定理3.

采用DCT算法所得到的调度长度优

于PPA及CPFD算法,所用处理器数目少于PPA算法.

证明.

PPA及CPFD算法采用贪心算法的策

略,试图用局部最优获得全局最优的调度结果.DCT算法在调度过程中动态确定关键任务,并保留前期任务的最优调度信息,保证了调度优化对象的正确性.每次调度只要求调度长度有改善即可,克服了贪心算法的不足,使调度过程更加合理,其结果优于PPA及CPFD算法.

DCT算法既考虑了任务间的线性合并也考虑了非线性合并,并采用逐步合并方式,增加了任务合

并可能性,其合并结果优于PPA算法.证毕.

4算法性能分析

DCT算法由Sc^Pd“zP(),胁rgP()两个函数构

成.S如8d托据()函数中主循环的循环次数是口一1次,内循环在最坏的情况下为r已次,r为各处理器中任务数的最大值,e为DAG图中任务人度的最大

值,故S旗P矗“抛()函数时间复杂度为o(rP口).

地rge()函数中,线性合并的循环次数最多为

O(口p2),p为处理器数目,非线性合并的循环次数最

多为0(户2),故胁rge()的算法复杂度为0(印2)+

0(p2)一0(口2p).因而DCT算法的时间复杂度为

D(r口刀)+0(护夕)=O(u2c),f为P和p的大者.和

PPA及CPFD算法相比(见表1),当夕>已时,DCT算法的时间复杂度有所增大,但DCT算法保证了取得最优的调度结果,而PPA和CPFD算法不一定能取得最优的调度结果.

表l算法时间复杂度对照表

算法

时问复杂度

PPA0(口2P)’CPFD

O(护P)DCT

o(护c)

注,*原文为O(护),有误

460

计算机学报

实验对比

本文算法示例为图1所示任务系统.圆圈表示

任务,圆圈中上方数字为任务编号,下方数字为任务计算开销,箭头线旁数字为两个任务间的通信开销.

图1

不例用的DAG图

采用PPA,CPFD,DCT算法对示例调度,结果分别如图2,图3,图4所示.P历(i=1,2,3,4,5,6)为处理器编号,圆角方框表示任务,其上方数字为任务编号,下方数字为任务计算开销,图中阴影部分表

示处理器等待时间区.

为了进一步对比DCT,PPA,CPFD算法的调

度性能,本文分别采用DCT,PPA,CPFD算法对随机任务图调度.随机任务图的产生方式见文献[12].任务个数TN(TaskNumber)为20,40,60,80,100,通信计算比率CCR(Communication

to

Computa—

tion

Ratio)[123为0.5,2.o,5.0,每种丁N和CcR组

合随机产生20个DAG图,取调度结果的平均值作为算法在此种组合条件下的调度结果.计算结果如图5,图6所示.图5中的横坐标是丁N,纵坐标是规

胁田曰

眦圈日臼崮

阉问淌∞㈦褥嗣囝㈤

~~

峨嚆㈤峨—坻,叫

隅雕醺];{l√麟震崮剀|{J

图2

CPFD的调度结果

万方数据

格化调度长度NSL(Normalized

ScheduleLength),

它是利用变换变量将算法产生的调度长度规格化而得到的,本文采用的变换变量是DAG图中关键路径上所有任务的计算开销之和m].

隅囝剐富

瞰圄

l|鳓州H函口曰

髓阑㈤㈧㈦㈣邕■■魔一~||

图3

PPA的调度结果

眦阑㈤㈥磁㈣域瞧感愀讯懋心;l|\瞰蕊邕㈦|{;一秭藤雠拶{l|l;√

图4

I)cT的调度结果

和PPA及CPFD算法相比,DCT算法是以两任务间后一任务最迟开始时间和前一任务最早完成时间的时间间隔作为任务复制空间,而PPA及CPFD算法则是以两任务间后一任务最早开始时间和前一任务最早完成时间的时间间隔作为任务复制空间.一般来说,前者大于后者,DCT算法中任务复

制的可能性大于PPA及CPFD算法,这是DCT算法优于PPA及CPFD算法的原因之一.CCR值越大,则任务系统中通信开销相对计算开销越大,DCT算法的任务复制空间越大于PPA及CPFD算法,调度长度提高越大,这一点在图5中得到了验证.当CCR为5.0时,DCT算法较PPA及CPFD

算法NSL最大提高o.6276(TN一100),最小提高0.1288(TN=20);而当CCR为O.05时,NSL最大提高0.0067(TN=100),最小提高仅O.o002

(TN一80).

3期兰舟等:基于动态关键任务的多处理器任务分配算法

461

从图2~6可以看出,对同一个(组)DAG图,采用DCT算法得到的调度长度均小于PPA,CPFD

算法,所需处理器比PPA,CPFD算法少.

图5PPA,CPFD,DCT算法对随机DAG图调度的调度长度对比图

图6PPA,CPFD,DCT算法对随机DAG图调度所用处理器数目对比图

processortasks

with

geneticalgo“thms.

IEEETransactions

结束语

本文在分析了几个典型的基于任务复制的调度

on

ParaIlelandDist“buted

Systems,1999,10(8):825—837

hybrid

genetic

[3]Zhong

fornaI

Yi—Wen,YangJian—Gang.A

in

algorithm

tasksscheduling

of

Fudan

paralIelmultiprocessorsystems.Jour—

2004,43(5):

University(NaturalScience),

算法的基础上,提出了DCT算法,采用DAG图和Gantt图共同刻划调度过程,以Gantt图为主提出了准确描述任务位置和状态的时间参数.DCT算法在调度过程中动态地确定关键任务,克服了贪心算法的不足,使得调度过程准确合理;DCT算法既考虑了任务间的线性合并也考虑了非线性合并,增加了处理器队列合并的可能性.分析和实验表明,DCT算法在调度长度和处理器数目方面优于其它同类算法.

DCT算法在调度过程中保留了任务获得最早可能开始时间和最早可能结束时间的调度安排,最多时有u一1个处理器队列,使得算法的空间复杂度较大,有待进一步优化.

[7][6][5][4]

918—922Attiyacingthe

in12th

G,HamamY.Two

phasealgo“thmfor10adbalan—

systems//Proceedings

of

heterogeneous

distributed

on

EuromicroConference

Processing.

ParaUel,Distributedand

2004:

434—

Network-Based

439

ACoruna,Spain,

WuMin_You,ShuWei,

scheduling

and

Gu

Jun.

LocalsearchforDAG

taskassignment//ProceedingsoftheInterna—

on

tionalConferenceParaUel

Processing.Bloomington,IL,

USA,1997:174—180

Liu

GQ,Poh

KL,XieM.IterativeJournalof

list

schedulingforhet—

and

erogeneouscomputing.

Parallel

Distributed

Computing,2005,65(5):654—664

Boeresgy

C,FilhoJV,Rebello

task

on

VEF.Acluster-based

strate—

forscheduling

of

the

heterogeneous

on

processors//Pro—

Architecture

Brazil,

ceedings

and

16th

SymposiumComputerFozdo

HighPerformanceComputing.

Iguacu,

文献

2004:214—221

[8]

PalisMuling

A,Liou

J—C,WeiDSL.Taskclusteringandsched—

parallel

architectures.

IEEE

for

dist“butedmemory

on

[1]

TopcuogluH,WuMin—You.Performance—effectivecomplexity

IEEE

andlow—

TransactionsParallelandDistributedSystems,1996,7

task

scheduling

on

for

heterogeneouscomputing.systems,

(1):45—55

TransactionsParallelandDist“buted

[9]DarbhaS,Agrawaldist“buted—memorv

DP.

0ptimalscheduling

algorithm

on

for

2002,13(3):260—274

machines.IEEETransactionsPdrallel

[2]

CorreaRC,FerreiraA,Rebreyend

P.

Schedulingmulti—

andDist“buted

Systems,1998,9(1):87—95

万方数据

462

计算机学报

2007年

[10]ParkC—I,Choe’r.Y.Anoptimalschedulingalgorithmbased

on

task

duplica“on.

IEEETransactionson

Computers,

2002,51(4):444—448[11]ZhouShuang-E,

Yuan

Yo旷Guang,XiongBing_Zhou,

ou

Zhong—Hong.Analgorithmof

processor

pre—allocationbasedon

task

duplication.ChineseJournalofComputers,2004,27(2):216—223(inChinese)

LAN

Zh伽。born

in1969,Ph.D.

candidate.Hisresearchinterestsinclude

network

computingand

high

perform—

ance

parallelcomputing.

Background

Asmain

part

ofthehighperformanceparallelalgorithm

research,theproposedDCTalgorithmprovides

an

effective

schemeforallocatingtasksto

multiprocessors.Thisalgo—

rithm

can

be

employed

in

many

typical

parallel

algo“thms

万方数据

(周双娥,袁由光,熊兵周,欧中红.基于任务复制的处理器预分配算法.计算机学报,2004,27(2):216—223)

[12]

AhmadI,KworkYK.Onexploittaskduplication

in

parallel

p西gramscheduling.IEEE

Transactionson

Paralleland

Dis—

tributedSystems,1998,9(9):872—892

[13]KruatMchceB,LewisT.Grainsizedeterminationforpara卜

lelprocessing.IEEESoftware,1998,1:23—32

SUNSh卜xjn,bornin

1940,professor,Ph.D.supervi—

sor.

Hisresearchinterestsincludenetworkcomputing,par—

alleland

distributedcomputing,informationcompactingtechnique,

numerical

methods,

combinatorial

algorithm,

etC.

such

as

FastFourier

Transform(FFT),meananalysisLU—

decomposition,Laplaceequation.Also

DCT

algorithm

is

suitableforsomeresource一1imitedenvironment,forexam—theembeddedreal—timedistributed

system.

ple,for


相关文章

  • DTA动态交通分配
  • (2005) 西安交通大学对具有排队的多模式动态交通分配问题及其相关应用进行研究.本文对动态交通分配模型发展进行了介绍和总结,并详细讨论了模型中的路段动态函数.流量传播约束.FIFO等相关特性. 将单一交通模式的点排队路段动态模型扩展到多模 ...

  • 自考信息安全信息与网络管理知识点
  • 信息安全 信息安全的概述 信息:根本作用:表征,控制.性质:普遍性可识别性,存储性可处理性,时效性共享性,增值性可开发性,可控制多效性. 信息安全:一个国家的社会信息化状态不受外来威胁侵害,技术体系不受侵害.属性:完整性可用性保密性可控性可 ...

  • 蚁群优化算法及其应用研究进展
  • 专家论坛 计算机测量与控制.2003.11(12) ComputerMeasurement&Control ・911・ 文章编号:1671-4598(2003)12-0911-03 中图分类号:O231 文献标识码:A 蚁群优化算法 ...

  • 数据挖掘中的聚类算法综述
  • ・10・计算机应用研究2007年 数据挖掘中的聚类算法综述 贺 玲, 吴玲达, 蔡益朝 3 (国防科学技术大学信息系统与管理学院, 湖南长沙410073) 摘 要:聚类是数据挖掘中用来发现数据分布和隐含模式的一项重要技术.全面总结了数据挖掘 ...

  • 高性能同步相量测量装置的研制与应用
  • 第38卷 第7期 电力系统保护与控制 Vol.38 No.7 2010年4月1日 Power System Protection and Control Apr.1, 2010 高性能同步相量测量装置的研制与应用 李 辉1,2,徐建源2,刘 ...

  • 博弈论在数学建模中的应用
  • 第27卷第6期2007年12月 成宁学院学报 JournalofXianningCollege V01.27,No.6 Dec.2007 文章编号:1006-5342<2007)06-0015-03 博弈论在数学建模中的应用+ 周志明 ...

  • 利用向量计算多面体体积
  • 学术论坛.黼盔圆 利用向量计算多面体体积 程良炎余敏 (黄石理工学院数理学院湖北黄石435003) 摘要:数学上一个任意凸多面体的体积还没有一个一蓑的计算公式,本文通过对几种特删的多面体进行巧妙地分解为若干个四面体,得出了一个计算多棱锥的体 ...

  • LVS三种模式八种算法
  • 三种LVS负载均衡模式 调度器的实现技术中,IP负载均衡技术是效率最高的, IP虚拟服务器软件(IPVS)是在linux内核中实现的。 LVS负载均衡模式---1.NAT模式 NAT用法本来是因为网络IP地址不足而把内部保留IP地址通过映射 ...

  • 一种基于排序理论的精确直方图规定化算法
  • 科技信息 . 博士・专家论坛 一神基孑排序理i^l均精确直方图规定化算法 田 杨1・2陈辉1徐立艳1・2 (1.山东大学信息科学与工程学院2.通辽职业学院) [摘要]本文提出了一种基于排序理论的精确直方图规定化的算法,该算法通过把离散情形的 ...

© 2024 范文参考网 | 联系我们 webmaster# 12000.net.cn