论文部分内容阅读
随着云计算技术的不断成熟,越来越多的应用被部署到云环境中,使其表现出任务种类和用户需求多样性,资源异构性以及巨大的数据量等特性。这些特性使得对云环境下的任务调度和资源部署提出了更高的要求:既要满足用户对获取高服务质量的需求,又要保证云服务提供商获得最大收益。然而,无论是满足用户需求还是保障最大收益,都避免不了负载变化造成的影响。不同的负载以及同一负载的动态变化都可能会造成任务调度性能不佳,资源部署不准确。因此,通过负载分析,对任务调度和资源部署进行双向改进,从而完成对用户和服务提供商需求的双边优化是云计算研究中丞待解决的问题。针对以上所述问题,本文首先详细研究了负载的相关特性,并通过对负载的马尔科夫建模,提取了能体现负载特性的三个算子:持续性、重现时间、熵。其中,持续性体现负载流量的相对稳定性;重现时间体现负载流量的突发性;熵体现负载流量的不可预测性。其次,以维基百科wikinews板块的真实访问量作为实验数据集,结合不同的负载算子值,本文建立了每种负载特性算子在不同数值下与所需虚拟机数量的函数关系式,并通过对函数关系式的整合,提出了负载感知的资源部署模型,实现对资源部署的改进。实验结果显示,在资源利用率为90%,负载拒绝率为0的情况下,本模型预估的资源数量与仿真实验得到的资源数量相比,其平均绝对误差值仅为2.6%,最大绝对误差值为3.8%。最小绝对误差值为0%。结果表明本模型能根据负载特性有效地预估所需的资源数量。由于负载感知的资源部署模型是对云资源的部署进行优化,未考虑云任务执行效率的提升,属于单边优化。因此,本文在云资源部署优化的基础上,结合遗传算法,提出了一种双边优化的任务调度策略以及相应的系统架构,实现对云任务调度机制的改进。并在CloudSim仿真平台上对调度算法进行了评估实验。实验结果表明,本文提出的调度算法能够有效的提升任务完成效率,与CloudSim平台自带的FCFS(First Come First Serve)算法、贪心算法相比有明显的优势,在满足任务的需求的同时,资源数量保持在一个恰当的数值,满足资源利用率的要求。