论文部分内容阅读
容器是一种新型的虚拟化技术。相比于虚拟机,将应用部署在容器中,成本更低、资源利用率更高且易于迁移。由于容器与虚拟机在底层实现方式、资源粒度划分等方面的不同,传统的基于虚拟机的调度策略并不能很好的适用于容器技术。同时,对于容器本身考虑其运行环境,容器既可以被部署到物理机上,也可以被调度至在虚拟机上,因此,容器的调度问题会更加复杂。云环境中负载变化频繁,如何能对负载值进行预测并根据预测结果来进行有效的资源调度,是当前急需解决的问题。基于以上几点,本文分析了有关容器调度问题的国内外研究现状,总结了当前研究中存在的问题,设计并实现了几种容器调度优化策略。(1)针对当前大部分容器调度的研究仅考虑单一目标,基于此,本文同时考虑了由于节点资源碎片化导致的资源浪费、云数据中心能耗、资源利用率等,提出了一种多目标优化策略。对每一种因素给出相应的评估函数,运用标准化欧式距离计算容器节点与物理机节点的互补度,使用加权求和法将多目标问题转化为单目标,最后通过整数规划来得到最优解。实验结果表明,与种经典算法相比,本章提出的算法综合开销最少,可以有效降低能耗,提高资源利用率。(2)为了降低数据中心能耗,将容器部署问题与装箱问题相结合,考虑容器—虚拟机—物理机两层调度架构进行建模,将容器部署至虚拟机上。针对蚁群算法收敛速度慢易陷入局部最优等缺点,改进了状态转移概率和信息素更新规则,并融合了模拟退火算法的思想进行求解。实验表明,该策略能在一定程度上降低数据中心能耗。(3)为了降低SLA,提出了一种迁移容器选择策略。在容器迁移时,如果只考虑当前负载状态,就可能导致选择到了当前负载很高,但下一时刻负载低的容器做迁移。因此,本文通过粒子群算法来改进BP神经网络算法,对容器负载进行预测。针对容器迁移时,容器选择问题,既考虑当前负载状态,也考虑预测负载。实验表明,基于粒子群改进的BP神经网络比传统的BP神经网络预测效果更好,同时,本文提出的基于负载预测的容器选择策略,可以有效降低SLA冲突。