摘 要: 提出了一种评价云中心综合性能指标的分析架构。基于性能代理和服务接口方式(PASI)建立分析架构,该接口方式由性能客户端(PMC)、性能代理(PMA)和性能服务端(PMS)组成(CAS),并提出了一个基于排队原理的数学模式来论证这个方法的可行性。实验结果表明,以PASI 模式对云中心性能指标进行采集和评估的方式是非常有效的。
关键词: 云计算;排队原理;性能分析;采集模式
云计算使得通过运用分布式组件海量池建立高性能应用成为可能。对于一个致力于优化为获取应用服务、信息和存储以及计算能力相关服务预算为其主要战略的企业来说,这将成为不可或缺的一部分。伴随着对云计算架构的需求性和复杂性的增加,性能分析和管理热点引起了业界强烈的关注。
虽然业界在定义云概念存在着分歧,但仍可以找到一些共同的关键点[1]。首先,云计算是特定的分布式计算范畴。它与传统分布式计算的区别在于:(1)可大批量升级的;(2)可以被封装为一个抽象的实体以向云外部用户传递不同水平的服务;(3)强烈地受到经济规模的驱动;(4)其服务可以通过虚拟化或其他途径被动态配置和按需分发[2]。由于云计算主要被定义为服务层面,所以它应该提供稳固和平滑的服务,并避免发生由于请求消息及任务激增而引起的执行需求超过云中心响应处理能力的情况。
综上所述,能提供充足云组件的性能信息是非常必要的,并且建立高质量云计算服务很明显已经成为一个重要的研究领域[3]。
一个典型的云计算应用通常由多种云组件组成,它们之间主要通过应用程序接口来进行相互通信[4],本文提出了一个由客户端及服务端模式组成的系统级性能收集架构。从部署于不同云组件性能客户端(PMC)的性能代理(PMA)获取相关参数,并且采集和汇聚这些数据部署在云计算任务队列管理簇的性能服务端(PMS)中。
1 相关工作
近些年,性能分析已经成为云计算相关众多领域中的研究热点。对云计算性能分析的研究工作按照研究对象可以分为如下几类:对云计算中心的性能分析、对云计算应用层面的性能分析以及对云计算组件的性能分析。并且可以按照实施切入点被识别为两个层面:性能预测和性能实时状态检测[5]。
云计算的性能分析模型可以被描述为一个近似分析模型,该模型建立在阻塞预警控制和完全拒绝策略为保证的前提下[6]。
这里展现了一个典型的云环境,它包括了数以千计的云服务端(宿主机),每一个都能被嵌入一定数量的独立的或内部交互的虚代理(虚拟机),并且服务可以被恰当地分布在不同的虚拟机或宿主机上。本文关注重点在于云计算应用的性能分析测量。
下面详细说明这种针对云计算应用和组件的性能分析方法。就像计算网格用来在小数据集上处理大量的计算密集型问题一样,它展现了结合若干抽象任务的复杂功能的实现。每一个任务都可以从一系列功能相同的候选组件中选择一个优化的云计算组件。云计算应用通过构建可选组件为任务执行实施提供保障,候选组件分布于不同的区域,并能被通过通信链接所调用。本文提出了一个性能监控背景下的控制和预测模型,用来监控云计算组件中的用户侧实时性能,目标是获取云计算环境中更准确的性能分析结果。
在本文中,焦点是基于PASI模式下的性能相关数据的收集。通过基于该模式收集的性能数据与之前的数据的完整性和有效性相比,证明该模式的效用。
2 基于云计算环境的PASI模式
如图1所示,性能客户端、代理和服务端信息收集架构建立在云宿主机和云虚拟机的门户应用部署之上。PMS应用是嵌入在云门户中的,它主要由宿主机队列映射表组成,该主机映射表包括了宿主机以及运行于其中的虚拟机性能信息等。应用执行模块需要在选择前在未使用的网络服务中基于其服务质量进行预测。通常,这种预测基于其他的应用执行经验。性能数据从部署于宿主机的代理应用收集而来,而代理的这些数据又从部署于虚拟机的客户端应用获取而来。因为从用户侧角度来看,所有以评估为目的而设立的可用云组件都是奢侈和不实际的, 性能服务端的性能管理表包括了主机映射表、主机数据表、主机占用或闲置表等。
另外置于主机映射表的关键信息包括虚拟机映射表、数据表、占用或闲置表、当前数据表、历史15 min数据表以及历史24 h数据表等。存在于性能表中的关键数据主要包括采样请求周期时间、周期中空闲时间、周期中平均请求时间和周期内请求平均失败率。并且数据组织粒度主要按照当前15 min、当前24 h、历史15 min和历史24 h来设置。
性能客户端上报的性能数据来源于虚拟机,并被部署于宿主机的性能代理接收捕获。性能代理在采集周期内计算上报数据,继而在采样周期到达时将数据同步到性能服务端。性能数据传输到性能服务端后将被统一计算汇总,并按照排队论原理模型产生最终的统计信息。所有性能客户端嵌入在不同虚拟机中,这些虚拟机分布在单个云节点或多个云节点中,性能代理便运行在其中。
由于面向的是基础设施即服务(IAAS)类型,从而需要广泛地吸收云计算资源,获取准确的性能评估信息,以满足要求。即允许服务提供者在其资源上标明可用标签,以达到其用户需求。
3 模式架构和分析
从虚拟机簇采集性能信息数据并加以分析。云计算组件的响应时间指从请求到达虚拟机到响应结束的时间、性能客户端解码时间以及对CPU利用率、内存利用率等相关信息进行处理的时间。
如图2所示,性能代理端收到从性能客户端转发来的数据,接着进行统计处理。当一个15 min周期到达后,性能代理端将把本周期内的完全统计数据进行打包,并转发给性能服务端。这里的信息包括了性能客户端每一个周期片段响应上报后被性能代理端处理过后的数据,这部分信息涵盖了周期性请求采样时间、周期内空闲时间总和、周期内平均请求时间以及相应性能客户端周期内平均请求失败率。在性能服务端获取到从性能代理端发送的性能信息数据后,这些数据将被累加统计到当前24 h数据中,如果条件达到则会一并同步到历史15 min和历史24 h队列中。当然通常的用户请求响应将被开启的实时监控任务所处理。
采用排队原理作为获取虚拟机周期内平均运行总时间结果的抽象模式。为了获取最大网络效益,被服务端统计和统一安排的数以千计的可用客户端队列被登记在空闲表中。按照消费能力将被请求的应用合理地安置到可用计算服务单元是非常重要的。
4 数字化论证
通过实验论证上述数学过程,且通过不同的配置来估算外部请求到达与y个性能客户端处理系统的概率x之间的关系。在配置1中,性能客户端以平均到达率θj=1接收到请求,并且以配置2平均到达率θj=1+(j+1)×Pr进行试验,Pr是部署系数。定义Tm为指定周期内的负载率, 数字验证结果SE(i)和Dcloud为CAS系统中持续运行态概率和平均负载度。部署不同的参数配置作为试验的条件,如表1~表4所示。
综上可以给出TM、SE和DQ/D配置效果间关系,如图3所示。
从表1~表4,可得到如下结论:y、K、θ、σ的改变对TmQ/D的结果产生了明显的影响,而TmQ/D的结果改变将引起DQ/D的变化。
本文中描述了IAAS模式下基于代理服务接口的云计算性能信息采集模型。在这种模型下,可以从客户端、代理端及服务端获取性能信息,并最终通过它们获得云中心的平均负载度。云中心系统可以通过其门户调整云计算组件的组成。
将来的工作将把注意力重点转向基于云计算性能分析模型的反压机制以及相应的调整策略上。
参考文献
[1] SYS-CON Media Inc.Twenty experts define Cloud Computing[S].2008.
[2] FOSTER I,Zhao Yong,RAICU I,et al.Cloud Computing and Grid Computing 360-degree compared[C].Grid Computing Enviroments Worksshop.2008.
[3] Zhang Yilei,Zheng Zibin,LYU M R.Real-time performance prediction for Cloud Components[C].2012 IEEE 15th International Symposium.2012.
[4] GOSWAMI V,PATRA S S,MUND G B.Performance analysis of Cloud with Queue-dependent virtual machines[C].RAIT-2012.
[5] KHAZAE H.Performance analysis of Cloud centers under burst arrivals and total rejection Policy[C].IEEE Globecom 2011 Technical Symposium Program.2011.
[6] RAAJESWARI R,SELVARANI.A performance analysis method for service-oriented Cloud applications(SOCAs)[C].Coimbatore,INDIA.2012.