论文部分内容阅读
云计算的兴起,受到了各行各业的广泛关注。不同于传统的服务模式,云计算是通过与互联网结合提供的一种新型的商业模式。在云计算模式下,工作流调度的好坏对用户的服务满意度、负载均衡以及云端供应商是否违反SLA(Service Level Agreement,简称SLA)协议产生一定的影响,所以云计算环境下工作流调度问题成为了研究的焦点,本文主要研究工作流中的虚拟机调度过程,包括如何为任务选择相应的虚拟机的调度策略,从而更好地满足用户的偏好。主要工作如下。 (1)分析一些经典的虚拟机调度算法,调度目标以及在调度过程中可能影响调度结果的一些原因,分析现有调度算法的不足之处。 (2)提出了一种双向工作流调度算法,该算法兼顾考虑到云计算下不同类型任务需要不同类型的虚拟机以及虚拟机是按小时进行收费的特点,分成Backward调度算法以及Forward调度算法两部分,其中,Backward算法先为任务计算出了最迟开始时间以及最迟完成时间,然后通过Forward算法尽可能将每个任务尽可能地前移,并且根据最早开始时间影响因素、浪费时间影响因素、额外租用费用影响因素等最终确定相应的分配结果。经过实验证明该双向调度算法比其他同类算法在费用成本上有着显著的降低。 (3)考虑到云计算环境下用户偏好多样性问题,提出层次遍历虚拟机调度(Level Find,简称LF)算法,该算法从用户角度出发,把硬性指标(如截止时间、费用)与非硬性指标(如带宽、可信度等)进行量化,对工作流进行相应的层次遍历,最终获得L-2组解(其中L代表该工作流的层数),最终在这L-2组解中,选取最合适的解。经过实验证明。该算法在数据密集型任务处理上相比其它算法在执行时间上有着显著的降低,为用户提供更加丰富的选择,满足用户的偏好要求。