论文部分内容阅读
虚拟机调度作为支撑数据中心节能的一项重要技术,已被广泛应用于工业应用中。而如何设计出一个高效的虚拟机调度算法来改善资源使用状况仍然是学术界和工业界重点关注的问题之一。不过这些算法带来的代价,比如引起SLA变高等问题也不能被忽视。为了更好地解决这些问题,除了精确地监控,预测虚拟机多种资源的变动(即CPU、内存和I/O等等资源利用率)也是一个必要前提,因为这样才能够更好地进行资源分配(包括虚拟机调度),从而最终达到优化能耗的目的。综上,做好资源使用情况的监控和预测,并以此作为依据对虚拟机进行合理调度以改善一些指标(比如资源碎片化程度)是目前细分下来要解决的问题。本文作出的主要贡献如下所示:(1)针对现有负载预测策略对于公开数据集中多资源负载预测存在的研究空白,在对多种预测模型进行对比分析后,提出基于LSTM的虚拟机负载预测方法(简称VUFL)。该方法考虑了系统当前输入特征和历史负载序列的自身时间相关性,在离线训练完之后可以用于虚拟机负载预测。(2)本文对虚拟机调度算法进行了调研,并分析对比这些算法存在的优缺点。基于比较充分的调研,为了在改善资源浪费状况的同时确保服务质量,本文提出了基于近期负载数据多步预测结果的动态阈值调整算法(简称RUPTA)。该算法先根据当前时间点过去N个时间点的虚拟机利用率数据和多步预测到M个未来时间点的利用率数据,统计出所有主机的过去N个时间点的利用率数据和多步预测到M个未来时间点的利用率数据,再取每个主机计算出的M+N个数据的中位数绝对偏差值,作为判断主机是否过载的阈值公式的参数。(3)在能获得系统监控和预测到的数据框架下,本文提出了一种基于空间分割模型的虚拟机放置算法(简称SPMHS)对资源碎片进行优化。该方法旨在尽可能平衡主机每一种资源的使用率,并减少活跃主机数量。该策略里的空间分割模型(简称为SPM)在目标主机选择阶段管理三条优先级队列,每条队列包含的是潜在的候选目标主机。根据空间分割模型,只有按照其特定公式计算出来的结果满足一定约束的主机才能被加入对应优先级的队列。最高优先级的队列允许被优先选为作为目标主机,因为能加入该队列的主机都意味着每一维度上的资源都接近被利用完。若最高级队列为空,则遍历次一级的队列。以此类推。若同一级队列有多个候选,则采用一个特定的距离公式来继续筛选。所有涉及云环境下的调度实验都是在拓展了仿真功能的Multi RECloud Sim上进行。实验结果表明:相比于其他对照策略,SLA和碎片化程度分别至少改善了8.89%和2.05%,且迁移次数最少,并在能耗优化上取得了较好的折中效果。