当前位置:
文档之家› 基于动态双向优先级的任务分配与调度算法
基于动态双向优先级的任务分配与调度算法
铲}∑ב 志,
(5)
艺r0
其中/'t是子机f。的任务列表中的任务数。(当任务列表中的任
务个数为零时,。;=”i;%为子机的初始测试速率)一是任务
Z的实际执行时间,是动态所得,由子机的传输速率所决定。
式(5)中的rt,计算式为:
n,=Z/%o
(6)
乘以1/1024将速率转换成Mbps。
式(4)中的restr;计算式为:
相应地,Sub系统包括:接收器(Receiver),发送器 (Sender),收集器(Collector),优先级计算单元(Priority Count Unit)如图1所示。接收器负责接收Master发送的命令消息 和分配的任务,并将分配的任务添加到本机的任务列表中;发 送器发送消息给Master;收集器负责收集该子机的性能参数 以及其剩余资源等信息;优先级计算单元按一定的规则对任 务列表中的任务优先级进行计算并排序。
sub_.p。)表示。其中,吼(i=1,2,…,m)为子机的执行速率,反
映子机的性能以及网络传输等综合因素的影响;rest。(i=l,
2,…,m)表示子机的剩余资源百分比;pf(i=1,2,…,m)为 子机的任务执行成功率;sub pi(i=1,2,…,m)表示子机的
动态优先级,本组数据在任务调度过程中实时更新。
据量,统一使用kb作为计量单位。例如:512 kb。
7)任务饱和度(DegreeofSaturation,DS)。任务的最大执
行时间与任务的绝对截止期距离当前时刻的时间间隔之比,
表示了任务在有效分配时间之内的紧迫性,其值越法描述
任务正的优先级P。的计算式为:
Pl=ds;×(I—a)+11)r;×ot
(1)
其中:出。是任务I的饱和度,wr。是任务t的相对权重比,a
是任务的均衡因子,它调和了出。和1131";对P。的影响。 式(1)中出。的计算式为:
ds。=再丽tt赢
(2)
其中出。与t。成正比,即该任务的最大执行时间越大,其优先
级就越高;出i与di—s弘time成反比,距离绝对截止期越近,其 优先级越高。dsi的取值范围为:(0.1]。
3)w,(i=1,2,…,m)表示执行权重,即该任务的执行价 值,它反映任务的执行(包括任务本身执行情况及其执行时 的系统环境)对系统整体性能影响程度,由任务的特征决定。
4)d:(i=l,2,…,m)表示该任务的绝对截止期,若使任 务分配成功必须满足t。+systime(系统当前时刻)≤d。,且该 任务必须在这个时间点之前要得出一个有意义的结果,否则 认为该任务执行失败。
删p磊resti
(7)
其中rest。的计算式为:
总执行周期一∑,n,
res‘-=—_西:丽雨首L
(8)
万方数据
其中n,(,=1,2,…,,1)表示分配在该子机上的已执行或正在 执行任务的实际执行时间,其单位统一用秒来表示;总执行周 期为24×60×60 s,代表子机的总资源。
在本系统中,以子机的空闲时间作为子机剩余资源的依 据。该算法的子机优先级由高到低排列并存储在sub[i]中。 子机的优先级越高在数组中的位置越靠前。
l DDDP任务调度模型
1.1 DDDP任务模型定义 1)系统有一台主机Master,若干子机iSub。l i=1,2,…,
nf和一组实时任务集{£I i=i,2,…,m}组成。 2)每个任务由五元组r(t。,W。,d。,P。,f。)表示,t。为任务
的最大执行时间,即在这个时间t。内任务要执行完成,否则就 认为任务执行失败。
Abstract:A task allocation and scheduling algorithm called Dynamic Dual—Directional Priority(DDDP)was presented.
This algorithm considered the priority of real—time task and the sub synthetically,and constructed a dynamic dual-directional
algorithm which only considers the deadlines of real—time tasks.
Key words:task scheduling;dynamic dual—directional;priority;master/sub model
0 引言
大量的算法研究已经证明实时调度问题足一个NP—hard 问题,为r获得近优解,人们已经提出r许多启发式调度算 法¨1 o。调度算法的好坏很大程度上取决于两个因素,即:系 统负载平衡和任务总处理时间。好的算法要求系统负载平衡 性好,任务总的处理时间短。目前,人们已经提出的此类调度 算法如:双匹配动态调度算法BM:7j、截止期最早最优先 (Earliest Deadline First,EDF)算法H o、最早完成时间 (Minimum Complete Time,MCT)算法…o和动态适应度 (Dynamic Fit Degree,DFD)算法一。等。在这些算法中都考虑 到了负载平衡问题和任务总处理时间问题‘”“…。文献[7] 中的实验结果表明BM算法能够比较好地平衡负载与系统吞 吐率,但其性能受制于系统中能够实现双匹配任务的比例,特 别是当所有任务的最小执行时|’日】相同时,算法性能较差;EDF 算法将任务的截止期作为任务的优先级,任务的截止期越早 优先级越离。然而,截止期最早的任务不一定是最关键的。特 别是在系统过载的情况下,其性能将急剧的下降;MCT算法 选择任务时,仅以任务的最早完成时间为依据,没有考虑到任 务在子机上的实际执行时间,可能使许多任务没有被调度到 比较合适的子机上,这样将使其系统的总处理时间变长;DFD 算法采用任务的DFD作为优先级,优先调度DFD高的任务, 但是该算法仪依据任务的估计执行时间来测算适应度,从而
评价其优先级。因此,在实际的任务调度过程中,可能使很多 重要的任务没有被及时优先分配到最合适的子机上。
本文提出了一种新的基于动态双向优先级(Dynamic Dual.Directional Priority,DDDP)的实时调度算法,它综合考虑 了任务和子机的动态优先级.仿真结果表明本文所提}{j的算 法相对于EDF算法来说,其町调度性和稳定性都有所提高。
第29卷第4期 2009年4月
计算机应用 Journal of Computer Applications
V01.29 No.4 Apr.2009
文章编号:1001—9081(2009)04—1131一04
基于动态双向优先级的任务分配与调度算法
龚跃1,张真真1,黄小珂1,刘建军2
(1.长春理工大学计算机科学技术学院,长春130022;2.长春创力信息技术有限公司开发部,长春130022) (gongyue888878@sina.com)
整个Master系统包括:采集器(Collector),接收器 (Receiver),分析器(Analyst),调度器(Seheduler),发送器 (Sender)如下图所示。其中采集器负责对影响任务优先级的 诸多因素进行实时采集,根据采集结果按照一定的规则实时 更新任务的动态优先级;接收器负责接收子机返回的消息;发 送器负责向子机发送命令消息;分析器负责对子机返回的各 项参数进行整合分析,计算出sub_p.并对其进行由高到低排 序;调度器将优先级级别高的任务分配优先级级别高的子 机,并据此进行任务调度。
研究生,主要研究方向:数据库系统; 黄小珂(1985一),女.河南平顶山人,硕上研究生,主要研究方向:计算机网络与通信; 刘建军
(1978一),男,吉林长春人,硕上研究生,主要研究方向:计算机网络与通信。
万方数据
1132
计算机应用
第29卷
6)f.(i=l,2,…,m)代表任务量的大小,即该任务的数
priority task allocation model,realized the task allocation and scheduling of the master/sub model in data transmission.In the
parameters simulation experiments with some typical data of various
5)P。(i=l,2,…,m)表示任务的动态优先级,在任务执 行的过程中可对其进行实时更新。
收稿日期:2008—10—17;修回日期:2008一12一08。
基金项目:国家科技部中小企业创新基金资助项目(05C26212200378)。
作者简介:龚跃(1960一),男,占林长春人,教授.主要研究方向:数据库系统、计箅机网络与通信;张真真(1984一),女,河南周u人.硕士
under normal workload and overload situation。the DDDP
algorithm has improved the performance of scheduling obviously compared with a classical Earliest Deadline First(EDF)
关键词:任务调度;动态双向;优先级;主机/子机模式
中图分类号:TP311
文献标志码:A
Task allocation and scheduling algorithm based on dynamic dual.directional priority
GONG Yuel,ZHANG Zhen—zhenl,HUANG Xiao.kel,LIU Jian-jun2
式(1)中的wr;计算式为:
"r;=w,/∑嘶
(3)
其中:m是任务集中任务个数,埘‘的取值范围为:(0,1)。 任务正的优先级0<P。≤1。该算法的任务优先级由高到