云计算作为当下火热的话题,关于资源分配策略的研究已经取得了很多的成果。但是云计算着重强调了资源的共享性、异构性和动态协作性,这也对分配策略提出了更高的要求,需要适应不同系统平台还有不同的服务。文献综述

现如今典型的资源分配策略有Round-Robin算法,贪心算法,蚁群算法,Min-Min算法,Max-Min算法它们也是各有优缺,适应的场景也各不相同。下面将介绍几种常见的算法。

2。3 云计算资源分配常见的算法

2。3。1 Round-Robin算法

我们将使用的CloudSim模拟仿真平台默认的资源分配策略就是采用这个算法的,下面也将介绍一下这个算法。

Round-Robin算法也叫轮询调度算法。其原理很简单,就是把来自用户的请求轮流分配给内部的服务器,每次发生资源调度分配的时候便执行(从1开始,直到N,N就是内部服务器的个数,然后重新开始循环)。 显而易见,这个算法是十分简洁的,连接状态并不需要它来记录保存,因而它是一种无状态的调度。Round-Robin算法的流程如下:

假设有N台虚拟机或者服务器,,上一次选择虚拟机或者服务器的ID由变量表示。算法核心代码如下:

流程图如2-1所示:

图 2-1 Round-Robin算法流程图

由上面的图以及算法可以清楚地看见,Round-Robin算法是假设所有服务器或者虚拟机的性能都相同,并不关心每台虚拟机或者服务器的响应速度和当前连接的任务(服务)的数量,所以当服务器或者虚拟机的性能不相同的时候,这个简单的Round-Robin就不适用了,而且当请求服务间隔时间不确定或者变化比较大的时候,Round-Robin算法也容易导致负载不均衡,即某个虚拟机或者服务器会产生使用过度或者几乎很少使用的极端情况。因而Round-Robin算法适合于服务器或者虚拟机的配置都大致相同的,而且请求服务相对均衡的情况。来:自[优.尔]论,文-网www.youerw.com +QQ752018766-

上面所阐述的Round-Robin算法并没有考虑每台服务器或虚拟机的处理能力是否相同,而是一味的轮询分配资源给请求任务,但是在实际情况中,大多数并不是这种情况的。因为每台服务器或虚拟机的配置、所对应的应用程序和处理能力也会不一样,因而我们可以依照某一方面来设置一个权值,比如我们可以依据它们的处理能力的不同,给它们分配不同的权值,这样它们可以根据不同的权值接受相应的服务请求任务就行。

这里可以叫做权重轮询调度算法,即Weighted Round-Robin Scheduling。它的算法如下所示:

假设这里有N台服务器,表示其权值,其ID由变量来指示,当前调度的权值由变量指示,集合中最大权值由指示,集合中权值的最大公约数由指示,变量与变量的初始值都为0

上一篇:局域网多媒体传输系统的设计实现
下一篇:asp.net+sqlserver药店在线管理系统的设计+源代码

嵌入式移动数据库研究【2530字】

嵌入式移动数据库應用研究【2321字】

移动Ad Hoc网络发展的历史理论和技术

提高网站茬Google中的排名...

移动终端和JSP和MYSQL酒店管理系统设计

移动终端和WEB的校园二手...

电子商务云服务商业模式创新研究【4721字】

我国风险投资的发展现状问题及对策分析

安康汉江网讯

互联网教育”变革路径研究进展【7972字】

ASP.net+sqlserver企业设备管理系统设计与开发

张洁小说《无字》中的女性意识

老年2型糖尿病患者运动疗...

麦秸秆还田和沼液灌溉对...

LiMn1-xFexPO4正极材料合成及充放电性能研究

网络语言“XX体”研究

新課改下小學语文洧效阅...