1系统建模
1.1云平台的构建
为了简单起见,假定使用先来先服务(FCFS)调度策略.后端功能包括作业队列,服务器及其虚拟机和存储年龄的服务器管理.只有一个存储(如数据库)服务器时数据库不一致可以不考虑.来自前端的所有请求被分配在一个队列里进行调度.该服务器系统包括由CloudSim[5]管理的多个虚拟机和连接到数据库的服务器.后端是由三种不同类型的服务器组成.主服务器:虚拟机运行多线程应用程序.应用并行度将取决于的线程.这些服务器是负责执行大多数计算.专用服务器:虚拟机主要任务是进行具体的计算和处理的前端接口.此外,他们设法与数据库或其他服务器进行通信.控制服务器:虚拟机负责监控整个系统的状态.该服务器负责动态创建和删除虚拟机.
1.2CloudSimCloudSim
是由澳大利亚墨尔本大学的网格实验室和Gridbus项目推出的云计算仿真软件.它是在SimJava上开发的函数库,可在Windows和Linux系统上跨平台运行,CloudSim继承了Grid-Sim的编程模型,支持云计算的研究和开发,并提供了以下新的特点:(1)支持大型云计算的基础设施的建模与仿真;(2)一个支持数据中心、服务代理人、调度和分配策略的平台.CloudSim独特功能:一是提供虚拟化引擎,旨在数据中心节点上帮助建立和管理多重的、独立的、协同的的虚拟化服务;二是在对虚拟化服务分配处理核心时能够在时间共享和空间共享之间灵活切换.CloudSim平台有助于加快云计算的算法、方法和规范的发展.CloudSim的组件工具均为开源的.CloudSim是在GridSim模型基础上发展而来,提供了云计算的特性,支持云计算的资源管理和调度模拟.它提供构建私有云和公共云的大规模可扩展和可插拔框架.它允许虚拟机动态的设置和安装需要的计算资源.这保证了周期性的通信高峰中当请求到达率增加时的高QoS.可以设置在当前服务器不堪重负时创建新的实例和在流量减少时关闭它们.CloudSim扩展部分实现了一系列接口,提供基于数据中心的虚拟化技术、虚拟化云的建模和仿真功能.CloudSim提供了资源的监测、主机到虚拟机的映射功能.CloudSim的CIS(CloudInformationService)和DataCenterBroker实现资源发现和信息交互,是模拟调度的核心.用户自行开发的调度算法可在DataCenterBroker的方法中实现,从而实现调度算法的模拟.
2系统分析及算法
系统的设计要考虑到需求分析,在我们的模型中,用户到达频率的特性与我们的云平台为他们提供服务的QoS特性是关注的重点.为了给无限数量的主要来自于各教育机构的教学人员和学生提供网络教育服务应用,可扩展性也是我们的目标.这主要需要考虑云架构的后端,后端主服务器是负责平台形式的用户服务请求.此外,一些专用服务器将负责与包含课程信息的数据库通信.最后,控制服务器将负责管理专用服务器和主服务器的创建和销毁.如图1所示,该系统将包含两个相同类型的(M/M/m)队列.这意味着,无论用户的到达系统的时间还是系统服务时间都遵循λ和μ的指数分布.有m个遵循FCFS调度策略的服务器.第一队列模型与主服务器相连,而第二个队列模型和与数据库进行交互的特定服务器相联系.提出了两个M/M/m队列串行连接,如图2所示,用户任务通过第一个队列进入系统,然后以概率d移动到第二个队列.反过来说,一个用户有(1-d)的概率不经过第二队列的情况下离开系统.在这种方式中,我们建模的系统中,每个用户都需要概率为d的计算操作和数据库访问.一个带有输入参数λ和m个服务器的每一个都带有的参数μ的稳定的M/M/m队列的输出遵循一个具有相同输入参数λ的泊松分布.这意味着,串行连接的两个M/M/m个系统是独立的,这些系统之间的到达和服务保持相同的密度分布.
2.1M/M/m队列
从图3中可以看出,有m个服务器和两个密度函数表示平均到达(λ)和每个服务器的服务率(μ).
2.2服务质量
决定服务质量(QoS)的标准是在队列中的等待时间.此等待时间依赖于利用系数ρ.系统的响应时间应当与正在执行的任务相适应.在一个基于Web的应用程序交互中系统的客户将执行简单或频繁的任务.假设Wmin的值为100ms,Wmax值为500ms.由于不同系统可接受的响应时间可能会有所不同,这些数值可以修改.可以确定,如果我们的系统等待时间长于Wmin,该系统将必须创建新的虚拟机,即根据情况增加主(或特定)服务器的数量,直至W返回Wmax阈值下.相反,如果W下降到低于Wmin值时,该系统可以释放资源,这在我们的模型中,对应于删除主(或特定)服务器,直到W再次回到Wmin下限以上.在这种机制的实现算法中为保证服务质量要在每个时间周期T中检查W的数值来确定是否需要创建或删除主(或特定)服务器,直至W位于合理范围内(Wmin≤W≤Wmax),这里T的值由系统管理员预先设置.3.3算法实现算法控制机制,该算法用来决定哪种类型的虚拟机必要时应创建或删除.算法1基本思想如下:Ensure:Wmax=750Ensure:Wmin=150mswhileTRUEdoifW>WmaxthenwhileW>Wmaxdostart-virtual-serverendwhileelseifW<WminthenwhileW<Wmindostop-virtual-serverendwhileendifendifsleep(T)endwhile
3实验和性能分析
为了验证本文提出的云计算模型的性能,本文采用CloudSim2.1[6]来模拟和实现上文讨论的云环境并进行仿真实验.实验中,改变服务器节点的数量同时观察记录响应时间.分析在一个M/M/m队列中服务器的数量增加对响应时间的影响.图4所示第一个队列中等待时间在一,二,十台,一百台服务器的情况下随着占比ρ的增加而增加.第二队列的平均访问率是基于λd.如图5中给出了与图4相同的结果.我们假设一个值d=0.9作为一个用户访问的数据库服务器的概率.对数据库的平均访问率d在不同的应用中可能变化比较大.由于实验应用程序满足对9%的对数据库的用户请求,我们假设d的值为0.9.略微修改d的值会得到成正比的结果.如我们预计的那样,队列2的等待时间小于队列1.队列2中的用户流量降低也降低了其平均等待时间.因此,等待时间随d减少.W是1和2队列中的等待时间的总和.Wmax,Wmin将决定同一时刻客户/连接数量.
4结束语
本文提出基于QoS保证机制的应用于网络教育的云模型.在该模型中使用了两个M/M/m队列系统相结合的方法.第一个队列提供计算服务,第二个队列提供访问数据库服务器的服务.在平均等待时间方面,该模型提供良好的QoS,当增加虚拟机的数量时,第一与第二队列之间的等待时间趋于稳定.从管理,技术,安全性和合法性的角度看,该模型可以经济类核心期刊目录提高网络教育服务的水平.未来的工作中,将进一步考虑资源性能动态预测、调度安全等问题.
作者:赵震 张龙昌 鄂旭 单位:渤海大学 信息科学与技术学院