王宇宾
(河海大学商学院,江苏南京211000)
摘要:针对云计算作业调度算法评价问题,引入经济学中的消费者均衡理论和帕累托最优理论,在CloudSim仿真框架中,构建一个云计算作业调度评价模型,为选择最优的作业调度算法提供决策支持。同时,针对CloudSim在用户交互上的不足,进行可视化扩展,使研究者能够直观地观测仿真结果。最后,在CloudSim上进行仿真实验,仿真结果表明,对于模拟的云计算服务,CloudSim自身提供的作业调度算法不是最优算法。
教育期刊网 http://www.jyqkw.com
关键词 :云计算;CloudSim;作业调度;评价模型
中图分类号:TN304.01?34 文献标识码:A 文章编号:1004?373X(2015)14?0012?04
收稿日期:2015?01?13
0 引言
近年来,互联网应用越来越丰富,给用户提供了多种多样的服务。但随着应用的不断增长,企业要处理的数据越来越多,提供的带宽越来越大,IT的支出费用也越来越高。国外互联网技术巨头公司如Google、Ama?zon、IBM 等,纷纷针对上述问题提出了“云计算”的构想。依据美国国家标准与技术研究院(NIST)的定义[1],云计算是一种利用互联网实现的共享资源池的计算模式,这种模式提供了在任何时间任何地点,根据需求便捷访问的技术支持。云计算[2]由分布式计算和网格计算发展而来,利用非本地或远程的集群服务器的分布式计算机为互联网用户提供服务。云计算的关键技术包含资源管理和作业调度,但目前云计算作业调度算法之间的设计和评价并没有一个统一的标准[3]。
云计算作业调度的核心是把计算资源合适地分配到用户请求的服务上。用户请求云计算服务的过程实际上是一个资源分配的过程。用户付出一定的费用请求服务,获得相应的资源,以最大化满足自身需求。这与经济学中的消费者均衡理论具有一定的相似性。因此,本文引入消费者理论和帕累托最优理论,通过扩展CloudSim仿真框架,构建了一个云计算作业调度评价模型,利用消费者均衡理论来评价云计算服务请求者的需求是否得到最大满足,利用帕累托最优理论来评价云计算的资源分配是否达到最优。
1 相关介绍
1.1 消费者均衡理论
消费者均衡[4]是指在消费者的偏好、收入以及商品的价格均不变的条件下,消费者购买商品的数量组合达到一种相对静止的状态。在此状态下消费者不愿意增加商品的购买数量,同时也不愿意减少商品的购买数量,此时消费者的总效用达到最大化。
假设消费者的收入为M ,消费者购买并消费X 与Y两种商品,X 与Y 的价格为PX 与PY ,所购买的X 与Y 的数量分别为QX 与QY ,X 与Y 两种商品所带来的边际效用为MUX 与MUY ,每单位货币的边际效用为MUm 。因此,消费者均衡的条件可以写为:
边际替代率等于两种商品的效用之比,即MRSXY = MUX MUY 。因此,达到消费者均衡时,边际替代率和两种商品的价格之比相等,在此情况下,消费者效用极大化。
1.2 帕累托最优理论
帕累托最优[5]是指在某种既定的资源配置状态下,任何资源分配的改变都不可能使得至少一个人的状况变好的同时,又不使其他人的状况变差。它是一种资源分配的理想状态。由于云计算服务的请求是多个的,为多个请求分配一定的资源时,将涉及分配最优问题。因此利用帕累托最优理论可以评价云计算的资源分配是否达到最优。
云计算系统中的资源都是有价格的,并且云计算的资源分配和社会上的资源分配一样,都要极大化地满足市场需求,尽量达到一种最优状态。所以,可以构造一个基于消费者均衡和帕累托最优的云计算作业调度评价模型,用来评判云计算作业调度策略的优劣。
1.3 CloudSim
CloudSim[6]是一款由澳大利亚墨尔本大学云计算和分布式系统实验室研发的云计算仿真框架,用于云计算基础设施和应用服务的建模、仿真和试验研究。Cloud?Sim提供了虚拟化引擎,支持数据中心在单一的物理计算节点上进行建模和仿真,为虚拟化服务的空间共享和时间共享提供了灵活的分配处理内核。自2009年推出以来,得到了广泛的应用,许多科研机构和组织运用CloudSim 来进行云计算仿真实验。CloudSim 加快了云计算算法、方法和协议的研究与改进,极大地推动了云计算的发展[7]。
2 云计算作业调度评价模型
2.1 模型设计
文献[8]把上述消费者均衡理论和帕累托最优理论与CloudSim 结合起来,构建出一个云计算作业调度评价模型。在模型中,输入的是若干个云任务、每个云任务获得的资源以及所有能够分配的资源的组合,输出的是每个云任务的效用值和边际替代率。最后通过云任务的效用值判断云任务的需求满足情况,根据云任务的边际替代率来判断整个云计算系统作业调度算法的优劣。模型的具体表述如下:
(1)选取云计算系统中的内存和硬盘作为需要分配的两种资源,分别用X 和Y 表示,其价格分别为PX和PY 。
(2)云计算系统有一组服务的请求者,映射为一组云任务T1,T2 ,?,Tn 。每个云任务的效用分别为U1 = U(X,Y ) ,U2 = U(X,Y ) ,?,Un = U(X,Y ) ,每个请求者愿意付出的费用为M ,云计算系统中存在一组虚拟机C1,C2 ,?,Ck ,每个虚拟机中的内存和硬盘大小都不相同。
(3)服务请求者请求云服务,云计算系统通过作业调度算法Algo 将云任务调度到相应的虚拟机上,每个云任务获得了一定数量的内存和硬盘资源。模型计算每个云任务的效用值Un 和边际替代率MRSn ,然后计算云任务Tn 在其他虚拟机上运行时的Unk 和MRSnk ,若Un大于其他的Unk ,并且所有云任务的边际替代率都相等,那么表明每个云任务的需求得到最大满足,云计算系统的资源分配达到最优。此时,可以判断作业调度算法Algo 是一个好的算法,值得应用到云计算的作业调度中。若未能满足上述要求,则判定作业调度算法Algo仍有改进和优化的余地。模型结构如图1所示。
2.2 框架扩展
为了便于计算服务请求的提交和以可视化的方式展示仿真结果,本文对CloudSim仿真框架进行扩展,增加了一个视图层,用ExtJs技术实现,从而提高框架的交互性。扩展后的框架结构主要有三层,分别为视图层,中间层和核心层。
云服务请求者在视图层中选择计算服务并提交,中间层将计算服务映射成云任务,将其提交给核心层。核心层接受中间层传递的云任务后,将云任务提交到CloudSim 中进行计算仿真。当作业调度算法将云任务调度到虚拟机后,每个云任务便获得了一定数量的内存和硬盘,作业调度评价模型先计算每个云任务的效用值和边际替代率,再计算当该云任务在其他虚拟机上执行时应该得到的效用值和边际替代率,然后将计算的数据结果返回给中间层。最后在视图层中以统计图的形式显示出来,扩展后的框架结构如图2所示。
3 仿真实验
本文利用扩展后的CloudSim 仿真框架进行作业调度的仿真实验,以CloudSim 框架自身提供的作业调度算法为仿真实验的作业调度策略,通过构建的评价模型对算法进行评价分析。
3.1 参数设置
通过CloudSim 构建仿真数据中心,数据中心提供8 个虚拟机。每个虚拟机有内存X 和硬盘Y 两种资源,每个虚拟机的参数设置如表1所示。假设内存和硬盘资源的价格分别为0.05元/MB和0.001元/MB。
在本次实验中设有两个计算服务供服务请求者选择,其效用公式分别为U1 = ln X + ln Y 和U2 = X0.·5 Y;假设每个计算服务的费用M 为15元。
3.2 仿真过程
仿真实验的具体过程如下:
(1)在CloudSim 中实现作业调度算法。在Cloud?Sim中实现作业调度算法需要覆盖CloudSim中Datacen?terBroker类的bindCloudletToVM()方法,该方法将单一的任务绑定至指定的单一虚拟机上运行,在覆盖的方法中可以实现自己的作业调度算法。本次实验使用CloudSim平台自身提供的作业调度算法。
(2) 启动服务器,运行仿真框架。本次实验采用B/S 模式,将实现了作业调度算法后的CloudSim 封装成jar 包,导入服务器端,在浏览器的网页中进行仿真实验。
(3)选择云服务,评价分析。仿真框架运行后,在浏览器中显示可供选择的计算服务,如图3所示。选择计算服务1和计算服务2,然后提交。跳转后的页面显示仿真结果,如图4所示。需要说明的是,模型计算出来的效用值比较大,不利于比较,因此对每个云服务的效用值作了同比例的缩小,以便直观地比较分析。
3.3 结果分析
计算服务1 在所有的虚拟机上的效用值如图5 所示,其中横轴为虚拟机编号,纵轴为计算服务在不同虚拟机上运行时的效用值。计算服务1在所有的虚拟机上的边际替代率如图6所示,其中横轴为虚拟机编号,纵轴为计算服务在相应虚拟机上运行时的边际替代率。计算服务2在所有的虚拟机上的效用如图7所示。服务2在所有的虚拟机上的边际替代率如图8所示。观察仿真结果可知,通过作业调度算法进行资源分配后,计算服务1在虚拟机1上执行,计算服务2在虚拟机2上执行。但计算服务1的效用值在虚拟机1上不是最大,计算服务2 的效用值在虚拟机2 上也不是最大的。同时,二者的边际替代率也不相等。由此,可以判断该算法不是最优,还有优化余地。
4 结语
本文将消费者均衡和帕累托最优理论引入云计算作业调度中,建立了一个基于消费者均衡和帕累托最优的云计算作业调度评价模型,并将模型嵌入CloudSim仿真框架中,同时对CloudSim进行了可视化扩展,使得框架的调用简单明了,扩展后的CloudSim 具有很好的交互性。研究者使用CloudSim进行云计算作业调度实验时,可以利用该评价模型评价作业调度策略,以便寻找合适的作业调度算法。
利用平台自身提供的作业调度算法进行仿真实验,演示了如何利用该评价模型作云计算的作业调度分析。不过,目前模型的应用还处于初步阶段,仿真实验仅限于计算资源为两种,计算服务为两个的情况。在现实当中而云计算系统中需要考虑的资源远超两种,计算服务一般也是多个的,下一步的研究工作需要对模型作进一步的扩展。
教育期刊网 http://www.jyqkw.com
参考文献
[1] MELL P,GRANCE T. The NIST definition of cloud computing[EB/OL]. [2012?03?11]. http://www. wenku.baidu.com/view.
[2] 赵春燕.云环境下作业调度算法研究与实现[D].北京:北京交通大学,2009.
[3] 吴吉义,平玲娣,潘雪增,等.云计算:从概念到平台[J].电信科学,2009(12):23?30.
[4] 宋承先.现代西方经济学:微观经济学[M].上海:复旦大学出版社,1994.
[5] 刘玉龙,胡鹏.基于帕累托最优的新安江流域生态补偿标准[J].水利学报,2009,39(6):703?708.
[6] Roamware. CloudSim [EB/OL]. [2013?02?25]. http://www.chi?navalue.net.
[7] CALHEIROS R N, RANJAN R, BELOGLAZOV A, et al.
CloudSim:a toolkit for modeling and simulation of cloud com?puting environments and evaluation of resource provisioning al?gorithms [J]. Software:Practice and Experience. 2011,41(1):23?50.
[8] 陈然.基于消费者均衡和帕累托最优的云计算资源分配策略研究[D].昆明:云南大学,2011.
作者简介:王宇宾(1989—),男,广东肇庆人,硕士研究生。主要研究方向为系统仿真。