基于负载均衡的资源调度模型及其算法(3)
时间:2017-02-17 12:47 来源:毕业论文 作者:毕业论文 点击:次
但是随着虚拟化技术的引入,云计算的环境中逐步出现了各种各样的虚拟资源,使得对资源的合理分配和高效管理问题变得异常复杂。因此,研究人员提出了各种各样的负载均衡模型,而本文采用的是基于负载均衡的任务调度模型。 云计算的一般体系架构如下图1所示: 图1 云计算的体系架构 用户界面是指用户请求服务的交互界面,服务目录包含服务商提供的所有服务,用户可以从这个列表中进行选择。管理系统用来对所有可用的资源和服务进行管理,部署工具具有自治性,能够根据用户的请求自动的整合资源(包括资源的部署、配置和回收),给用户提供相应的应用,监控系统用来监测系统中各种资源的实时信息,并根据具体的信号或指令信息快速做出相应的响应操作,提供各种不同服务的虚拟或物理的服务器组成了服务器集群,管理系统可以对所有服务器进行管理。 由于物理主机可以被划分成一个或多个虚拟机资源,并且虚拟机资源也可以由一个或多个物理主机组成,故用户不需要知道任务具体在哪个物理主机执行,只需将任务提交到虚拟机资源上即可,这使得资源和任务具有很强的可扩展性。但本文将虚拟机与物理主机合并到一起来考虑,这使得资源调度问题变得相对简单了。 云计算中基于负载均衡的任务调度模型的建立过程如下: (1)用统一的标准度量出每台机器的计算能力大小。 (2)根据任务的具体情况预测出每个任务的负载量大小。 (3)设计出任务调度和资源分配的方案,进行预分配。 (4)评价调度和预分配方案的负载均衡优劣性。 (5)根据设置的负载均衡阀值,检查设计出的方案是否满足条件。若不满足,重新执行第(3)、(4)、(5)步;若满足条件,停止方案的设计,根据满足条件的方案进行实际的任务调度和资源分配。 其中每台机器的计算能力,综合考虑机器CPU的数量、核心数、型号等信息,最后用统一的标准算出度量值。而任务的负载量大小预测,则根据任务的预计执行时间、完成数据量的大小等情况进行度量。 根据预分配的方案计算每台机器的负载量和资源占用率。由于在现实环境中每台机器的资源实际利用率最高不能超过80%,所以对于资源使用率超过80%的方案不予考虑。根据设置的负载均衡阀值,检查设计的方案是否满足条件。如不满足重新设计、评价、检查方案。其中方案的评价方法采用每台机器上负载的方差形式: ,而 。其中 代表机器 上的负载量情况, 为所有机器上负载的平均值,n代表云计算环境共有n台机器数。这样求出每个设计方案的方差,方差越小,就代表负载越均衡,这样资源利用率就会越高,用户等待时间就会越小。 其中阀值的设定可以根据具体情况来定,若阀值太大,可能会出现负载不均衡的情况;若阀值太小,不仅会增加任务量,影响系统的性能,而且也不利于负载均衡的实现。因此,本文采用迭代次数来作为阀值,迭代次数一般在100-500之间。 2.2适应度函数 适应度用于评价个体的优劣程度,适应度越大个体越好,反之适应度越小则个体越差;根据适应度的大小对个体进行选择,以保证适应性能好的个体有更多的机会繁殖后代,使优良特性得以遗传。由于遗传算法是通过适应度函数来确定染色体的优劣,并且在一次调度过程中,求解的总任务完成时间makespan是一个最小值,故将适应度函数定义为: 其中, 为某一染色体编码的任务总完成时间,是makespan的缩写, 为总完成时间的最小估计值, 为总完成时间的最大估计值, 和 应取适当的值,使0<fit(ms)<1。总完成时间ms越小,适应度fit(ms)越大,该染色体被选中的可能性就越大。 (责任编辑:qin) |