云计算任务优化调度根据调度的处理时间分为静态调度和动态调度:在任务调度开始之前,任务所处节点可以得到所有的资源以及任务相应的信息,并且节点根据这些信息在任务调度开始就决定了任务的调度方案是静态调度;由于云计算系统中的资源具有动态性、异构性,在调度的过程中,任务队列中也可以动态地添加或者删除任务,因此,任务的调度也具有动态性,这样的调度则属于动态调度[83-85]。
静态任务调度算法不仅包括许多经典的调度算法,如贪心算法、Min-Min算法[86]、Max-Min 算法[87]、Sufferage算法[88]等,同时也包括为了完成关联任务,结合了工作流和DAG图的调度算法[89-91]。动态任务调度算法则根据当前主流的算法分为智能型的任务调度算法,如蚁群优化算法[92]、模拟退火算法[93]和较为热门的Hadoop的FIFO(First In First Ou)调度算法、推测式任务调度算法、LATE 算法[94,95]、公平调度算法[96]、计算能力调度算法[97]。
独立任务调度即任务不需和其他任务有关系,可单独进行调度,任务之间可以并列。关联任务调度即任务的调度有先后顺序。贪心算法、Min-Min算法、Max-Min算法、Sufferage算法等属于独立任务调度常用的基础任务调度算法,此类算法都可以解决独立任务调度问题。而对具有依赖关系的任务进行调度,则需要在任务调度中根据任务的前后关联性,考虑任务的调度算法结合工作流或者DAG图,以此作为新的调度策略完成系统的任务运行。(www.xing528.com)
由于云计算任务优化调度本质上是一个NP完全问题,为了快速获取一个满意的调度方案,在一个较短的时间内将大量用户任务分别映射至合适的资源,通常可以利用基于智能的任务优化调度的算法,如蚁群优化算法、模拟退火算法等,通过迭代对解进行优化,最终求得调度问题的近似最优解。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。