第27卷第7期 计算机应用研究 Vo1.27 No.7 2010年7月 Application Research of Computers Ju1.2010 基于量子粒子群优化的DAG并行任务调度研究术 张聪,沈惠璋 (上海交通大学安泰经济与管理学院,上海200052) 摘要:任务调度是网络并行计算系统的核心问题之一。在有向无环图(DAG)描述问题的基础上,提出了一种 进行并行任务调度的量子粒子群优化算法。首先对DAC并行任务调度问题作出定义,并给出了优化问题的目 标;然后分别讨论了问题的编码表示、解码方案、位置向量的计算方法、离散问题连续化、算法的总体流程等;最 后给出算法的仿真实验情况及分析,实验结果表明,该算法有良好的全局寻优性能和快捷的收敛速度,调度效果 优于遗传算法和粒子群优化算法。 关键词:任务调度;量子粒子群优化;有向无环图 中图分类号:TP314 文献标志码:A 文章编号:1001—3695(2010)07—2458—04 doi:10.3969/j.issn.1001—3695.2010.07.015 Research on DAG parallel task scheduling problem based on quantum—behaved particle swarm optimization ZHANG Cong,SHEN Hui—zhang (Antai College of Economics&Management,Shanghai Jiaotong University,Shanghai 200052,China) Abstract:Task scheduling is one of the important problems in parallel computing system.This paper proposed a quantum- behaved particle swarm optimization algorithm for task scheduling based On directed acyclic graph.First redefined the parallel task scheduling problem and its aim.Then discussed the representation of the encoding,the procedure of the decoding,the computational method of position vector,the eontinuative of the discrete problem and the structure of the algorithm respective— ly.In the end,presented the algorithm simulation,experiment result analysis and the conclusions.The simulation resuhs show that this algorithm has better global optimizing ability and nlore rapid convergence,and it is superior to genetic algorithm and particle swarm optimization algorithm. Key words:task scheduling;quanlum—behaved patricle swarm oplimization(QPSO);directed acyclic graph(DAG) 网络并行计算环境下的任务调度问题是指在一定约束条 但是在许多实际应用领域,更胜于遗传算法,尤其是在非线性 件下,如何将一组任务分配到多台处理机 执行的组合优化问 优化问题 。量子粒子群优化(QPSO)算法是在传统的PSO 题,其已被证明是NP完全问题,不可能住多项式时问内找到 基础 提出的一种新型的具有高效率全局搜索能力的进化算 问题的最优解 J。目前常见的并行任务调度问题按照任务 法 。它主要是引入量子物理的思想改进了PSO的进化方 之间有无数据依赖关系可以划分为任务调度和依赖关系 法,即更新粒了位置的方法;在更新粒子位置时重点考虑各个 任务调度。前者在调度任务时不需要考虑任务之问的数据依 粒子的当前局部最优位置信息和全局最优位置信息。QPSO 赖关系;而后者通常用有向无环图(DAG)表示任务之间的数 具有调整参数少、容易实现、收敛能力强等优势。为适应任务 据依赖关系,在调度过程中满足任务之间的数据依赖关系。依 分配问题的求解,本文设汁出合适的粒子编码,利用改进的量 赖关系任务调度的求解优化过程比任务调度的要复杂许 子粒子群算法求解任务分配问题,并与其他算法相比较。实验 多,且其适用范围也更广。以DAG表示的并行任务模 的研 结果表明,本文提出的算法可以获得质量更高的解。 究得到了广泛关注和迅速发展。近年出现的・些肩发式算法 (如模拟退火算法、遗传算法等)为求解此类NP完全问题提供 1 问题描述 了新的途径 J,但是这些算法有些复杂性太高难以实现,有 本模型的计算系统由一系列异构的处理机组成,需要处理 些实现起来太费时,所以有必要寻求更好的算法来解决此问 的总任务已分解成一系列子任务。模型的约束条件为:任务执 题。 行具有非抢占性,即处理机只有在执行完某个任务之后才能处 粒子群优化(PSO)算法是由Kennedy等人 提出的一种 理另外・个任务;另外这些任务之间具有前驱后继的数据依赖 源于对鸟群捕食行为模拟的进化计算技术,已成为进化计算的 关系,某个子任务只有在其所有的前驱任务处理完毕后才能开 一个最吸引人的分支。与遗传算法类似,PSO是一种基于迭代 始执行。该模型的调度日标就是要使得整个DAG图的调度长 的优化方法,系统初始化为一组随机解,通过迭代搜寻最优值, 度最短 收稿日期:2009.12—22;修回日期:2010—02.13 基金项目:国家自然科学基金资助项目(70671070);高等学校博士学科点专顼科研基金 资助项目(20070248054) 作者简介:张聪(1975一),男,安徽阜阳人,讲师,博士研究生,主要研究方向为进化计算、数据挖掘(z—c—cn@163.eom);洗惠璋(1958 ),男,天 津人,教授,博导,博士,主要研究方向为数据挖掘、网络安全. 第7期 张 聪,等:基于量子粒子群优化的DAG并行任务调度研究 ・2459・ 为了便于分析问题,可以用下列五元组表述: Ⅱ=(P,G,O, ,力) 前位置。b)整个种群从起始到目前所找到的最优解gbest。每 个粒子按以下两个公式进行动态进化,调整粒子的位置: Uid,其中: P={P ,P:,…,P }为n个处理机的集合。 G是子任务集 的依赖关系图,它通过DAG来表示各个 (t+1)= .d(£)+cl r1d(t)(pbest 一 .( ))+ (3) (4) c2 r2 d(t)(g ̄estd(t)一Xid(t)) ,(t+1)= (t)+ (t+1) 子任务问的调度约束关系。G=(T,E),其中T:{ , ,…, }为m个子任务的集合,一个子任务 就是图G中的一个 节点,E是任务依赖关系图中的有向边集。(T ,? ) E(i,J= 1,2,…,m),则表示在子任务 没有完成之前,任务 不能执 其中: 是惯性权重,动态调整惯性权重以平衡收敛的全局性 和收敛速度;C。和c 为加速常数,通常在0~2取值,C 调节粒 子飞向自身最好位置方向的步长,C:调节粒子飞向全局最好 位置方向的步长;r (t F2 d(t)~U(0,1),且d=1,2,…,n。 行。这时称 为71_的一个前驱, 为 的一个后继, 可用 为了减少在进化过程中粒子离开搜索空间的可能性,粒子的每 邻接矩阵存储。 一维速度被限定在[一 … ]内。 是一个m xn矩阵,其元素0 表示任务 在处理机P, 2.2 QPSO算法 J-的执行时间,假设每个任务的执行时间预知( 1,2,…,m; =1,2,-一,n)。 'Sun等人从量子力学的角度,通过对粒子收敛行为的研 是一个m xm矩阵,其元素 表示任务 与 之间的 究,基于粒子群算法提出了一种新的算法模型——量子粒子群 数据传输延时(i,J=1,2,…,,n),同时假设各处理机问的通信 (Qpso)算法。在该算法中,由于粒子满足聚集态的性质完全 能力是相同的,且忽略网络拥塞,即传输的数据量是惟一影响 不同,使粒子在整个可行解空间中进行搜索寻求全局最优解, 大小的因素。 因而Qpso算法在搜索能力上远远优于所有已开发的PSO算 是一个m×n的任务分配矩阵,其中 ,=1表示 分配 法。 QPSO算法参数个数少,进化方程的形式更加简单,更容 到处理机P,上执行;否则 ,=0( 1,2,…,m; =1,2,…,n)。 易控制。在Qpso算法中,每一个粒子必须收敛于各自的随机 要实现的目标是寻找一个分配调度策略,将m个子任务 点尸,,粒子按照下面的三式移动: 分配到n个处理机上,合理调度各个子任务的执行次序,使得 mbest= =( ,…, 1各子任务在满足依赖关系图G的约束下,整个任务的完成时 ) (5) mi =1 mi :1,n l= I 间最短。现假设某一合法的分配调度S,将 中的m个子任务 PP V= +t1一nP ,f=rand (6) 分配到n个处理机上,其中子任务 被分配到处理机P,上执 =PP ,±nImbesb— HIIn(1/u),M=rand (7) 行,那么子任务 在处理机P 上的执行时间满足以下两式: 其中:mbest是粒子群pbest的中间位置;P 为粒子本身所找到 &(Ti, )=nE黼Ti)(n( ,Pr) ( 一 ) ( ) 的最优解pbest;P 为整个粒子群目前找到的最优解gbest; n( ,P,)=St( ,,J,)+0 ;i,k=1,2,…, ; ,r=1,2,…,n(2) PP 为P 与P 之间的随机点;n为Qpso的收缩扩张系数,它 其中:St( ,P,)和Ft(Ti,,),)分别表示子任务 在处理机P, 是QPSO收敛的一个重要参数,第t次迭代时一般可取 上的开始执行时刻和结束执行时刻;Pred( )表示子任务 Ⅱ=n…一f(。 。 一n .)/t (8) 的前驱节点集合,假设子任务 Pred( )被分配到处理机 其中:t,,lax是迭代的最大次数,。…与n 分别是最大和最小系 P j 数。QPSO的算法流程如下: 根据式(1)(2)迭代计算,可得到所有子任务的结束执行 a)迭代次数 0,对种群的每个粒子的位置向量进行初 时刻。设厂(s)为在调度策略s下完成任务所使用的总时问, 始化。 那么:,(s)=i ̄lax(Ft( ,P,));V i=1,2,…,m =1,2,‘一,n。 b)根据目标函数计算每个粒子的目标函数值。 任务调度目标就是rain(F(S))VS,即寻找一个分配调度 c)更新每个粒子的新局部最优位置P 。 S,使得,(s)最小。 d)更新粒子群的全局最优位置P 。 鉴于本文主要考虑任务调度问题,在不失问题一般性的情 e)根据式(5)计算mbest。 况下,可忽略数据传输延时,即在下文中可假设所有的 ,=0。 f)根据式(6)计算每个粒子随机点PP 。 g)根据式(7)(以一定的概率取加或减)更新每个粒子的 2算法 新位置。 h)令t=t+1,返回到b),重新计算,直到终止条件满足。 2.1 PSO算法 粒子群优化(PSO)算法是一种进化计算方法,是一种基于 3基于QPSO的DAG并行任务调度 迭代的优化工具。该算法通过群体中各粒子问的合作与竞争 来搜索全局最优点。 3.1编码与解码 系统初始化为一组共n个随机解,通过迭代搜寻整个群体 任务调度的常见编码包括基于任务的编码、基于操作的编 的最优值。粒子i的当前位置为 :( ,…, ),其飞行 码和基于优先规则的编码等。由于DAG并行任务调度的复杂 速度记为 :( ,…, ),在解空间中追随适应度最优的 性,采用任一种上述编码形式均无法保证所有解的合法性,这 粒子进行搜索。在每一次迭代中,粒子通过跟踪两个“极值” 将浪费大量的求解时间。本文设计了一种复合的编码方案:编 来更新自己:a)每个粒子本身所找到的最优解pbest。如果粒子 码长度为2 111,可描述为两个向量,第一个向量采用基于优先 当前位置对应的适应度小于pbest的适应度,则pbest更新为当 规则的编码方式,为一个包含m维的向量(R ,R2,…,R )。其 ・2460・ 计算机应用研究 第27卷 中R 表示在算法迭代过程中第i次迭代时发生的冲突利用优 先规则R,消除。本文选择了五种优先规则,包括最短执行时 间(SPT)、最长执行时间(LPT)、最早开工时间(EST)、最早完 工时问(EFT)、最晚完工时间(LFT),数字0、1、2、3、4分别对 b)从整数组成的子串到实数作一个映射,可表示为 r=(×∑q X 6 f- (9) 其中:r为映射的实数;c是常数,一般取足够小的实数,本文取 值为0.O1;6为基数,对于 值为 。 应优先规则SPT、LPrr、EST、EFF、L 。第二个向量是处理机分 ,6取值为5,对于 ,6取 配向量,即一个包含m维的向量(肘。, ,…,M )。其中M 表示编号为i的子任务被分配到编号为(M )的处理机上执行 (所有处理机编号为0,1,…,n—1)。 c)在计算任务执行总时间前,需将r转换为子串,即式(9) 的逆映射: 一1 在解码过程中,设t为调度的时间步,Ps为蒯度列表。其 中PS 为第t步调度执行的子任务;TS为所有前驱已经被调度 q =( C一 b )div b“ (10) 其中:div为整除,得到的商q 为整数,在实际运算时,可用一 的子任务所构成的集合。解码算法如下: a)令t=1,PS为空,TS由所有无前驱的子任务构成。 b)由TS中所有子任务编码,在处理机分配向量(M , ,…,M )中找到分配给每个子任务的处理机,并在0中找 到具体执行时间。 e)依据约束条件和执行时间,得到Ts中每个子任务对应 的指标时间(开工、完工或执行时间),由编码 ,所对应的优 先规则选出一个子任务(如优先规则为最短执行时问,则选Ts 中执行时间最短的子任务,如果有多个子任务符合优先规则, 则任选一个),该子任务就是Ps ,从Ts中删除它,并将其』J口入 Ps的尾部。 d)逐个考察PS 的后继子任务,如果该子任务无其他前 驱,或其他前驱都已被调度执行,则将其加入Ts中。 e)令t=t+1,若t<m+l,则转b);台则,算法终止。 通过下面示例说明解码过程: 任务的DAG如图1所示。 优先规则向量: (0 3 2 l 4 0) 即:(SPrr E丌EST I I’LFT SgF) 处理机分配向量: (0 1 1 0 1 0) 即(P1 P2 P2 P1 P2 P1) 在@中查到的处理时间: (2 4 6 5 3 7) 处理时间指1~6号子任务在对应处理机上的执行时间。 根据示例数据得到的调度列表Ps为( 7 ),甘特图如图2所示。 (1) ,j,f0) 图1 任务关系图DAG 图2任务调度的f 特图 由上述编码方式和解码过程可知,本文编码能保证调度的 可行性,且码长较短,无冗余,解码复杂性 高。 3.2 QPSO中向量的计算方法 对每个粒子,它的优先规则向量和处埋机分配向量可以表 示为 (1..m)和 … (1..m),按式(5)~(7)计算这两 个向量。由于前面所述的QPSO为连续空间算法,而DAG并 行任务调度问题为整数规划问题,将离散优化转变成对实数向 量的连续优化,具体过程如下: a)将每个向量切断分成若干个子串,各段子串的长度可 以相等,也可以不相等,子串形如(q ,q ,…,g )。 个循环,i从1~ 得到子串中所有分量。 例如9个子任务的情况, =(2 4 2 1 4 3 4 1 O),分为 段,各子串长度均为3。 了串 (242); (143); (410) 变换后得到 厂 0.72 O 48 1.O5 经过迭代后的情况: 逆变换后得到 r 0.53 I.12 0.9l 子串 (203) (422) (331) 往初始化时,可省掉式(9)的转换过程,直接给粒子位置 赋实数。 解决了连续化问题之后,还有一个边界问题,如上例r的 取值为[o,1.24],如迭代过程中z的运算结果超出范围时,将r 值取在边界』 。若r<0,取值0;r>1.24,取值1.24。 通过上述映射和逆映射,整数规划问题转换为连续优化问 题,从而可以利用Q ̄,So优化获得高质量的解。 3.3算法流程 a)初始化粒子群,根据编码方案设定各粒子的随机位置。 b)根据式(10)将每个粒子的实数向量转换为整数向量。 c)对每个粒子的整数向量解码后,计算每个粒子的目标 函数值。 d)更新每个粒_f的局部最优值P 。 e)更新粒子群的全局最优值P 。 f)根据式(5)计算mbest。 g)根据式(6)计算每个粒子随机点PP 。 h)根据式(7)更新每个粒子的新位置。 i)返回b)步,直到满足迭代的次数。 4仿真实验与结果分析 4.1 实验参数选取 本文的仿真实验是在MAt、LAB软件上实现的。实验所用 DAG图随机生成,每个任务节点有1—4个前驱与后继,估计 运行时间0 为1~50 S的随机数。实验计算了文献[3,4]的算 法、PSO与本文的QPSO共四种情况,算法中主要参数:种群大 小为80,终止代数为1 500,n 取值1,amin取值0.5;PSO的惯 性权重 与Qpso中的收缩扩张系数n取值相同,C 和c:均 为2,编码、解码、连续化与边界问题均使用本文的方案;文献 [3]算法的杂交概率为1.0,变异概率为0.05;文献[4]算法的 内部杂交概率为0.8,迁移概率为0。2,演化策略中的参数为 A=5。 第7期 张聪,等:基于量子粒子群优化的DAG并行任务调度研究 {三量餐 ・2461・ 2 2 j 1● 4.2计算结果与分析 明显的提高,尤其是子任务数较多、处理机数较多时。 对于随机生成的同一个DAG图,分别用上述四种算法进 c)PSO与本文QPSO算法比较时,发现QPSO算法的收敛 行计算,记录各算法收敛时得到的最优解的完成时间和收敛时 速度比PSO算法慢,但得到的最优解比PSO算法好。 的进化代数。计算结果如表1所示。为了}肖除数据随机性的 这是因为:首先,本文对问题的编码能够覆盖整个解空间, 影响,更好地反映算法的性能,表1中的进化代数是100次进 相对来说文献[3,4]的算法只能从一个相对较小的空间内搜 化的平均收敛代数,完成时间是所有100次进化中得到的最优 索;其次,本文采用了离散空间到连续空间的转换过程,它不仅 解的平均完成时问。图3为四个处理机100个子任务情况下 满足了QPSO算法对待解问题的取值要求,还在一定程度上能 四种算法分别进化的静态性能曲线,列出了各算法在不同进化 更好地保护与遗传优良的解片段。另外,PSO算法收敛过快, 代数时所找到的最优解。表2为四种算法在进化中能收敛到 而QPSO的量子搜索方式对传统的PSO算法有了很大的改进, 其最优解的次数占实验总次数的百分比。 实验证明可防止早熟。 表1仿真实验结果 5 结束语 完成时间/s 墼 丝 塑 文献[3]文献 4]PSO本文 基于DAG的并行任务调度问题是NP难问题,传统的优 算法 算法算法算法 化算法很难求得全局最优解,虽然已有人将遗传算法应用于此 问题,但结果有待进一步改善。本文给出了新的问题定义,对 QPSO算法作出调整与改进,编码表示采用了适合于任务调度 问题的优先规则与处理机分配相结合的形式,并将离散空间优 化问题转换为连续空间优化问题,使得QPSO有较好的搜索能 力。最后通过仿真实验得到的一系列数据,表明了本文的改进 QPSO算法比遗传算法和PSO算法有更好的性能,并有理由认 为,合理的编码表示与高效的搜索策略相结合是任务分配调度 各算法 子任务个数25 子任务个数5O 子任务个数100 问题全局寻优的有效途径。 参考文献: [1]GRAY M R,JOHNSON D S.Computers and intractability:a guide to the theory of NP-completeness[M].New York:W.H.Freeman and Co.,1979. [2]AHMAD I,KWORK Y K.On parlalelizing the muhiprocessor schedu— ling problem[J].IEEE Trans on Parallel and Distributed Sys- tems,1999,10(4):414—432. [3]HOU E S H,ANSARI N,HONG Ren.A genetic algorithm for muhi— processor scheduling『J].IEEE Trans on Parallel and Distributed Syetems,1994,5(2):113-120. [4]钟求喜,谢涛,陈火旺.基于遗传算法的任务分配与调度[J].计算 机研究与发展,2000,37(10):1197—1203. U lU【J 2UU jUU 4L儿J UU bL,U [5]张聪,马义忠.异构计算系统中基于遗传算法的任务分配与调度 进化代数 [J].微电子学与计算机,2004,21(6):74—78. 图3静态性能曲线 =4,nl=lOO) [6]KENNEDY J,EBERHART R C.Particle swami optinfization[C]// 由表l、2和算法的静态性能曲线可以得出: Proc of IEEE International Conference on Neural Networks.Pisca. a)在任务数较多、处理机较多的情况下,PSO与本文QP— taway:IEEE Press,1995:1942—1948. so算法的收敛速度比文献[3]算法快很多,但与文献[4]算法 [7]SUN Jun,FENG Bin,XU Wen—bo.Particle swalnl optimization with 比较时,PSO算法的收敛速度明显比文献[4]算法快,本文QP— particles having quantum behavior[C]//Proe of Congress on Evolu— tionary Computation.2004:325—331. so算法则与文献[4]算法相当;而在任务数少的情况下,除文 [8]SUN Jun,XU Wen—bo,FENG Bin.A global search strategy of quantum 献[3]算法稍慢,其他算法相差不大 behaved particle swarm optimization[C]//Proc of IEEE Conference b)本文QPSO算法能找到的最优解比文献[3,4]算法有 on Cybernetics and Intelligent Systems.2004:1 I 1.1 16. (上接第2454页) trait?[J].Behavioral Ecology and Sociobiology,2003,54(4): [12]ANTYILA P,PAATERO P,TAPPER U,et a1.Source identification of 396.405. bulk wet deposition in Finland by positive matrix factorization[J].At- [1 5]GIRVAN M,NEWMAN M E J.Community structure in socila and bio- mospheric Environment,1995,29(14):1705—1718 logical networks[J].Proceedings of the National Academy of [13]KONDOR R I,LAFFERTY J.Difusion kernels on graphs and other Sciences of the United States of America,2002,99(12):7821— discrete structures[C]//Proc of the 19th International Conference on 7826. Machine Learning.San Francisco:Morgan Kaufmann.2002. 『16]ROSVALL M.BERGSTROM C T.An infm'mation—theoretic framework 【14 j LUSSEAU D,SCHNEIDER K,BOISSEAU O J,et a1.rrhe bottlenose ofr resolving community structure in complex networks[J].Proceed・ dolphin comnmnity of doubtful sound features a large proportion of ings of the National Academy of Sciences of the United States long—lasting associations:can geographic isolation explain this unique of America,2007,104(18):7327-7331.