论文部分内容阅读
云计算通过虚拟化技术将各种实体资源整合在一个共享的IT资源池中,用户只需支付相应的费用便可获得各项服务。然而目前用于求解云任务调度的算法目标较为单一,很难适用于各类服务需求。因此,如何兼顾用户和云服务提供商两种角度,满足各类服务需求成为本文亟需解决的主要问题。本文选取具有截止日期的任务作为调度对象,对其特点进行分析并在此基础上建立基于动态优先级的任务调度模型,主要工作如下:(1)分析云计算的相关技术、服务模式、体系结构以及基本特征。(2)从两种角度提出调度目标,在减少任务完成时间的同时提高任务完成率以及云服务提供商的价值收益,另外尽可能最大化计算资源的使用率。(3)针对现有的一些调度算法只将任务单方面的特征作为优先级参数,综合考虑任务价值和执行紧迫度两种属性,提出一种基于动态优先级的任务调度策略,使任务集按照最佳顺序调度,确保任务尽可能在最佳调度时间内执行。(4)将蚁群算法(ant colony algorithm, ACO)与轮盘赌算法结合提出一种负载均衡优化算法ACO-LB(Load balancing optimization algorithm based on ant colony algorithm),调整信息素更新方式保证虚拟机上的信息素实时更新,通过蚂蚁的协作性延续较优分配方案,另外引入负载调节参数对启发信息进行调整。(5)针对非抢占式任务调度导致高优先级陷入较长等待期的问题,提出一种基于动态优先级的抢占式调度方案(Preemptive scheduling algorithm based on Dynamic Priority, DPP),保证高优先级任务被优先处理。为防止任务频繁抢占,分析抢占任务的松弛时间和被抢占任务剩余执行时间之间的关系并给出相应的调度策略,尽可能减少不必要的抢占并提高任务成功完成率和价值收益。(6)使用开源云仿真器Cloudsim作为实验平台,通过其对ACO-LB算法和DPP算法进行模拟实验。实验结果表明ACO-LB算法可以保证任务尽快完成、虚拟机负载相对均衡;而通过DPP算法对虚拟机队列进行优化不仅可以保证紧迫度较高的任务按时完成还能尽可能提高云服务提供商的价值收益。