论文部分内容阅读
云计算产业的不断升级和技术革新,使用户对云计算提出了更高的要求。任务调度作为云计算中的核心算法,影响着用户的使用体验和云平台的服务效率。但随着任务数量和规模的不断激增、数据中心能耗占比不断增加的情况下,合理高效的任务调度算法成为了云计算研究中的重点及难点问题。一般的任务调度算法,缺乏对实际数据中心负载特征的细致分析,同时很少对任务和资源进行划分,而增加了任务选择资源的范围。因此,本文根据实际数据中心任务到达的特性和任务自身的特点,以各时间段内到达的任务构建动态任务流,提出了一种面向动态任务流的粗粒度任务调度算法,并利用仿真平台对提出的算法进行了实验对比分析。主要研究工作如下:(1)数据中心集群跟踪数据的负载统计和分析。根据Google集群跟踪数据对数据中心负载进行统计与分析,包括机器统计概况:各种机器事件分布统计、每天机器数量分布统计、机器聚类分析;作业统计概况:每天Job数量统计、Job中task数量分布、Job等待和运行时间、任务聚类分析。数据中心负载统计和分析的结果,可以作为数据中心任务调度的依据和支撑。(2)提出了一种任务负载预测模型及任务时间段划分的虚拟机开启策略。根据上述数据中心负载分析结果,对每天到达的任务按小时分割,得到每天各小时内的任务数量。利用改进的周期均值惩罚的长短期记忆网络(Long Short-Term Memory,LSTM)模型,预测未来一天中各小时内的任务数量,以此来构建动态任务流,并按特定时间窗口划分时间段,统计各个时间段的任务数量特征,按需开启虚拟机,降低虚拟机的能耗。实验结果表明,在预测一天中任务数量分布上,基于周期均值惩罚的LSTM预测模型比原始模型在精度上有较大提升,而且经过时间段划分并按需开启虚拟机后,能有效降低不必要的能耗并提高虚拟机的利用率。(3)设计了一种等价类划分的粗粒度任务调度算法。在开启特定数目虚拟机后,需要设计具体的任务调度算法。首先根据云环境下任务和资源异构性、多样性的特点,对任务和资源按照其属性进行量化,建立任务和资源模型。然后运用等价类划分思想对多样化的任务和资源进行划分分类,将划分后的每一组任务按照其平均指令长度分配给执行能力相匹配的资源组,使组内任务分配合理且缩小组内单个任务选择资源的范围。接着在每一组任务的内部调度过程中,采用贪心策略,提高调度整体性能。最后,将本文提出的算法和轮询调度算法、单纯的贪心调度算法、蚁群算法和遗传算法进行了实验对比分析,并以任务总执行时间、任务完成时间、虚拟机负载和利用率作为评价指标。实验结果表明,在任务总执行时间上,本文提出的算法都优于其它所有算法;在任务完成时间和虚拟机利用率上,要优于轮询调度算法和遗传算法;在虚拟机负载上,要优于贪心算法和蚁群算法。