论文部分内容阅读
云计算是目前国内外的一个研究热点,是在网格计算、并行计算、分布式计算基础上发展起来的一种新技术,同时也是一种新型的商业计算模式。云计算使用成熟的虚拟化技术来封装数据中心的资源,然后以服务的方式通过互联网提供给用户,用户根据自己的需求来获取相应的服务并支付相应的费用。云计算作为一种商业服务,不但要考虑如何对任务调度算法进行优化以提高系统的服务能力和云服务供应商的服务收益,同时还要尽可能地提高用户对服务质量(Quality of Service,Qo S)的满意度。云计算与以往的分布式计算、网格计算具有很大的差异性,云环境下的资源分配和任务调度具有商业性、面向服务和以用户为中心的特性。本文系统、全面的研究了云计算技术以及云环境下的任务调度算法。通过对云环境下基于Berger模型的任务调度算法进行深入研究,发现该算法存在一些缺陷。该算法通过任务的一般期待为每个任务选择最优资源,但在选择过程中没有考虑资源的当前负载情况,因此在任务量增加的时候会导致分配结果不均衡,即有的资源分配过多的任务,而有的资源则分配很少任务,最终导致系统的整体效率下降。针对这些缺陷,本文提出一种基于Berger模型改进的云任务调度算法。改进算法首先按照用户服务质量需求,增加任务描述信息,然后计算每个任务的优先级,按照优先级大小对任务进行排序,最后使用用户任务的一般期待对任务和资源的匹配过程进行约束,通过用户任务的一般期待向量与归一化后的资源性能参数之间的加权欧氏距离为每个任务寻找最优资源,在绑定任务到该最优资源前对其负载情况进行估算,如果负载过高需要重新寻找次优资源,并进行判断,直到找到一个合适的资源。最后,通过扩展Cloud Sim云计算仿真平台,在Cloudlet类中增加新的描述用户任务的变量以及相应的计算和访问方法,重载Datacenter Broker类中的bind Cloudlet To VM()方法实现本文提出的改进算法,然后重新编译Cloud Sim源码,在Cloud Sim平台上完成本文提出的基于Berger模型改进的任务调度算法的仿真模拟。通过对实验结果的分析,本文的改进算法拥有较高的效率,同时有效地满足了用户公平性和系统公平性。