实 Fork任务 、任务 。至关键任务 等任务分配至主处理机P。。再例和试验测试结果表 明,该算法具有很短 的调度长度 ,使用 的 依次调度任务 …,r/。处理机数较少 ,其加速 比和效率最高,在异构环境具有更强 的 在任务n ns ”,的调度过程 中,HTGSFJ算法总是将计实用性 。 算与通信总量越大 即计算与通信负担越重 的任务调度至执行速度和通信速度越快 的处理机 ;同时,将 当前考虑的任务1 新的贪心调度算法HTGS—FJ 尽可能调度至 已使用过 的处理机 ,并且尽可能选择快 的处理1.1 算法描述 机 ,条件是当前任务插入 目标处理机后至少不会延迟Join任务n:的启动时间stori n~ ,这种情形就称插入条件被满足;否不失去一般性,HTGSFJ算法作 以下的假定 。则,如果插入条件不满足 ,则将 Fork任务 和当前任务n一 同假定 1 设处理机集合为e - p。 ,…, ,且其 中各处理分配至一个新 的处理机 ,直至任务"被调度完毕 。算法的最机 的执行速度和对定长消息与主处理机 间的通信速度排序 的后,将任务 分配至主处理机P1,算法终止。顺序相同,不妨设P。
,…, 已按执行速度 的降序排序,其执注意由于HTGSFJ算法采用 了不同于CLASSFJ算法的行速度依次记为v 1 ≥v 2 ≥…≥ ,对单位通信量与主处理调度策略,因此各任务 的实际启动和完成时间将可能不 同于机间的通信速度依次为 1 ≥“ 2 ≥…≥“ 。定义 3中的各静态时间参数,为此 ,再给 出如下定义:HTGSFJ算法基于一些参数 。算法首先按w n 和c ,定义4 在HTGSFJ算法调度过程中,将各任务的实际之和的降序对任务"。至n进行排序 ,如下:w n。 +c , ≥w n +启动 时间和完成 时间分别记为stact n 和ctact n ,它们在调c m,nD≥…≥w +c b 。 _度过程 中动态地确定 。定义 1对 Fork—Join任务图如上排序后,称任务n,,…,1.2 复杂性分析中的任务”为Fork—Join任务图的关键任务,其中S为满足下式HTGSFJ算法 中,采用归并排序等快速算法进行排序 。的下标值3+1 首先,任务n,n,…,按w n +c , 1≤f≤ 的降序排序,寻找∑w n ≤w , +c,且∑w n w %。 +c nz 1关键任务 、计算相关参数并分配前 个任务,其总的时间复杂488 2010,31 3 计算机X-程与设计 ComputerEngineeringandDesignact n: ~stctact n~ ,并且有st_ _ ori n3,c_口c ≤cr-0 。
算法 1:HTGs_FJ w,c 可见,HTGSFJ算法不仅可能具有比CLASs-FJ算法更Begin按计算时间与通信时间的和的降序对任务 一,…,m进行快速排序 小的调度长度,而且具有只需明显少的处理机的潜在可能,结果仍记为 ,:,…,m; HTGSFJ算法将具有较高的加速比。确定关键任务 ;计算st_ori n, 和ctOri ni ; 2 实例分析将任务‰分配至主处理机P-;for i 1;f《 ;iH 将任务 分配至主处理机P; 本节通过 图 1的Fork—Join任务 图实例来阐明HTGS_FJ算, l;It] ctori n, ;ofr I s+l;f H 法的调度过程及其效率。insertion false; 第一步,按照计算时间w 和通信时In-]c n,之和的降序for , 1;_, m; +对任务n至 进行排序,排序后得到图3所示的Fork-Join图。if 产 1 and f_0rf [,]斗 柚/ or 1and st_ ori [,]+ J/vo,+c , /“∽fst_act n, 锄 ];ct_act n3 st_act n3+ w n, /v∞ ;[,]疗[,]+ 。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-40537-3.html
台湾问题没有任何商量和考虑的余地