没有合适的资源?快使用搜索试试~ 我知道了~
可在www.sciencedirect.com在线获取理论计算机科学电子笔记337(2018)45-65www.elsevier.com/locate/entcs基于微服务架构的复制策略性能评估Marco Gribaudo1米兰理工大学via Ponzio 34/5,20133 Milano(Italy)Mauro Iacono2西班牙大学。VanvitelliDaniele Manini3Universit`adegliStudidiTorino corsoSvizzera,185,10129 Torino,Italy摘要如今,应用程序往往在使用按需基础设施提供的分布式环境中执行。应用程序容器等技术的使用简化了复杂系统的编排。在这种情况下,基于微服务的架构为软件开发和可扩展性提供了一个有前途的解决方案。 在本文中,我们提出了一种方法来研究自动可伸缩性部署在公共云和私有云中的微服务架构。流体Petri网模型描述了平台的可扩展性,以及一个真实的跟踪驱动该方法考虑一个现实的场景。 我们的重点是从服务提供商和基础设施提供商的角度评估性能、成本和能耗。关键词:性能评估,微服务。1介绍对软件即服务(SaaS)应用程序的快速、短开发周期和敏捷管理的需求导致了基于微服务的软件架构(MBSA)的兴起。这种范式是基于复杂的1marco. polimi.it2mauro. unicampania.it3manini@unito.ithttps://doi.org/10.1016/j.entcs.2018.03.0331571-0661/© 2018作者。出版社:Elsevier B.V.这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。46M. Gribaudo等人/理论计算机科学电子笔记337(2018)45软件应用程序转化为大量的小型软件服务,即微型服务(MS)。这种方法已经由业界提出,作为将面向服务的架构(SOA)的概念应用于云供应软件的设计和实现的从SOA实现问题中抽象出来的SOA概念,将应用程序定义为几个独立软件单元的交互(基本上是工作流程),这些单元提供自包含的逻辑功能。每个软件服务都是独立于其他服务开发和管理的,但提供了一个定义明确且已知的其他服务接口,因此将应用程序的整体设计和生命周期与每个服务的设计和生命周期分离。在MBSA方法中,原则上,每个应用程序的服务粒度更高。这种方法具有三个优点:i)服务非常简单,因此它们可以由非常小的团队以非常短的周期开发和管理(与DevOps兼容,并且通常与敏捷开发方法兼容); ii)服务的管理意味着少量的知识,并且开发团队可以轻松地补偿其成员的高频率流动; iii)所产生的架构原则上是高度可扩展的,因为每个服务可以根据由工作负载波动产生的即时需要在可变数目的实例中执行,并且是容错的,因为服务中的故障不会导致应用程序的故障,并且通过使用相同服务的另一个实例来补偿是容易的。 的MS是一个独立的、松散耦合的开发单元,它处理单个关注点。这通常意味着MS倾向于避免相互依赖性:如果一个MS对其他MS有硬性要求,那么重点是要理解将它们都纳入同一单元是否有意义单片应用程序被分成几个组件,这些组件可以独立运行,并且可以用不同的编码或编程语言实现由此产生的独立程序可以自己执行,然后这些较小的组件被组合在一起,以提供单片应用程序的所有功能。应优化支持执行的云基础设施和定义MS资源分配的算法,以保持整体服务的可靠性和性能。在[6]中,我们已经提出了一种建模技术,可以在性能和资源利用方面给出MBSA在这项工作中,我们专注于与云架构的可扩展性问题相关的问题。由于云架构是基于MS的应用程序最有可能的托管平台,因此应调查扩展与云管理和成本策略之间的相互作用,以了解设计和管理决策的影响在云系统上的正常操作中,成本取决于每个时间段(通常定义为一小时)使用的虚拟机(VM)数量:因此,不同的管理策略可能会导致相同平台上相同总体工作负载的不同成本,具体取决于可用VM的使用模式。我们提出了一种建模方法,允许评估不同的可能的扩展策略的效果,并允许评估来自不同的VM使用策略的成本建模方法分为两个步骤,重点关注这两个问题,并结合不同的缩放和使用M. Gribaudo等人/理论计算机科学电子笔记337(2018)4547战略布局本文的其余部分组织如下:第2节介绍了描述和评估云环境中MBSA的文献,第3节介绍了所提出的方法,并将模型开发应用于不同的案例研究,最后第4节得出结论并介绍了未来的发展方向2相关作品MBSA作为一种解决方案应运而生,它支持大型应用程序的快速敏捷开发,具有非常简单的独立服务,具有自己的独立开发和维护周期和团队。 然后,应用程序由一组 (not例如,微服务可以是(排他地)集成的微服务,其通过基于HTTP或套接字的消息传递进行交互,并且通常在云系统上执行。在[1]中首次提出了MBSA的普遍认可的定义,而在[4]中提出了关于该模型及其含义的更一般的观点,这是对该主题的第一种方法的合适参考。[20]中对架构和典型工作负载的所有方面进行了非常深入的讨论,并对不同实现和情况下的单片和MBSA应用程序进行了比较。在[21]和[22]中分析了成本和开发周期管理的问题,并比较了MBSA和基于单片和AWSLambda的解决方案。在[7]中讨论了微服务如何通过多语言持久性,最终一致性,松散耦合,开源框架和持续监控弹性容量管理来支持运行时性能和开发性能的可伸缩性。容器的使用已经在[10]中考虑过,其中评估了Docker技术的可扩展性问题在[12]中进行了类似的研究,该研究确定了基于容器的系统的全面开发所面临的挑战在文献[8]和文献[5]中,均分析了操作条件。前者描述了一个弹性测试的建议,而后者制定了一个建议,在MS基础设施中的分散automic行为。从应用程序的角度来看,在文献中呈现的作品中,[15]和[3]对于读者来说是一个有趣的参考,因为它们给出了应用程序场景的清晰和系统的描述。在[17]中,作者提出了云环境中的通用自动缩放技术。在[18]中,作者提出了一种自动化方法,用于为基于MS的多云应用程序选择和配置云提供商。[13]提供了量化容器、软件定义网络和加密对网络性能影响的基准测试结果。在[14]中,作者提出了一种方法来建模部署成本,包括部署到公共云的基于MS的应用程序的计算和IO成本。[19]提出了一种新的架构,可以在云上实现MS应用程序的可扩展和弹性自我管理[16]中报道了一个关于云容器技术的有趣的最新评论。最后,建议[2]作为更广泛的参考列表。48M. Gribaudo等人/理论计算机科学电子笔记337(2018)45U中国配置Ci+1与配置C i)、配置C i +1与配置Ci)、配置C i +1与配置C i)、配置C i +1与配置C i+1相比,必须分配给VM)。k=1ajk=mj(所有MS实例当前复制MSj的实例的数目我们称之为M=MSj=13建模方法我们建模过程的目标是从服务提供商和基础设施提供商的角度评估与MBSA配置相关特别是,我们将评估分为两个部分:首先考虑自动缩放策略,然后重点关注预览方案。自动缩放策略将使用伪代码算法进行描述,而供应方案将使用流体随机Petri网(FSPN)进行建模。自动缩放策略的主要目的是决定何时增加或减少用于支持应用程序的资源量。在这项工作中,我们将考虑一个静态策略,根据当前的工作负载λ,决定每个MS需要多少个实例来执行稳定的应用程序。路上了每个策略由一组元组S={Ci}描述,其中每个元素项Ci=(λU,λL,n,m,A)定义基础设施配置。给定当前工作负载λ,系统必须处于状态Ci,使得λL≤λ λU(λU是上限,λL是下限)。当工作负载超过λU时,系统将移至配置Ci+1。如果工作负载低于λL,系统将切换到配置Ci−1。为了避免交替行为,给定两个连续的配置Ci和Ci+1,我们必须有:λ(i)> λ(i),U Lλ(i+1) > λ(i),λ(i+1) > λ(i)(配置Ci+1必须处理更大的工作负载U U L LC(i),λ(i)> λ(i+1)(如果系统返回到配置Ci+1至Ci,它不能立即返回到C i+1)4。元素n表示在其上以配置Ci部署应用的虚拟机的数量,并且m=(m1,·,mNms)∈N是一个向量,它的分量ntmj表示num,NMs在所考虑的配置中使用的MS实例的总数。矩阵A =|阿JK| ∈NNms×n定义可用VM上微服务的分配:a jk,1 ≤j≤N ms,1 ≤k≤n定义当前运行的类型j MS的数量在VMk上。对于要有效的配置集合S,我们需要以下附加约束:n(i+1)≥n(i)(供应的VM的数量只能增加),a(i+1)>ai(至少一个MS的实例的数量必须增加,jkjk在[6]之后,我们随机生成了MBSA。每个拓扑由随机数Nms的MS组成,其遵循参数μ的泊松分布。MS本身的特征在于它们的平均服务需求Dk,其被计算为平均访问次数vk与每次访问时服务中花费的平均时间Sk的乘积,即:Dk=vk·Sk,1≤k≤Nms根据基于Zipf的规则随机确定访问[4]我们用符号·(i)表示对应于配置C i的元组的·元素。LM. Gribaudo等人/理论计算机科学电子笔记337(2018)4549定律,它使用四个参数定义:Cvk=(k+q+β·u)s(1)其中k是所考虑的MS的索引,c是尺度参数(定义访问的数量级),s是形状参数(定义更受欢迎和不太受欢迎的MS之间的比率),q是移位参数(微调访问的范围),β是随机性参数(如果β= 0,则访问完全由齐普夫定律确定,否则它们被随机调制),u是[0, 1]范围内的随机数以这种方式,以较低指数k为特征的MS更受欢迎并且接收更多访问。相反,服务需求是从Erlang分布的实例中随机确定的,由速率参数γ和等于KS的阶段数总结。3.1第一步:自动缩放策略所考虑的自动缩放策略对MS的不同分配和整合策略的效果进行建模和评估,以了解此选择对一组VM的使用情况的影响。其中,重点是分配与合并对相关指标影响的评价。对于我们的工作目标而言,相关指标是作为工作负载和VM利用率的函数的所需VM数量。自动缩放策略有两个重要特征:初始分配和合并策略。初始分配策略定义了主逻辑,根据该主逻辑,当系统开始操作时,不同的MS被映射到可用的VM上。整合策略定义了如何根据工作负载的动态(即不同MS的各种实例需求的增长或减少)将MS映射到可用的VM给定一组自动扩展策略,可以通过查看所需的VM数量及其利用率(作为工作负载的函数)来比较它们。然后,我们固定了系统可能必须服务的最大到达率λMax,并使用这些策略生成相应的配置集S。在特别是,我们已经产生了|S|(),则λ(|S| − 1)≤ λ Max<λ(|S|)的。U U在下文中,我们将考虑三种自动缩放策略。策略A:每个虚拟机第一种策略遵循一种简单的方法,用作与其他方法进行比较的基线在算法1中描述了由NmsMS组成的配置的初始分配,该配置由需求向量D表征,其中函数eye(Nms)返回大小为Nms的分量的向量,所有分量都等于1,并且ones(Nms)返回大小为Nms的单位矩阵。参数Umax表示允许VM使用的最大平均利用率在下文中,术语合并是指在单个VM上执行两个或多个MS,类似于其当前使用,其是指在单个物理机器上执行两个或多个虚拟机。50M. Gribaudo等人/理论计算机科学电子笔记337(2018)45Uλ=U.λ(i+1),λ(i+1),n(i)+ 1,m(i+1),eye(n(i)+1)ΣM有.基本上,应用利用率定律,它确定初始配置能够服务的最大工作负载(λ(0)),然后它创建虚拟机数量n=Nms的配置,即每个MS作为单个实例运行,并分配在不同的VM上。算法1autoScalingOneMsPerVM.init(D,Nms,Umax)(0)1:UUmax;maxDk1≤k≤Nms2:返回C0=.0,λ(0),Nms,ones(Nms),eye(Nms)n;算法2描述了如何从配置Ci确定下一个配置Ci+1。额外的参数Umin定义了瓶颈服务器在系统降级到之前的配置之前可以具有的最小利用率。该算法首先确定配置Ci中的瓶颈VMj(第1行);然后它增加相应MS的实例数量(第2行),并利用率定律确定λ(i+1)和λ(i+1)(直线)的新值L U3)。 由于在该策略中,每个MS被分配在新的VM上,因此新的配置将由n(i+1)=n(i)+1和A(i+1)=eye(n(i)+1)表征算法2autoScalingOneMsPerVM.合并(Ci、D、Nms、Umin、Umax)1:j=argmax。Dk;1≤k≤Nms(一)K2:m(i+1)=m(i);m(i+1)=m(i)+ 1;(i+1)JUmaxJ(i+1)Umin3:λU=Max1≤k≤NmsDK(i+1)KLλL=Max1≤k≤Nms;DK(i+1)k;策略B:从每个虚拟机一个MS开始,然后尝试在利用率较低的虚拟机第二策略集具有与第一策略集相同的分配策略(算法1),每个MS一个VM,但它使用整合来限制工作负载增加时对更多VM的请求:仅当所有现有VM饱和时才请求新VM。这在算法3中描述。在这种情况下,需要一个额外的参数UC来控制合并的操作方式。特别是,该过程以这种方式工作:每当MS被复制时,它都会尝试在当前利用率较低的VM上启动它。如果在添加瓶颈MS的新实例之后,VM的利用率仍然低于UC,则实际执行整合。否则,如果具有最小工作负载的机器在启动所考虑的MS的新实例之后将跳转到大于UC的利用率水平,则不执行整合,并且将具有最小工作负载的机器的新实例从所考虑的MS的新实例中移除。M4:returnCi+1=MU..M. Gribaudo等人/理论计算机科学电子笔记337(2018)4551U.Σ.阿·DkJJ.拉瓜jn(i+1.阿·D.阿·DKL(一)KLUΣk=1MMS在新VM上启动。这允许不饱和的虚拟机与整合,并避免可能不断复制MS的Zeno行为,而不会实际增加系统的容量为了确定在配置中复制哪个MS,该算法首先确定使用最多的VMh(第1行),然后确定对节点的工作负载影响最大的MSj(第2行)。然后,它查看放置MSj的副本的最佳候选VMc,作为具有该新复制方案m(i+1)的负载最少的VM(第4行)。只有当选定的VMc在托管MSj之后不会超过UC利用率阈值,并且工作负载导致系统进入配置Ci+1时,才会发生整合,即λ(i)(第5行)。 在这种情况下,VM的数量不会改变,分配矩阵A将对应于VM c上MS j的另一实例的开始的元素a_jc增加一个单位(第6行)。否则,启动新的VM,并且在这个新创建的VM中分配MS j(行8)。在这种情况下,函数add1colA(i)向矩阵A(i)添加一个额外的列。再次将利用率定律应用于在配置C i+1中运行的所有VM来计算工作负载的新限制(第10行)。算法3autoScalingConsMSonVM.consolidation(Ci、D、Nms、Umin、Umax、UC).Nmsa(i)·Dk2:j= argmax1≤k≤Nms(一)kh;(一)K3:m(i+1)=m(i);m(i+1)=m(i)+ 1;.N次aM·Dk4:c= argmin1≤l≤n(i)NMsKCMk=1·Dk(i+1)KDJM;(i)5:如果k=1(i+1)+K(i+1)JλU n(0)4:[h,l]=.h/=l|t/=h,tNMsl:k=1akt Dk≥NMsk=1akh DkNMsk=1akt Dk≥NMsk=1aklDk5:(其中1≤h,l,t≤n);6:A:h=A:h+A:l;A=rem1col(A,l);n=n− 1;7:结束时8:λ(0)UMax1≤l≤n(0)UmaxNMs(一)klkm(i)k=1K9:返回C0=.0,λ(0),n(0),ones(Nms),A;3.2评估自动缩放策略我们已经使用以下参数生成了若干MBSA需求:μ = [5. 100],c = 6,s = 1。5,q=2,β= 1,γ= 25,KS= 4。 用于生成配置集合S的阈值分别为U_min = 0。65,Umax =0。8,且U C= 0。8. 每个MBSA的特征在于不同数量的MS(NMS)和不同的需求向量D.图1显示了对于μ= 10(a)和μ= 50(b)的五个MBSA,不同MS的需求如何变化。可以看出,虽然齐普夫定律使得需求随着MS的id的增加而减少,但是通过设置参数β= 1而产生的随机性并没有使它们成为单调函数。图2示出了对于利用MS的不同平均数量μ = [5.生成的拓扑,处理给定工作负载λ所需的VM数量的演变。100]。为了显示使用相同μ生成的应用程序具有的差异,该图显示了μ=10时的三个不同轨迹。假设MS最初部署在不同的VM上,使得曲线取决于非常小的工作负载的MS的总数相反,随着工作负载的增加,虚拟机的数量往往与系统的总需求成比例,D=MSDi. 由于对于Zipf假设,D作为μ的函数非常缓慢地增加。由于这些原因,=;54M. Gribaudo等人/理论计算机科学电子笔记337(2018)45MBSA 1MBSA 2MBSA 3MBSA 4MBSA 5140 120120100806040201008060402000 2 4 6 8 10 12MS ID。00 10 20 30 40 50MSID。a)b)、Fig. 1. 表征两个生成的MBSA的需求:a)μ= 10,b)μ= 50。在下文中,我们将仅关注分别以μ= 10和μ= 100生成的两个样本MBSA。4003503002502001501005000 50 100 150 200 250 300 350 400 450 500 550[工作]图二.策略A(无整合)所需的VM,作为工作负载的函数,适用于不同的MSμ平均数量。对于μ= 10的情况,显示了三个不同轨迹的值图3和图4比较了三种建议的缩放策略。当工作负载与服务器的容量相比很高,并且需要大量实例来处理请求时,所有策略的行为或多或少都是相同的。相反,当交易量较低时,合并策略相对于非合并策略要有效得多:这在图3b中特别明显,对于μ= 100的情况,以及在图4中提供的考虑NMS= 9的MBSA的缩放中。然而,从图4中可以清楚地看到,只要流量增加一点,这三种策略之间的差异就会变得越来越不明显,并且对于相对较高的工作负载(图3a),不执行整合的策略A的性能甚至比其他一些策略更好MBSA 1MBSA 2MBSA 3MBSA 4MBSA 5需求[ms.]=510(1)10(2)10(3)=2050=100需求[ms.]虚拟机数量M. Gribaudo等人/理论计算机科学电子笔记337(2018)4555MH(一)UU1009080706050403020100答:VM乙:MSC :M S ,C=0.2C :M S ,C:MS,m/z =0.60 50 100 150 200[工作]450400350300250200150100500答:VM乙:MSC :M S ,C=0.2 C :M S ,C:MS,m/z =0.60 100 200 300 400 500[工作](a)(b)图三. 不同缩放策略的比较:a)μ= 10,b)μ= 100。141210864200 5 10 15 20 25[工作]图四、比较NMS=9和轻工作负载的MBSA的不同缩放策略图5研究了不同策略对VM利用率的影响,其中显示了每个VM的最小、平均和最大利用率VMh的利用率是考虑其在可以处理目标工作负载λ的第一配置Ci中的所选VM的总需求并且应用利用率定律来计算的:NMs(一)U(λ)=λakh·Dk,i:λ(i−1)<λ≤λ(i)k=1(二)可以看出,非整合策略(图5a和d)在配置之间提供了更明显的工作负载共享。相反,整合会在最小利用率方面产生很大的变化(图5c和f):A:VMB:MS丙:MS,C=0.2 C :MS ,C:MS,m/z =0.6虚拟机数量虚拟机数量虚拟机数量56M. Gribaudo等人/理论计算机科学电子笔记337(2018)45这是因为当启动新的VM时,通常会为它分配一个MS它已经有大量的副本,因此它只接收少量的请求。但是,由于新引入的虚拟机的目标是托管成为瓶颈的下一个MS的整合副本,因此这几乎可以立即得到纠正对于场景B,整合只发生在初始阶段之后,这种关于最小利用率的现象只在工作负载达到一定水平时发生。总而言之,从前面的分析中我们可以得出结论,当工作负载非常低或MS数量非常高时,最好使用合并策略(策略C)。否则,非整合策略(策略A)在所需的VM方面提供类似的结果,但是在VM的利用率方面提供更均匀的演变,从而导致更可预测的性能。3.3第二步:云资源管理策略在第二步中,考虑可用的云资源及其管理策略。由于成本取决于资源在时间和数量上的使用情况,因此使用中的虚拟机数量是最相关的成本因素。我们的研究范围内有两个主要案例:私有云和公共云。在私有云的情况下,资源由运行应用程序的组织拥有:因此,运行VM的成本不取决于与所使用资源的类型和数量以及根据合同的使用时间相关的费用,而是取决于通过运行托管VM的物理系统而产生的实际费用。因此,成本的最小化与功率节省有关,而不是与VM使用的限制有关相反,在公共云的情况下,根据每个时间计费单位使用的VM数量来标准化成本(例如,一小时):因此,成本的最小化与可能的最小数量的VM的更好使用相关联,但是具有时间计费单位中的资源的最大利用两种不同情况的评估是通过图6和图7所示的FPN模型进行的。第七章案例一:私有云我们将首先考虑私有云的情况(图6)。所考虑的MS的当前工作负载被表示为它必须服务的每秒请求的数量在所提出的模型中,该值对应于放置负载的标记。工作负载会随着时间的推移而变化,可能会增加,也可能会减少:这是通过两个与时间相关的转换来建模的:Increase和Decrease。 在我们的研究中,我们将使它们着火,使位置Load的标记遵循公开可用的工作负载跟踪的波动。标记位置VM表示当前部署的VM数量。让我们称#P为位置P的标记。新资源的获取通过立即转换NewVM来建模:特别地,每当将其连接到Upluid transitionLoad的测试弧检测到工作负载已经超过具有最大MS实例数量的配置Ci的上限阈值λU(#VM)时,它就会触发,并且VM数量n(i)= #VM等于当前运行的VM(连接它以放置VM的测试弧)。在同一M. Gribaudo等人/理论计算机科学电子笔记337(2018)45570.90.80.70.60.50.40.30.20.10A:VM,μ =10分钟Avg.最大0 50 100 150 200[工作]0.90.80.70.60.50.40.30.20.10A:VM,μ =100分钟Avg.最大0 100 200 300 400 500[工作]a)d)、0.90.80.70.60.50.40.30.20.10B:MS,MS =10分钟Avg.最大0 50 100 150 200[工作]0.90.80.70.60.50.40.30.20.10B:MS,MS =100分钟Avg.最大0 100 200 300 400 500[工作]b)e)、0.90.80.70.60.50.40.30.20.10C:MS,ESI =0.4,ESI =10分钟Avg.最大0 50 100 150 200[工作]0.90.80.70.60.50.40.30.20.10C:MS,ESI =0.4,ESI =100分钟Avg.0 100 200 300 400 500[工作]c)f)的图五. VM的平均、最小和最大利用率:a、b、c)μ= 10,d、e、f)μ= 100; a、d)策略A -无整合,b、e)策略B -最初每个MS一个VM,然后整合,c、f)在αVM= 0时开始整合。4、继续整合资源。即时过渡版本对虚拟机的解除配置进行建模,并在检测到工作负载(与禁止器弧连接以放置负载)小于配置C i ′的阈值λL(#VM)时触发,其中ni′=#VM虚拟机,以及MS实例的最少数量(连接以放置VM的测试弧)。更正式地说:Util.Util.Util.Util.Util.Util.58M. Gribaudo等人/理论计算机科学电子笔记337(2018)45ULNewVM启动就绪VM结束TS DeprovChk保留增加负荷减少关闭关闭释放释放图第六章用于描述私有云中的资源调配过程的模型λ U(n)={λ(i)∈ C i|n(i)= n <$n(i)+1 = n(i +1)},(3)λL ( n ) ={λ( i′ ) ∈Ci′|n( i) =n<$n( i′ ) =n( i′-1 ) +1}(4)VM的特征在于启动时间T up和关闭时间T down。在此阶段,VM正在运行,但不能用于服务任何传入流量。由于它们正在运行,它们消耗能量:注意,在它们上面运行的MS的实例被认为是不活动的,并且不与其他实例共享工作负载。启动阶段采用确定性转换模型准备就绪(以点火时间T up为特征)和位置开始。通过确定性转换Off(触发时间T下降,位置SuttingDown)对触发器进行建模。这两种转换都是在有限服务器中进行的,因为可以启动或关闭下,同时。由于私有云中的用户支付运行VM所需的能量,因此相应的策略旨在尽可能晚地启动VM,并尽可能早地关闭它们。还要注意,启动时间的存在可能导致系统不稳定的时刻,即每秒到达的请求数大于系统可以服务的请求数NewVM启动就绪VMs增加负荷减少关闭关闭M. Gribaudo等人/理论计算机科学电子笔记337(2018)4559图第七章用于描述公共云中的资源调配流程的模型60M. Gribaudo等人/理论计算机科学电子笔记337(2018)45案例二:公有云接下来,我们描述使用公共云时的VM配置(图7)。VM的工作负载演变和配置与私有云完全一样(放置负载、启动和VM、转换增加、减少、新VM和就绪)。相反,取消供应考虑了这样的事实,即一旦已经获取了VM,则以时间量化的方式对其进行收费:例如,即使VM仅使用了几分钟,也要按整个小时进行收费因此,一旦启动了VM,就可以使用它来提高应用程序的性能,即使对于支持当前的工作负载来说不是绝对必要如果在此期间工作负载没有增加,则可以在计费周期结束时释放VM该过程由无限服务器确定性转换EndTS建模,其触发时间T bill对应于公共云提供商应用的计费间隔的长度。一旦VM准备就绪,每个Tbill都会被检查是否被保留或释放:transitionEndTS触发并将对应于VM的令牌移动到DeprovChk位置,以检查它是否可以被释放或应该被保留。 如果当前工作负载小于λ L(#VM)(连接到虚拟机放置负载的抑制器弧),则可以释放VM,并立即触发transitionReleased。相反,如果工作负载大于λL(#VM),则立即转换Keep触发(感谢将其连接到Pwuid placeLoad的测试弧)。在这种情况下,令牌会立即返回以放置VM,从而保持已配置VM的数量不变。当一个VM被释放时,一个令牌被移动到ShuttingDown的位置,它在关闭时间内保持不变,关闭时间由transitionOff建模:这种行为与私有云中的行为相同3.4云资源管理策略评估我们现在可以使用前面介绍的模型来评估相关的性能指标。有趣的指标是表征策略的能量成本(私有云)或计费成本特别地,我们提供在Sec中定义的配置集合S={Ci}。3.1定义第3.2节中所述FPN的测试弧和抑制弧三 点三流体转换增加和减少被编程为模拟现实的可变请求流。特别是,他们遵循奥林匹克网站从1998年2月9日到1998年2月16日的流量数据,如[11]所示,并使用适当的常数缩放这种跟踪,使其处于本工作中考虑的MBSA类型的工作负载范围内。 图8示出(on右轴)是在我们的实验中使用的时间T时每秒请求的数量Λ(T)。让我们称#P(T)为地点P在时间T的标记(要么是离散的,要么是离散的)。FPN模型的标记演变为:#负载(T)= Λ(T)(5)我们开始关注图6中建模的私有云案例。 图8还显示了处理所考虑的工作负载所需的VM数量(标记为#VM(T))M. Gribaudo等人/理论计算机科学电子笔记337(2018)4561ΣΣ−NMs(一)当虚拟机的建立和解除配置时间被认为是可忽略的(Tup=Tdown= 0)时。所考虑的MBSA是用3.1中给出的参数和μ= 10生成的。根据3.2中的讨论,策略A使用最多数量的VM,而策略B在请求减少时具有较低的自适应速度。接下来,我们通过设置Tup= 40来负载A:VM2015105B:MSC:MS,ESI =0.42520151050 00 2000 4000 6000 8000 10000时间[分钟]见图8。 从1998年2月9日到2000年2月,1998年第16号文件用作定义可变工作负载(右轴)的指南,以及根据私有云场景中三种考虑的自动扩展场景(左轴)所最小,T下降= 2 h。与普通云解决方案中可能经历的实际持续时间相比,这些值略有扩 大 , 以 强 调 其 效 果 。 不 同 自 动 缩 放 场 景 的 结 果 如 图 9 所 示 , 时 间 范 围T∈[5000, 8000]。称为Target的曲线指的是建立和关闭时间可以忽略的情况(如图8所示)。相反,曲线活动对应于当前运行的VM的数量(#VM(T)),而线 当 前 是 指 当 前 消 耗 能 量 的 VM 的 总 数 ( #Starting ( T ) + #VM ( T ) +#SuttingDown(T))。启动和关闭时间的存在会造成延迟,在某些情况下,这可能会使VM仅在工作负载已经减少之后才可用于支持MS出于这个原因,具有较低滞后的策略,例如策略B,为可变工作负载提供了更好的支持为了进一步研究自动扩展策略以及配置和取消配置时间的影响,我们计算了作为时间函数的平均响应时间。特别地,我们假设MBSA是一个可分离的排队网络,我们计算其平均系统响应时间R(T)为:NMs(一)n(i)akh·Dk(一)R(T)=k=1mk,i=#VM(T)(6)h=11 #荷载(T)akh·Dkm(i)k=1k虚拟机数量[工作]62M. Gribaudo等人/理论计算机科学电子笔记337(2018)45私有云,A:VM,VM =1020151055000 5500 6000 6500 7000 7500 8000时间[分钟]私有云,B:MS,CN =1020151055000 5500 6000 6500 7000 7500 8000时间[分钟]私有云,C:MS,CN =0.4,CN =1020151055000 5500 6000 6500 7000 7500 8000时间[分钟]见图9。 虚拟机启动和关闭时间对活动和当前运行的虚拟机数量的影响, 所考虑的自动缩放场景。其中分子计算每个VM的需求,分母计算1减去其利用率。结果如图10所示。在专有VM上复制每个MS的策略(策略A)是为用户提供最佳响应时间的策略。相反,完全整合策略(策略C)受到较高负载VM的影响,这些VM的性能较差,在某些情况下可能导致系统不稳定(如图中的垂直线所示)。然后,我们专注于功耗,应用[9]中给出的简单规则:PVM=PIdle+UVM·(PMax-PIdle)(7)负载目标当前活动负载目标当前活动负载目标当前活动虚拟机数量虚拟机数量虚拟机数量M. Gribaudo等人/理论计算机科学电子笔记337(2018)4563ΣΣ3025201510500 2000 4000 6000 8000 10000时间[分钟]图10. MBSA在私有云上运行时的响应时间其中VM消耗的功率近似为恒定贡献(P空闲)加上取决于利用率UVM和P最大的项-VM可以要求的最大功率。 在此上下文中,我们设置P Idle= 16。5 W和PMax=34个月。5瓦,我们假设VM启动或关闭需要P空闲瓦,并将MBSA在时间T的功耗P(T)估计为:n(i)Nms(i)P(T)=u·P 空闲+ #负载(T)·(PMax -P空闲 )akh·Dk,m(i)i=#VM(T),h=1k =1k(八)u= #Starting(T)+ #VM(T)+ #SuttingDown(T)结果如图11所示。 有趣的是,对于给定的值, 在P空闲和P最大的情况下,合并情况由于其较高的利用率而相对于非合并策略经历较高的功耗,即使其使用较低数量的VM。76.565.554.543.53答:VMB:MS C:MS,m/z =0.40 2000 4000 6000 8000 10000时间[分钟]图十一岁MBSA在私有云上运行时的功耗最后,我们研究图7中建模的公共云案例。图12显示了支持MBSA所需的VM数量。特别是,曲线Active指的是使用与私有云相同的策略可用的虚拟机数量,而Pay Opt.显示的是可以使用的虚拟机数量,答:VMB:MS C:MS,m/z =0.4响应时间[s.]耗电量[KW.]64M. Gribaudo等人/理论计算机科学电子笔记337(2018)45通过利用通常由提供商应用的基于时隙的计费策略来增加成本。在本研究中,我们设定Tbill= 8 h,再次比云提供商通常使用的略大,以强调其效果。可以看出,在许多情况下,保持VM活动直到下一个计费周期,可以使系统准备好适应新的工作负载波动,并且通常提供比实际需要的资源更多的资源,从而允许提供更好的服务质量。图13显示了必须从提供商处购买的时间(已标识公共云,A:VM,VM =102015105加载目标当前活动支付选项5000 5500 6000 6500 7000 7500 8000时间[分钟]公共云,B:MS,CN =102015105加载目标当前活动支付选项5000 5500 6000 6500 7000 7500 8000时间[分钟]公共云,C:MS,<$=0.4,<$=102015105加载目标当前活动支付选项5000 5500 6000 6500 7000 7500 8000时间[分钟]见图12。L5。(即支付),以提供所需的服务。如果按秒
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功