一种基于动态限速的云应用负载调度方法与流程

文档序号:15455536发布日期:2018-09-15 01:00阅读:201来源:国知局
本发明涉及一种基于动态限速的云应用负载调度方法,属于软件
技术领域
:。
背景技术
::在云计算环境中,云服务提供商为多个客户提供共享的计算、网络和存储资源以最大化资源利用率,降低总体能耗,从而减少数据中心的运营成本,同时保障良好性能,如满足请求处理延迟时间,以提升客户满意度。客户通常定义服务水平目标(slo,servicelevelobject)以描述处理负载的性能要求,比如“80%的请求必须在100毫秒内完成”。那么,需要具有高效的负载调度方法,服务器在满足性能目标的前提下,能够处理多样化的负载。为了应对整合负载所带来的网络拥塞问题,云服务提供者和客户通常会达成限速协议,客户静态设定限速规则,服务提供商则进行相应的优化,以实现性能最大化。当前负载调度方法是,为客户预先保留一定数量的资源,或者以尽最大努力的方式处理负载。silo(keonjang,justinesherry,hiteshballani,andtobymoncaster.2015.silo:predictablemessagelatencyinthecloud.inacmsigcomm.acm,435–448.)设计限速方案以保障网络延迟;pclock(ajaygulati,arifmerchant,andpeterj.varman.2007.pclock:anarrivalcurvebasedapproachforqosguaranteesinsharedstoragesystems.inproceedingsofthe2007acmsigmetricsinternationalconferenceonmeasurementandmodelingofcomputersystems.acm,newyork,ny,usa,13–24.)设计限速方案以保障存储延迟;文献(nohhyunpark,irfanahmad,anddavidj.lilja.2012.romano:autonomousstoragemanagementusingperformancepredictioninmulti-tenantdatacenters.inproceedingsofthethirdacmsymposiumoncloudcomputing.acm,newyork,ny,usa,article21,14pages.)采用性能预测的方法动态调整等待处理的负载。然而,面对大量负载,难以实现通过预留资源来满足处理延迟,尤其是,短期突发性负载会对处理延迟产生显著影响。同时,难以为不同的负载类型设置合理的限速参数。技术实现要素:本发明的目的:面向长时间运行的云应用,在保障处理负载的性能满足slo的约束下,将负载调度并整合到目标服务器,以最小化处理负载的服务器数量。本发明的原理:刻画负载,描述其对处理延迟的影响,通过对存储和网络进行限速,并设置负载的优先级,在满足处理延迟的条件下,自动化的减少服务器数量。本发明技术解决方案:一种基于动态限速的云应用负载调度方法,其特点在于实现步骤如下:(1)生成r-b曲线以描述负载处理速率r与令牌桶容积b之间的关系。当请求到达时,令牌添加到令牌桶中,如果令牌桶中有足够的空间来添加令牌,即不超过令牌桶大小为b,则允许继续处理请求。否则,请求就会排队等待,直到令牌桶中有足够的空间。令牌以速率r不断地从桶中流出,空间逐渐变得可用。对于给定的r值,通过重放具有速率r以及无限大小令牌桶在任意时间点的执行轨迹,计算得到不需要排队的请求数量b。输入r与输出b构成<r,b>元组作为点,连接形成分段r-b曲线。对r值进行标准化处理(例如,网络流量除以网络带宽),那么,r=1.0表示负载占用了所有带宽资源。传输的数据量取决于请求类型(例如,读/写),分别生成不同的r-b曲线;(2)选择限速参数:使用网络微积分方程计算,由于在服务器上排队而导致的处理延迟,对于优先级p的负载,处理延迟的上限为:,其中,<rj,bj>是负载j的限速设置,bj是负载j的令牌桶大小,rj是负载j的处理速率,pj是负载j的优先级,其高于或等于p,slop是与优先级p关联的slo。进而可以得到下式:,使用分段线性凸函数r-b曲线,可以将bi表示为ri的函数,进而利用线性规划方法求解得到每个限速元组<rj,bj>,满足约束条件:,每个负载关联r-b曲线,当新的负载调度到该服务器时,动态重新计算现有负载共享该服务器的限速设置。(3)选择处理负载的服务器:本发明通过线性规划求解,将负载分发给slos能够满足的服务器,采用首先匹配的策略。在通常情况下,大多数服务器几乎都是满载的,所以新负载不能分发给几乎满负载的服务器。因此,本发明提出了快速首次匹配方法,跟踪每个服务器上配置的速率总和,跳过将负载放到接近满负载的服务器,避免了不必要的运行线性规划计算过程。本发明与现有技术相比具有如下优点:(1)能够根据服务的实际资源使用状态,动态调整限速参数,即负载处理速度r和令牌桶容积b;(2)在保障处理负载的性能满足slo的约束下,将负载调度并整合到目标服务器,以最小化处理负载的服务器数量;(3)能够满足在同一台服务器上,不同类型负载对于处理延迟的要求。附图说明图1为云应用负载调度系统架构。具体实施方式以下结合具体实施例和附图对本发明进行详细说明,如图1所示,本发明实施例方法流程:本发明将阿里云弹性块存储云服务作为典型应用场景,客户连接到一个或多个块存储服务器实例,产生网络负载来访问存储在服务器上的数据。负载调度器由五个组件构成:(1)r-b曲线生成器:根据处理负载的历史记录生成r-b曲线,描述负载的存储和网络利用率,并根据客户需求定义slo;(2)部署器:标识可以分发负载的候选服务器;(3)优化器:为每个负载配置<r,b>限速参数,并决定在哪个服务器上放置负载来满足处理延迟要求;(4)延迟检查器:确定负载的候选位置和<r,b>元组是否能够满足负载的slo要求;(5)实施器:配置适当的存储和网络限速,并将负载分配给服务器。请求调度方法的执行流程如下:(1)r-b曲线生成器根据负载类型的历史执行记录生成网络或内存的r-b曲线(即线性分段函数b=f(r)),并将用户定义的负载slo要求,一同发送给部署器;(2)部署器选择可以分发负载的服务器,并生成候选服务器列表,即存在较充足资源的服务器;(3)优化器使用线性规划方法计算服务器上共存的各类负载的<r,b>元组参数,并将计算结果发送给延迟检查器:,其中,<rj,bj>是负载j的限速设置,bj是负载j的令牌桶大小,rj是负载j的处理速率,pj是负载j的优先级,其高于或等于p,slop是与优先级p关联的slo满足约束条件:。(4)延迟检查器检测在候选服务器以及<r,b>元组是否能够满足用户所定义的slo要求,如果能满足则将候选服务器以及<r,b>元组信息发送给实施器,否则重新发回部署器以生成新的方案;(5)实施器将负载发送给选定的候选服务器,并设置<r,b>元组参数。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1