基于云计算弹性能力的测量模型研究*
2015-01-08陈中良
陈中良
(黄淮学院,河南 驻马店 463000)
基于云计算弹性能力的测量模型研究*
陈中良
(黄淮学院,河南 驻马店 463000)
针对云计算研究领域对其关键特性缺少清晰和定量的测量手段的现状,提出了一项可以有助于提供一系列云计算性能基准的预备工作,即提出了一个测量云计算弹性能力的模型。云计算系统的弹性指的是其在用户请求随时发起的情况下的可扩展及可收缩性。所阐述的工作主要集中在定义物理设备使用中的弹性能力及其的测量上,该定义被用于表示云计算环境的基础特性及其与弹性相关的参数上,并且将提出的模型所采用的方法和重点列出的一些基础参数对弹性的影响作为测量依据,继而通过实验案例研究展示。实验结果显示,该模型对云计算环境的弹性可以较好地进行测量及描述。
云计算,弹性,计算能力
0 引言
云计算技术在按需信息技术服务及其产品中是发展步伐最为先进的[1]。它是一个以提供虚拟空间模拟多负载来达到复用和提升软硬件资源能力的计算技术。作为一个相对较新颖的概念,其当前的平均服务水平还处于相对的非常初级的状态[2]。因此,在该领域中非常权威的著作的数量是相当有限的。此外,在业界中对其概念和关键特性并没有非常清晰的标准存在,所以各个服务提供商都有着自己的对资源使用方式的定义和理解[3]。
云计算技术有多个关键特性。这些特性中,弹性能力被视为云组件的最基础的若干属性之一[4]。它是用来衡量在用户请求发起以后云环境计算资源提供响应处理的能力,它驱动着云商业的绝大多数利益。因此,它必须工作于基于云的应用架构中[5]。
在本文中,提出了一个测量云计算弹性能力的方案。该方案主要用来针对云计算物理资源层面的弹性能力进行测量。一个对象的弹性能力是这样计算的,即由该对象进行相关请求的响应执行而产生的分离该对象所承载压力过程而需施加的应力作为计算的基础。可以通过聚集提供给使用者的所有的计算资源来模拟该应力。接着计算云的应力来作为必须的计算资源的比例系数及其与已经部署的对象间的关系。通过证实,如果请求所需的资源数接近已部署资源的数量,该比率就会变小,从而该云承担的压力就会变小,反向实验结果也是证明了这一点。另外,该应变可以被网络带宽的相关变化所模型化。
为了显示本文所提出测量方式的可实践性,使用了虚拟化方案来模拟产生云计算所需的大量数据。假设一个用户操作本地的计算资源并需要从云提供者那里分配到额外的资源。
本文首先介绍了一些相关的定义和概念,以及当前对该课题研究的进展和成果,然后详细描述了提出的测量模式,以及依据实验研究所给出的结论,最后进行了总结及后续工作的展望。
1 云计算的弹性
云计算是一个作为以服务为目的而进行分发的计算资源的集合[6]。它可以在基础设施层面,平台层面以及软件层面提供不同层次以及不同级别的服务内容。在业界这些服务被分别定义为以基础设施为服务(IaaS),以平台为服务(PaaS),以及软件为服务(SaaS)的三大类概念。在IaaS层面,一个服务(例如Amazon的Web服务)以物理的方式被提供给使用者[7],应用接口通过云访问虚拟服务器和存储主机。云环境中的平台是一系列的应用或者运行并驻留于云中的系统软件。用户在驻留于云中的平台执行应用,其接入是通过平台或者应用程序接口来完成的。最终,SaaS模式向用户提供了硬件和软件两个层面上的基础设施[8]。
使用云,用户可以从世界上的任何地方接入和部署应用,其质量依赖于用户的QoS请求(服务质量请求)。另外,通过使用云,信息产业工作者将逐渐达到减少其在基于硬件和软件基础设施上的低水平任务上造成的启动消耗,从而可以将精力完全集中在其创新性和创造力相关的业务价值的拓展目标上。此外,云被认为是一个相对于超级计算机和特定集群而言经济了很多的选择,同时其相对网格来说是一个更可靠的平台。使用云的其他利益在于它的快速可扩展性及按照用户需要的临时伸缩性[9]。
云计算系统有如下的一些基本的属性:
(1)按需自服务。一个用户可以提供的计算能力,就像服务时间和网络存储,作为需要自动无人工干预请求的情况。
(2)资源池。提供者的计算资源(存储,处理能力,内存和网络带宽)这些都汇总用来服务于多用户使用的可复合租赁模式。对于不同物理和虚拟资源是按照用户需求进行动态分配和再分配的。
(3)快速弹性。计算资源可以被快速和弹性地提供于快速扩张以及快速释放收敛,以此来进行快速的收缩。
(4)测量服务。资源使用方法可以被监控,控制以及透明化的向提供者以及用户上报其测量到的情况。
云计算系统的元素一定包含在以下5个层面之一。这5个层面分别为:应用,软件环境,软件基础设施,软件内核,以及硬件[10]。在最底层的云堆栈是真正的系统中物理组件的硬件层面。在它们中的最高层的是云计算应用层,它是云系统的接口,用户通过网页浏览或者计算终端登陆访问它。云计算的在几分钟内添加和删除资源的能力允许匹配的资源更有效的完成其工作负载[11]。数据中心对服务应用实时评估率一般在5%~20%。另外,对于多种服务而言由于其他原因其工作峰值负载量超过了平均。利用云弹性可以达到减少资源浪费的目的。除此之外,对于云来说通过采用“按需付费原则”的概念,由于通过云在购买时间上通常是非均匀分布的,所以它可以随时带来经济效益。因此,这里作为云计算的一个最重要的性能指标对其弹性的标准测量提出了要求。
本文是这样在物理层面上定义一般意义的弹性的。在物理上,弹性是“一个材料的物理属性,即该物体在受到外力作用而改变了形状之后,需要返回到原来的形状所需要的力”[12]。更具体地说,材料的弹性是被其质量E所量化的,可以用如式(1)表示:
这里E是一个比较新的模型,其中Sstress用以表示应力,Sstrain用以表示应变。通常,它是由应力-应变图的初始直线段的斜率所表示。应力是一种对材料有多少受力能力的测量。它可以被这样定义,即在材料产生物理形变之前,多大的压力该材料是可以承受的。因此,计算应力的公式和计算压力的公式是类似的,其中F表示所承受的外力,A表示力作用的横截面面积:
应力的变化引起了应变的产生。将压力施加于一个物体之上,会引起它的伸缩(假设应力是张力)。应变是用来测量一个对象在应力作用下产生的伸缩的变化比例。计算应变的公式如下:
△K是对象纵向的扩展,K是它在伸缩后的长度。其比值可以得出所受的应变。
2 相关的研究及进展
在测量云计算性能研究领域里有很多相关研究工作的文献。例如G.Wang在其著作中提出了一种表示EC2数据中心网络性能虚拟化影响的测量研究思路[13]。它们进行了处理器共享测量,打包延迟测量,TCP/UDP吞吐量和在Amazon EC2的虚拟机上的打包丢失率测量。
此外,Assuncao在文献中评价了使用云计算来扩展集群能力方面的成本效益[14]。它们测量了在不同虚拟策略和此类增长所需代价条件下的性能增长。另外,Iosup等人实现了一个云计算性能评价系统用于提取及发现该环境对于科学计算来说其性能是否是足够的。比较了投入科学计算的云如果用类似网格或者并行计算基础设施来通过增加其科学计算工作负载来替代的性能和代价差异,并且通过多种不同的代价模式和任务执行模式来进行分析比较。对于此,作出了如下总结,即当前云计算需要进行性能提升以更好地服务于科学计算领域。A. Li等人在其著作中提出了一个系统化的对云提供者的性能及代价比较。这个工具测量了计算弹性,持久性存储以及由云提供者支持的网络服务。Z.Li等人在其文献中提出了一种预测迁移状态中的端到端内部部署网络应用响应时间的模型工具[15]。该工具收集了一个内部部署运行应用的资源使用路径,并且在云中将之替换。
同时还有很多其他关于云计算环境性能测量的工作都在开展。然而,这些研究工作中没有任何一个提供了对影响云计算性能的关键因素进行测量的模型。因此,本文在这里首先尝试提出了一个对云计算部分关键属性进行测量的模型。
3 云计算弹性能力测量模型
在本节中,将给出前述章节所提出的弹性定义所采用的具体的模型方法。本文首先讨论云计算环境中基本的可测量的一系列的参数,这些参数是和其弹性密切相关的,包括了所要求的计算能力的变化,请求的执行时间的变化,以及作为在分配给用户的资源有变化的情况下,网络带宽参数的相应的变化。基于这些参数,本文对于云的弹性测量的计算方式将在下面给出。
由于云计算弹性主要用于表示如何快速和有效地使得多种多样的计算资源可以满足响应用户的请求处理,云计算应力建模使用的是新申请的计算资源请求与已分配的计算资源数量之间的比率。从这个角度而言,在建模中,可以将新的请求视作对系统强加的作用外力,反之,在模型中将已经分配的计算资源作为系统的横截面面积。由于已分配的资源扮演了一个对抗和消化新增加需求的量度,所以本文认为这个类比是有效的。已分配的计算资源越多,云环境受到的应力就越少。
因此,提出采用以下的公式来计算云计算环境中的应力:
上述公式中的S(Cloud)stress用于表示云环境应力,DCC用于表示新增加请求的计算能力,ACC用于表示已分配计算资源的计算能力。计算能力是由需要处理数据的计算总数量为基础来进行评估的。通过云资源提供者及用户的自主选择,需处理的数据被通过计算得出的处理速度倍率、处理时间、可用内存以及存储能力而聚集汇总。因此,计算能力可以按照如下的公式进行计算。
在上述公式中,Pspeed表示处理速度的倍率,Ptime表示处理的时间,AVmemory表示可用的内存,AVstorage表示可用的存储能力。所以,按照式(5)的代入计算,得出式(4)的分子主要是由用户的选择而决定的。同时,其分母主要是由已经分配的由云提供者维护支持的计算资源的计算能力所决定的。
为了给云应变参数进行建模,可以将数据传输的变化作为一个对象受到一定压力后的纵向变化的类比。传输数据在缩放比例前后的变化被作为平均网络带宽缩放比例前后的变化来计算。平均带宽可以按照以下公式进行计算,其中的AVBW为平均带宽,INBW为入方向带宽,OUTBW为出方向带宽:
本文将Tcost定义为在用户发起请求后提供者响应并提供被分配的新资源所需要的时间开销。从我们的角度来看,带宽的相关变化时间Tcost代表了系统对用户请求变化或者计算能力请求的响应。因此,可以通过式(7)计算云环境的应变:
这里BeforeBW和AfterBW分别代表了在缩放比例前后的平均带宽。值得注意的是,用带宽的相关变化乘以标度时间可以得到以下事实,即这里在弹性和标度时间之间是一个成反比的关系。云的扩展所需时间越短,其弹性就越佳。要明确的是,弹性使用的所得到的测量结果可以是负值,在这种情况下,云将处于缩减状态(BeforeBW 本文使用虚拟实验的方式对提出的测量模型效果及其性能进行评估。本文使用CloudSim工具包作为实验平台的虚拟工具。这是一个以云计算环境为基础的虚拟架构平台。它提供了一个模式化和虚拟化环境以及支持需求资源提供的架构。由于这项工作的目的在于测量云的弹性,以及表明实际上该测量该如何计算,所以并没有使用真实的数据。 使用该虚拟工具,可以对一些可以管理多个宿主机及同时管理其中多个虚拟机的数据中心进行建模。该工具中的一个宿主机是代表一个云环境中的一个物理计算服务器组件。因此,它被分配了一个处理能力(以MIPS记),内存容量,存储介质空间,以及一个向虚拟机分配处理内核的供给策略算法。对SaaS的提供者来说,虚拟机分配是一个处理在宿主机上创建虚拟机实例以匹配硬件和软件需求的工作。 该虚拟工具支持在多种虚拟场景下的,向特定的虚拟机分配特定CPU内核的功能。它可以通过遵循空间共享策略或者时间共享策略来完成在虚拟机之间进行的动态的分配内核的计算能力的工作。此外,它允许一个虚拟机保留其所需要的或必要的带宽,只要申请的空间总量不超过宿主机可用带宽的总量即可。 在实验中,假设所有硬件设施均为同质宿主机,故无需考虑它们之间的硬件配置差异,使用的设置是相似的。虚拟环境由两个模式云组成。第一个是一个私有云,另一个为公有云。每一个机器都有2 GB的内存,10 TB的存储空间以及一个1 000 MIPS的CPU。假设该虚拟内核与本地机器具有相同的处理能力,这些本地机器的处理速度和A-mazon EC2的微实例模型能力完全对等(接近1 GH)。公有云创建的虚拟机具有1.7 GB的内存,一个虚拟内核,以及160 GB的存储空间。发送到私有云的工作量由1 000个任务所组成,每一个任务都被模型分配了总共20 min的处理时间,假设处理时间服从自然分布。当私有云的资源处于忙碌或者不可用状态时,任务会迁移到公有云之中。在将一个任务提交到公有云之前,虚拟机映像被加载并被实例化。虚拟机映像是由从10个到100个不等的虚拟机簇所组成的,这些虚拟机簇均按照空间共享分配策略统一控制。执行了两组实验,在第一组实验中,采用用户一次虚拟机实例增加请求便扩展10个虚拟机的策略,同时在另一组实验中,一次请求的虚拟机分配策略数目改为20个。在每组实验中,在扩展进行前后,均对标度时间和分配给任务的平均带宽进行了测量。 下面给出实验的虚拟化处理结果。图1显示了当公有云中的虚拟机映像被创建的数量从每次动态的10个至100个之间的随机数量,切换到均匀的每次10个的情况下,应力和应变比率的变化情况。值得注意的是,在这种情况下云的弹性随着对虚拟机映像申请数量的增加反而是减少的。这种情况由图2中对缩放时间增长的解释是可以得出预期结果的。 图3和图1类似,显示了应力与应变比率随着虚拟机数量的扩展策略由10个到100个之间的随机值转换,到每次以固定分配20个为基准时的变化结果。此外,图4显示了该实验的缩放时间。 应当注意到的是,应力应变的比值和两个实验的缩放时间之间有着细微的变化。对于第1组和第2组实验的平均缩放时间分别是3 316.1 s和5 223.3 s。同时,平均应力值并没有变化。然而,第1组和第2组平均弹性分别为0.002 7/s和0.001 9/s。这明确显示出了在本文中提出的测量模式下缩放时间的影响。 在本文中,给出了一个对IaaS云模式弹性的建模和测量途径。通过受物理学中弹性的定义所启发,提出IaaS弹性测量以作用于系统的应力与系统所产生的应变之间的比率来表示的方法模型。一个IaaS的应力被模型化表示为请求计算资源能力与已分配的计算资源能力之间的比率。另外,对云的应变模型给出了阐述,即通过对计算资源变化及数据传输率的相关变化进行计算来表示。将提出的测量模型应用并实验于两组模拟的数据实验装备中。两组实验结果表明:本文提出的测量模型是简单有效的。此外,该结果表明在计算云弹性时其缩放时间占据着主导作用。 就将来的工作而言,打算将该测量模型应用到真实的数据场景中。此外,为了使得所提出的测量模型对于实际云环境的状态更加具有代表性,将试图使用真实分配的资源而不是请求特定资源的方式进行运作。另外,打算采取网络吞吐量,而不是使用平均带宽来进行计算,以使得计算结果更加能反映环境的真实性,数据更加具有真实度和可信度。同时,对基于云计算环境的弹性测量结果之上的弹性分析算法及弹性控制策略,这也是下一步需要重点研究的范畴。 [1]Armbrust M,Fox A,Griffith R,et al.Above the Clouds:A Berkeley View of Cloud Computing[M].Technical Report EECS-2009-28,EECS Department,University of California,Berkeley. [2]Srinivasan S,Lee J,Liu E,et al.NetServ:Dynamically Deploying in-network Services[C]//in Proc.Workshop on Rearchitecting the Internet(ReArch’09),2009:37-42. [3]Chang F,Dean J,Ghemawat S,et al.Bigtable:A Distributed Storage System for Structured Data[C]//in Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation-Volume 7,ser.OSDI’06.Berkeley,CA,USA:USENIX Association,2006:15-15. [4]赵少卡,李立耀,徐聪,等.基于SaaS的弹性云平台优化调度策略设计[J].计算机应用研究,2013,31(9):117-119. [5]DeCandia G,Hastorun D,Jampani M,et al.Dynamo:Amazon’s Highly Available Key-Value Store[C]//in Proceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles,ser.SOSP’07.New York,NY,USA: ACM,2007:205-220. [6]张波,隽志才,林徐勋.基于有限理性的弹性需求随机用户均衡交通分配模型[J].计算机应用研究,2011,28(9):3268-3271. [7]Sekar V,Reiter M K,Willinger W,et al.CSAMP:a system for network-wide flow monitoring[C]//in Proc.5th USENIX Symp.on Networked Systems Design and Implementation(NSDI’08),2008:233-246. [8]Nurmi D,Wolski R,Grzegorczyk C,et al.Eucalyptus:A Technical Report on an Elastic Utility Computing Architecture Linking Your Programs to Useful Systems[C]//UCSB Computer Science Technical Report Number 2008-10,August,2008. [9]PezarosD,HoerdtM ,Hutchison D.Low-overhead end-to-end Performance Measurement for Next Generation Networks[J].IEEE Transactions on Network and Service Management,2011,8(1):1-14. [10]陈坚,杨飞,晏启鹏.多方式复合城市交通网络弹性需求随机用户平衡分配模型[J].计算机应用研究,2012,29(10):3693-3696. [11]罗来平,宫辉力,刘先林.基于决策树算法的遥感图像分类研究与实现[J].计算机应用研究,2007,24(1):207-209. [12]Wang G,T.S.E.Ng.The Impact of Virtualization on Network Performance of Amazon EC2 Data Center[C]//Proceedings of IEEE Infocom,2010:1-9. [13]Assuncao A C M,Buyya R.Evaluating the cost-benefit of Using Cloud Computing to Extend the Capacity of Clusters[C]//11th IEEE International Conference on High Performance Computing and Communications,2009. [14]张潇丹,李俊.一种基于云服务模式的网络测量与分析架构[J].计算机应用研究,2012,29(2):725-733. [15]Li A,Yang X,Kandula S.Cloudcmp:Comparing Public Cloud Providers[C]//the 10th Annual Conference on Internet Measurement,Melbourne,Australia,2010. Research Based on Measurement of Elastic Capabilities of Cloud Computing Model CHEN Zhong-liang Recently,cloud computing as the method to reduce the computing device infrastructure resource expensive and reduce the maintenance cost,has attracted many researchers attention.Cloud computing has many key characteristics,such as reliability,reusability and flexibility lease.However,these characteristics measurement are lack of a clear and quantitative standard.In this paper,a preparatory work is proposed can help to provide a series of cloud computing performance benchmark. Specifically,a measure of flexibility of cloud model is provided.Cloud computing system elasticity refers to a request initiated from a user at any time in case of extension and contraction.Elastic meaning this work focuses on the definition of the physical equipment in use,the definition is used to represent the basic characteristics of cloud computing environment parameters and elastic related.And the basic parameter method and the point of the model proposed is influenced in this paper using the list of elastic as measurement basis,and through the display of test case. Cloud computing,elasticity,computing capacity TP391 A 1002-0640(2015)10-0026-05 2014-09-08 2014-10-28 河南省科技发展基金资助项目(132102210463) 陈中良(1980- ),男,河南驻马店人,硕士,实验师。研究方向:云计算、软件技术、计算机网络。4 云计算弹性能力测量实验评估
5 总结和将来的工作
(Huanghuai University,Zhumadian 463000,China)