期刊专题 | 加入收藏 | 设为首页 12年实力经营,12年信誉保证!论文发表行业第一!就在400期刊网!

全国免费客服电话:
当前位置:首页 > 免费论文 > 管理论文 > 企业管理 >

SaaS环境服务质量分析

1、SaaS服务模型

云计算主要可以分为底层架构即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。在云计算中的SaaS模型如图1所示[7]。SaaS层管理SaaS提供商提供给租户的所有服务的应用。PaaS层包含映射和调度政策,以将租户的服务质量需求转换为底层架构参数,并分配虚拟机以处理租户的服务请求。IaaS层控制虚拟机的实际的初始化和销毁。IaaS层,如AmazonEC2service[8],提供多种类型的虚拟机,其处理能力、内存及I/O性能均不一样,客户可以购买所需要的虚拟机实例,并按实际使用收费。这样,SaaS应用可以按实际需求,动态提取所需要的底层资源。在SaaS服务模型下,PaaS平台为SaaS服务提供底层资源运行环境,并对SaaS服务对应的底层资源进行监控和管理。当租户请求到来时,PaaS平台获取租户请求信息,将请求发送到SaaS服务对应的底层资源,使租户请求得到服务。当租户请求增长,现有的底层资源已不能处理租户请求时,PaaS平台则需要为SaaS服务提取新的底层资源。由于IaaS层创建新的虚拟机,并部署相应的应用实例是需要时间的,为了能提取恰当的资源,在PaaS平台的资源分配算法中,需要一些值记录IaaS层正在为SaaS服务提取的底层资源。当IaaS层为SaaS服务创建的底层资源已经生成时,PaaS平台则对SaaS服务与底层资源的映射关系及这些状态值进行更新。同时,根据SaaS服务的底层资源使用状态,PaaS平台需要定期对底层资源进行更新,当租户请求减少时,及时释放底层资源,以节省成本。一般而言,SaaS环境下的资源分配算法包括3个部分。一是在租户请求到来时,对租户请求的处理。在该算法中,当现有的资源不能处理租户请求时,则需要提取新的底层资源。二是定期的对底层资源进行更新。对底层资源的定期更新,是为了在租户请求减少时,及时的释放底层资源,以节省成本。三是当IaaS层生成了需要提取的新的虚拟机时,PaaS层对SaaS服务映射的底层资源及记录正在生成的虚拟机的记录值进行更新。SaaS提供商与租户需要签订SLA协议,以保证SaaS服务质量,并对违背SLA做出赔偿。响应时间是SaaS服务质量好坏的一个重要标准。SLA协议往往需要规定请求响应时间上限,并保证在租户请求中响应时间超出SLA响应时间上限的请求量低于某个概率值,如5%,当SLA违背的请求量超出该概率值时,对超出的请求做出一定的赔偿。故SaaS环境下的资源提取算法,需要最小化SLA违背,并最小化SaaS提供商的底层资源成本。

2、资源分配算法

记云平台生成新的虚拟机应用实例的时间为T,SLA规定的响应时间上限为tr。在SaaS服务模型下,为了使得被处理的租户请求都能在tr内得到服务,需要根据虚拟机的处理能力及虚拟机现有的待处理请求数量,对租户请求作请求处理时间预测。虚拟机的处理能力可通过压力测试获得。一个请求到来时,当虚拟机可以在tr内处理该请求时,则将该请求发送到该虚拟机。当SaaS服务现有的虚拟机资源都不能保证在tr内处理该请求时,则放弃当前请求(此时是SLA违背),并令IaaS层生成新的虚拟机应用实例,以适应租户请求的增长。在现实的SaaS环境下,租户请求的到来是随机离散事件,在模拟环境下,为了方便观察租户请求量变化对底层资源的影响,我们以一个固定时间为间隔来发送租户请求。记请求发送间隔为ts,并设置ts=tr。即以tr为间隔来发送请求,并在每个请求发送间隔结束时,对虚拟机进行更新。由于预测处理时间超出tr的请求被放弃,本文假定请求处理时间预测是有效的,则在tr时间后虚拟机资源就会完全恢复处理能力。若ts<tr,每次请求发送时,底层资源要以部分处理能力来处理上一次未处理完的请求,而只能以剩余处理能力来处理该次发送的请求,则此时间段放弃的请求量不能真实的反映该时间段内请求量变化对底层资源的影响。若ts>tr,则底层资源在每次请求发送间隔的[tr,ts]时间内处于闲置状态。故设置ts=tr时,可以更好的观察请求变化量对底层资源的影响。一个SaaS应用可以有多个版本,如标准版、专业版和企业版等。以下讨论均指部署为同一个版本的SaaS应用,并且SaaS提供商对该版本的SaaS应用只使用同种类型的虚拟机,即下文所说的所有虚拟机都有相同的处理能力、内存及I/O性能等。如引言所述,CompiereERP[6]为每个租户维护单独的虚拟机,并在租户请求拥堵时,可以为各个租户生成新的虚拟机应用实例,以保证服务质量。本文把CompiereERP的资源分配算法作为一个基本的算法进行介绍。然后描述了本文提出的基于服务质量的资源分配算法。

2.1基本算法

我们用BaseAlg来表示基本算法。在该算法中,为各个租户都分别维护了专用虚拟机列表。数组tenantVmCreating[N](N表示租户的数量)表示各个租户是否有新的专用虚拟机正在生成中。各个租户的请求,都只使用该租户的专用虚拟机来处理,当专用虚拟机不能在tr时间内处理时,则为该租户生成一个新的专用虚拟机。

2.2基于服务质量的资源分配算法

我们用QoSBasedAlg来表示本文提出的基于服务质量的资源分配算法。SaaS服务可分为四级成熟度模型[9]。在第四级SaaS成熟度模型下,SaaS服务有规模可伸缩,可定制和多租户效应。通过多租户和定制技术,一个SaaS服务实例可以为多个租户服务。在QoSBasedAlg算法中,在多个租户共用虚拟机应用实例的基础上,将虚拟机分成了两类:公用虚拟机和协调虚拟机,以实现在保障租户的服务质量的基础上,最小化底层资源的成本。本小节首先对虚拟机分类进行介绍,然后对算法进行描述。2.2.1虚拟机分类在算法中,将虚拟机分为两类:公用虚拟机和协调虚拟机。公用虚拟机:是所有租户都可以使用的虚拟机。与基本算法相比,其优势在于可以减少非满负荷运行的虚拟机,从而减少对虚拟机资源的占用。协调虚拟机:当公用虚拟机已满时,则使用协调虚拟机来处理租户请求。协调虚拟机开始使用,则需要生成新的公用虚拟机,以应对租户请求的增长。有多少个协调虚拟机在使用,则需要生成多少个公用虚拟机。QoSBasedAlg算法的虚拟机如图3所示。QoSBasedAlg算法使用多租户共用虚拟机的方式来处理所有租户的请求,可以高效的使用虚拟机,节省底层资源。不过,多租户共用虚拟机的方式会更容易受到租户请求变化的影响。当租户请求增长时,如不能及时的提取足够的资源,则会造成大量的SLA违背。故本文提出了协调虚拟机来处理增长的租户请求,并根据协调虚拟机的使用数量来确定所需要提取的底层资源数量。协调虚拟机机制可以减少及避免租户请求增长时,生成新的虚拟机期间的SLA违背。算法描述在QoSBasedAlg算法中,用pubVmCrtCnt来记录正在生成的公用虚拟机的数量。算法初始值如下:pubVmCrtCnt的值为0,公用虚拟机的数量按式(1)来确定,协调虚拟机的数量按式(2)来确定。当一个租户请求c到来时,对租户请求处理的流程如图4所示。对租户请求进行处理的算法QoSBasedAlg_Re-questSolve描述如算法4所示。多租户共用虚拟机的方式会更容易受到租户请求变化的影响。在某个时刻租户请求量减少之后,在下一个时刻有可能会增加。如果在租户请求量减少时,立刻释放空的公用虚拟机,在下一个时刻租户请求量增加时,又需要生成新的公用虚拟机,这无疑会增加SLA违背的可能性,并影响算法的健壮性。为了防止租户请求量减少了之后再反弹,对虚拟机更新则采用了慢收缩策略,即对所有空闲的公用虚拟机采用超时销毁政策。

3、性能评估

本文通过模拟实验来评估QoSBasedAlg算法的性能。在实验中,本文使用CloudSim[11]来模拟在SaaS环境下的资源分配算法。如上节所述,本文假定SaaS提供商只使用同一种类型的虚拟机,则BaseAlg算法和QoSBasedAlg算法中的所有虚拟机都有相同的处理能力、内存及I/O性能。在实际情况下,为确定虚拟机在SLA响应时间上限内的最大处理能力,需要考虑不同请求类型及其比例。本文的主要目的是验证QoSBasedAlg算法的有效性,为简单起见,本文只考虑所有请求都为同一种类型的情况。在性能评估中,主要以SLA违背量、SLA违背率以及底层资源的使用数量作为评估标准,并在不同的实验环境参数下,对BaseAlg算法和QoSBasedAlg算法的实验结果进行比较分析。

3.1性能测试

实验环境的主要配置参数如下:数据中心的每个主机包含4核处理器,16GB的RAM,每个核的处理能力为1000mips。每个虚拟机的处理能力为250mips,1GB的RAM。每个服务请求需要处理15million条指令。响应时间tr为6s。租户请求发送间隔tr为6s。QoSBasedAlg算法中空虚拟机保留时间为31s。在模拟环境下,测试得:在6s的响应时间内,SaaS服务的最大并发处理能力M为99个请求。每个租户的初始请求量ri(i=1,2,…N)都为50个请求。在实验中,本文分别在不同请求变化量、不同虚拟机生成时间、不同的租户数量的实验条件下,对比BaseAlg算法和QoSBasedAlg算法的底层资源使用量与SLA违背量及SLA违背率。为了保证可比性,首先对QoSBasedAlg进行实验,在实验中记录每个租户每次发送的请求数量。然后在BaseAlg实验中,按照QoSBasedAlg中记录的每个租户每次的请求发送量,来发送租户请求。在下面的每个实验条件下,对每个实验都重复5次,每次实验的实验时间为半个小时。在每次实验中,取平均虚拟机使用量作为底层资源(虚拟机)使用量的衡量标准,即各个请求发送间隔内的虚拟机使用量的总和与请求发送间隔总数量之比;SLA违背量则取每次实验中放弃的请求的总数量;SLA违背率取每次实验中放弃的总的请求量与总的请求发送量之比。每个实验条件下,虚拟机使用量、SLA违背量及SLA违背率都取5次实验的平均值作为最终的评估标准。3.1.1不同请求变化量对实验的影响在实验下,主要看不同的租户请求变化量对实验的影响。设置租户数量N为200,虚拟机生成时间T为40s。请求变化量分别设置为n=4、8、12、16、20时,对比BaseAlg与QoSBasedAlg算法。初始时,在BaseAlg实验中有200个专用虚拟机。初始时在各个实验中都有,ri=50(i=1,2,…N),M=99,N=200,由式(1)得QoS-BasedAlg的公用虚拟机J都为102;当n=4时,T=40,N=200,M=99,tr=6s,代入式(2)计算得协调虚拟机数量K为3。类似地,当n分别为8、12、16、20时由式(2)可计算得协调虚拟机的数量K分别为5、7、9、11。实验结果见表1。源的使用量,并且QoSBasedAlg算法在各次实验中的SLA违背率低于1%。同时,QoSBasedAlg算法的SLA违背量也随请求变化量的增长而增长。由2.2.1节的分析可知,当各个租户的请求变化量n更大时,在新的虚拟机生成期间,总的请求变化量Y有更大的变化区间,故会有更多的SLA违背。3.1.2不同虚拟机生成时间对实验的影响在实验下,主要看不同虚拟机生成时间对实验的影响。设置租户数量N为200,请求变化量n设置为12。虚拟机生成时间T分别为20、30、40、50、60时,对比BaseAlg与QoSBasedAlg算法。初始时,在BaseAlg实验中有200个专用虚拟机。初始时,由式(1)得QoSBasedAlg的公用虚拟机数量J都为102;由式(2)计算得协调虚拟机数量K分别为5、6、7、8、8。实验结果见表2。从实验结果中可以得出,在不同的虚拟机生成时间条件下,QoSBasedAlg算法都比BaseAlg有更少的SLA违背及底层资源的使用量,并且QoSBasedAlg算法在各次实验中的SLA违背率低于1%。QoSBasedAlg算法的SLA违背量受虚拟机生成时间变化的影响并不是很明显。3.1.3不同租户数量对实验的影响在实验下,主要看不同租户数量对实验的影响。设置请求变化量n为12,虚拟机生成时间T为40s。租户数量N分别为50、100、200、300、400、500时,对比BaseAlg与QoSBasedAlg算法。初始时,在各次实验中,BaseAlg算法的专用虚拟机数量分别为50、100、200、300、400、500。初始时,在各次实验中,由式(1)得QoSBasedAlg算法的公用虚拟机的数量J分别为26、51、102、152、203、253;由式(2)计算得协调虚拟机数量K分别为4、5、7、9、10、11。实验结果见表3.从实验结果中可以得出,在不同租户数量条件下,QoSBasedAlg算法都比BaseAlg有更少的SLA违背及底层资源的使用量,并且QoSBasedAlg算法在各次实验中的SLA违背率低于1%。同时,QoSBasedAlg算法的SLA违背量也随请求变化量的增长而增长。由2.2.1节的分析可知,当租户数量N更大时,在新的虚拟机生成期间,总的请求变化量Y有更大的变化区间,故会有更多的SLA违背。

3.2实验分析及算法改进

从实验结果中可以得出,与BaseAlg算法相比,QoS-BasedAlg算法使用更少的底层资源,达到了更少的SLA违背。并且在每一次实验中,QoSBasedAlg算法的SLA违背率都低于1%,各个实验条件下,其平均SLA违背率甚至都低于1‰。实验结果表明,在QoSBasedAlg算法中,使用多租户共用虚拟机的方式可以有效地节省底层资源,协调虚拟机机制和慢收缩策略可以有效地减少SLA违背及改进服务质量。通过实验可以得到,在请求变化量更大、虚拟机生成时间更长、租户数量更多时,QoSBasedAlg算法也趋向于产生更多的SLA违背。一方面,由于实际的租户请求量不可能为负数,故在每次请求发送时,对于请求量r小于n的租户,则在下一次请求发送时,这些租户的实际请求发送量只能在[-r,n]之间变化,而不是在[-n,n]之间随机变化。因此在实验中,每次发送租户请求时,总的租户请求发送量往往呈现增长的趋势。从实验结果来看,QoSBasedAlg算法这种请求增长趋势具有一定的适应能力。另一方面,虽然在协调虚拟机数量满足式(2)的条件下,Y的数量超出协调虚拟机处理能力的概率为0.82%,但仍然有可能会超出协调虚拟机处理能力。当请求变化量更大、虚拟机生成时间更长、租户数量更多时,在虚拟机生成时间内总的租户请求变化量Y有更大的变化区间,超出协调虚拟机处理能力的请求量会更大,故SLA违背量也更大。需要指出的是,QoSBasedAlg算法的核心就是确定协调虚拟机的数量,因为它决定着是否能及时提取恰好足够的资源来为租户服务。如果协调虚拟机的数量相对不足,而实际的租户请求变化量较极端的情况下,仍然会有可能出现SLA违背率超出SLA违背赔偿率的情况。

4、结束语

本文提出的资源分配算法,利用SaaS应用的多租户特性,在各个租户共用虚拟机资源的基础上,将虚拟机分为两类:公用虚拟机和协调虚拟机。通过公用虚拟机为多个租户服务,以节省底层资源;通过协调虚拟机来处理增长的租户请求,并根据其使用状态来提取适当的资源。本文采用慢收缩策略以防止租户请求量减少之后再反弹。对照实验结果表明,本文提出的资源分配算法可以最小化SLA违背及底层资源使用量。根据实辽宁职称验结果,对算法提出了进一步控制SLA违背并改进服务质量的方法。

作者:张志超 彭蓉 黄华 单位:武汉大学计算机学院 软件工程国家重点实验室 景德镇陶瓷学院


    更多企业管理论文详细信息: SaaS环境服务质量分析
    http://www.400qikan.com/mflunwen/gllw/qygl/158423.html

    相关专题:原子核 小学教师个人工作总结


    上一篇:电气工程及自动化建设与发展
    下一篇:PE基木塑复合材料力学性能分析

    认准400期刊网 可信 保障 安全 快速 客户见证 退款保证


    品牌介绍