企业应用的无缝缩放的制作方法

文档序号:6484530阅读:108来源:国知局
企业应用的无缝缩放的制作方法
【专利摘要】各种示例性实施方式涉及一种缩放计算系统的资源的方法,该方法包括。该方法可包括:设定用于系统性能的度量的阈值;基于用于所述度量的阈值,确定用于至少一个资源的理想资源负载;在计算系统资源之中分发系统工作负载;以及基于所述系统工作负载、所述理想资源负载和资源的当前数目来调节资源的数目。各种示例性实施方式还涉及一种用于缩放云资源的计算系统。该计算系统可包括:内部资源;负载均衡器;性能监视器;通信模块;作业调度模块;以及控制器。各种示例性实施方式还涉及一种使用资源性能度量来检测资源缩放期间的动态瓶颈的方法和一种使用历史系统性能度量来检测缩放阻塞点的方法。
【专利说明】企业应用的无缝缩放
【技术领域】
[0001]本文公开的各个示例性实施方式总体涉及网络延伸。
【背景技术】
[0002]云计算允许实体租赁并且使用位于诸如互联网的网络上的任何位置处的计算机资源。可根据需要从供应商租赁云资源并且将云资源配置为执行各种服务。可使用虚拟私人网络(VPN)向云资源发送数据以确保数据安全。云供应商可使用虚拟机以向客户提供资源选项中的范围。云计算允许资源灵活性、敏捷性和可扩展性。
[0003]一个当前的云计算模型是Amazon的虚拟私人云(VPC)。VPC允许客户根据需要按小时租赁计算资源。VPC使用虚拟机模型以将实际的计算机资源抽象成弾性计算云(EC2)。客户可租赁具有EC2的虚拟机实例。客户可随着他们的要求变化而改变虚拟机的数目。Amazon通过监视、获取或释放虚拟机来提供用于管理EC2的API。
[0004]希望使用诸如Amazon的VPC的云计算系统的企业具有若干关注。首先,虚拟机的安全是有问题的。VPC客户不知道到云资源的准确配置并且可能不想要在云资源上处理安全数据。其次,因为企业必须对云资源的使用付费,所以企业可能想要在获取VPC中的云资源之前使用其自身的内部计算资源。企业必须能够有效地控制云资源的缩放和云资源与内部资源之间的工作分发。最后,附加的计算资源不一定解决全部的性能问题。
[0005]鉴于以上,将期望提供用于对租赁的云资源的缩放进行控制的系统和方法。具体地,将期望提供相对于内部企业资源来缩放云资源的系统。而且,如果系统优化云资源的使用以避免额外的成本,则是可取的。

【发明内容】

[0006]根据当前用于控制云资源的缩放的系统和方法的需要,给出了各种示例性实施方式的简要概述。在下面的概述中可进行ー些简化和省略,这是为了强调和介绍各种示例性实施方式的ー些方面,但不是为了限制本发明的范围。优选示例性实施方式的详细描述足以允许本领域普通技术人员制造和使用下面部分中的创造性概念。
[0007]各种示例性实施方式涉及ー种缩放计算系统的资源的方法。该方法可包括:设定用于系统性能的第一度量的阈值;在计算系统资源中分发系统工作负载;基于在上ー时间间隔期间系统的性能来測量系统性能的第一度量;比较测量的第一度量与用于第一度量的阈值;基于用于第一度量的阈值来确定用于每个资源的理想资源负载;以及基于所述系统工作负载、用于每个资源的理想资源负载和资源的当前数目来调节资源的数目。调节计算系统资源的数目可包括:通过将所述系统工作负载除以用于每个资源的所述理想资源负载来确定资源的理想数目;通过从所述资源的理想数目减去所述资源的当前数目确定资源中的变化;如果资源中的变化为负,则释放至少ー个资源;以及如果资源中的变化为正,则获取至少ー个附加的资源。该方法还可包括:确定至少ー个系统资源正在坏区中操作;避免获取附加的系统资源;以及根据所述系统工作负载降低服务请求。各种示例性实施方式涉及在机器可读存储介质上编码为指令的、用于缩放计算系统的资源的上述方法。
[0008]各种示例性实施方式涉及ー种用于缩放云资源的计算系统。该计算系统可包括:执行计算任务的内部资源、负载均衡器和缩放云资源的控制器。该负载均衡器可包括:性能监视器,收集包括第一性能度量和用于时间间隔的系统负载的系统性能度量;通信模块,收集包括云资源的数量的信息的云资源信息;以及作业调度模块,将计算任务引向所述内部资源和所述云资源。控制器可基于所述第一性能度量缩放所述云资源并且向所述负载均衡器提供云资源信息。所述控制器可包括:缩放模块,通过将预测的系统负载除以理想资源负载来确定资源的理想数目;以及实例管理器,通过获取或释放云资源来调节系统资源的总数目以与所述资源的理想数目相等。附加地,所述性能监视器可測量各个资源负载和用于每个资源的性能度量并且通过比较用于资源的各个性能度量与基于各个资源负载的容许性能标准来确定每个资源是否在坏区中操作。
[0009]各种示例性实施方式涉及ー种使用内部资源和云资源来识别计算系统中的性能瓶颈的方法。该方法可包括:审查每个资源;基于资源特征和资源负载确定用于资源性能度量的容许值;测量所述资源性能度量;如果所述资源性能度量超过所述容许值,则确定所述资源低效地操作;以及如果至少预定数目的资源低效地操作,则确定所述系统已经到达性能瓶颈。
[0010]各种示例性实施方式涉及ー种使用云资源识别计算系统中的缩放阻塞点的方法。该方法可包括:测量历史系统度量值;基于所述历史系统度量值和资源的数目,估计用于添加附加的资源的系统度量值增益;添加所述附加的云资源;测量实际的系统度量值增益;以及如果所述实际的系统度量值增益小于估计的系统度量值增益的设定百分比,则确定所述计算系统已经到达性能瓶颈。
[0011]应该明显的是,以这种方式,各种示例性实施方式使用于云资源的优化缩放的系统和方法成为可能。具体地,通过测量性能度量和将该度量与阈值进行比较,该方法和系统可使用系统反馈来缩放云资源。而且,该方法和系统还可通过确定资源何时在低于预期效率水平操作来检测动态瓶颈。
【专利附图】

【附图说明】
[0012]參考附图以更好地理解各种示例性实施方式,在附图中:
[0013]图1图示了用于缩放云资源的示例性计算系统的示意图;
[0014]图2图示了基于反馈来缩放云资源的示例性方法;
[0015]图3图示了调节云资源的数目的示例性方法;
[0016]图4图示了确定云资源的理想数目中的变化的示例性方法;
[0017]图5图示了示出资源的示例性响应时间的曲线图;
[0018]图6图示了示出资源的示例性理想负载的曲线图;以及
[0019]图7图示了示出资源的示例性操作区域的曲线图。
【具体实施方式】
[0020]现在參考附图,公开了各种示例性实施方式的宽泛方面,其中在附图中相似的附图标记指代相似的部件或步骤,存在。[0021]图1图示了用于缩放云资源140的示例性计算系统100的示意图。系统100可包括负载均衡器110和控制器120。系统100可连接至内部资源130和云资源140。系统100可接收服务请求并且向内部资源130或云资源140分发请求用于处理。服务请求可依据由系统所有者提供的服务而改变。例如,系统所有者可提供诸如文本、图象、音频、视频和游戏的内容、或者诸如销售、计算和存储的服务、或者在互联网上提供的任何其它内容或服务。服务请求还可包括企业应用程序,在该企业应用程序中请求可从内部企业网络到达。服务请求可被认为是系统工作负载。系统工作负载可通过服务请求的到达率来測量。系统100还可缩放云资源140以有效地管理服务请求负载。
[0022]负载均衡器110可从位于互联网上任何位置处的用户接收服务请求。负载均衡器110可向内部资源130或云资源140分发该服务请求。负载均衡器110还可接收完成的服务请求以返回给请求的用户。服务请求的分发可取决于各种资源的性能。负载均衡器110可监视总体的系统性能以及各个内部资源130和外部资源140的性能。负载均衡器110可向控制器120提供性能数据以帮助确定云资源130的缩放是否必要。负载均衡器110可从控制器120接收关于云资源140的配置和性能信息。负载均衡器110可包括性能监视器112、作业调度器114和通信模块116。
[0023]性能监视器112可包括硬件和/或机器可读存储介质上的、被配置为在处理服务请求中监视系统整体的性能的可执行指令。性能监视器112可使用ー种度量来估计系统是否充分地执行。在各个示例性实施方式中,性能监视器112可计算系统响应时间(从服务请求到达负载均衡器110至响应返回到负载均衡器110)作为用于測量系统性能的度量。例如,性能监视器可測量某一百分率的服务请求响应时间(诸如例如落入95%的服务请求的响应时间)以提供系统性能的度量。性能监视器112可配置有针对度量的阈值以指示在经过阈值时性能不足。性能监视器112还可测量可适于测量系统性能的其它度量。性能监视器112还可从诸如例如内部资源130、通信模块116和控制器120的其他部件收集测量。
[0024]作业调度器114可包括硬件和/或机器可读存储介质上的、被配置为在内部资源130和云资源140之中分发输入的服务请求的可执行指令。如将在下面更详细描述地,内部资源130可包括若干类型的资源,包括私有资源。同样,云资源140可包括不同类型的资源。作业调度器114可向适当类型的资源分发服务请求以处理该请求。作业调度器114还可在相同类型的资源之中使请求负载均衡。作业调度器114可使用ー种策略来确定在内部资源130与云资源140之间的请求的分配。例如,只要性能度量保持低于阈值就寻求节约成本的策略可更倾向于内部资源而非云资源。备选的示例策略可寻求通过向能够最佳处理请求的资源分配请求来优化度量。ー种用于使请求负载均衡的策略可使用现有技术中已知的用于负载均衡的方法,诸如例如加权轮循、最少连接或最快响应。
[0025]通信模块116可包括硬件和/或机器可读存储介质上的、被配置为与控制器120交互以缩放云资源的可执行指令。通信模块116可向控制器120提供来自性能监视器112的性能度量。通信模块116可被配置有回调函数,如果度量超过阈值则该回调函数报告度量。控制器120可向通信模块116发送在性能监视器112处收集的用于云资源140的性能度量。通信模块116还可从控制器120接收云资源信息,诸如例如用作云资源的机器或虚拟机的数目和特征。通信模块116可向性能监视器112和作业调度器114传递该云资源信息以允许有效的性能測量和请求分发。在各种备选的实施方式中,控制器120可与负载均衡器110集成,在这种情况下通信模块116可以不是必要的。
[0026]控制器120可控制云资源140。控制器120可以是ニ进制反馈控制器、比例控制器(P控制器)、比例积分控制器(PI控制器)、或比例积分微分控制器(PID控制器)。控制器120可基于从通信模块116和云资源140接收的信息确定云资源140的适当缩放。控制器120可通过向云资源140发送适当的请求来释放或获取云资源。控制器120可包括缩放模块122和实例管理器124。
[0027]缩放模块122可包括硬件和/或机器可读存储介质上的、被配置为基于由性能监视器112提供的性能度量确定云资源140的适当数目的可执行指令。缩放模块122可确定云资源的适当数目并且将该数目向实例管理器124传递。缩放模块122可使用性能度量和由性能监视器112提供的其它数据以确定将要被利用的云资源的数目。如下面将关于图4和图7描述的,缩放模块122还可确定系统是否阻塞。如果系统面临除了云资源的缩放之外的动态瓶颈,则系统100可能阻塞。例如,大量的请求可使用非常多的带宽以致于网络约束可限制对去往云资源的服务请求进行缩放的能力。如果性能数据指示至少ー个资源在坏区中操作,则缩放模块122可使用来自性能监视器112和云资源140的信息以确定有动态瓶颈。下面将关于图3更加详细地描述由缩放模块122使用的示例方法。
[0028]实例管理器124可包括硬件和/或机器可读存储介质上的、被配置为控制云资源140以实现由缩放模块124指示的缩放的可执行指令。在各种示例性实施方式中,云资源140设有应用程序编程接ロ(API) ,API允许实例管理器124获取附加的资源或释放不需要的资源。实例管理器124可追踪当前租赁的每个资源并且知道租赁何时将结束。如果有比由缩放模块122指示的资源更多的资源,实例管理器124可标记资源用于释放。实例管理器124可决定是否和何时获取新租赁以实现由缩放模块122指示的云资源的数目。实例管理器124可再激活被标记用于删除的资源而非获取新的资源。实例管理器124还可使用API从云资源140获取云资源信息,并且向缩放模块122和通信模块116传递该信息。在各种备选的实施方式中,云资源140可包括自动缩放器和负载管理器。在这些实施方式中,实例管理器140可配置云资源140自动缩放器或启用/禁止自动缩放器以实现期望数目的云资源。在各种备选的实施方式中,系统100可与云资源的不同供应商交互。在这些实施方式中,可能有多于ー个的实例管理器124以控制不同的云资源140。
[0029]内部资源130可包括由系统所有者拥有和操作的计算机资源。内部资源130可执行各种计算任务,诸如满足服务请求。内部资源130可被划分成多个层。例如,三层系统可包括与用户通信的前端服务器132、实现商业逻辑的应用服务器134、以及数据库服务器136。在各种示例性实施方式中,ー个或多个层可能是私有的。例如,数据库服务器136可能是私有的,因为它们包含在法律上所有者可能不共享的敏感私有信息。将数据库服务器实例化成云资源还可能是昂贵的和耗费时间的。负载均衡器110可避免将用于私有资源的请求复制成云请求。如果请求需要访问私有资源,则负载均衡器110可能总是向内部资源130分配特定的服务请求。
[0030]云资源140可以是由云资源供应商拥有的并且向系统所有者租赁的计算机资源。在各种示例性实施方式中,云资源被组织成虚拟机。系统所有者可租赁虚拟机来仿真内部资源。例如,云服务器142可仿真前端服务器132,并且云服务器144可仿真应用程序服务器134。虽然云资源供应商实际上可以不同地实现虚拟机,但是供应商可保证与仿真的内部资源相同的性能。系统100可把云资源140看作与相应的内部资源130相同。系统100还可认识到云资源140可由于通信延迟而比内部资源130具有更长的响应时间。云资源可根据需要被租赁,但是在虚拟机被实例化时可能需要基本的启动时间。云资源供应商可按小时、实际用量或任何其它计费方法来租赁云资源。
[0031]已经描述了系统100的各部件,将描述示例性实施方式的操作的简要说明。该过程可在相对不忙的状态中开始,在相对不忙的状态中内部资源130能够处理所有的服务请求。在这ー状态中,负载均衡器110可在内部资源130之间分发所有的请求。随着服务请求率的増加,系统性能可能降低,并且性能监视器112可检测到性能度量已经超过阈值。通信模块116可然后通知控制器120性能度量已经超过阈值并且提供其它系统信息。缩放模块122可然后确定需要多少云资源来满足性能度量阈值。实例管理器124可然后与云资源140 (诸如例如云服务器142)通信以获取附加的资源。一旦每个云资源140都是可操作的,实例管理器124可通知通信模块该资源是可用的。作业调度器114可然后将服务请求指定给内部资源130和云资源140 二者。缩放模块122可继续确定需要多少云资源,并且实例管理器124可在必要时添加或释放资源。缩放模块122还可在添加附加的资源之前确定系统100是否阻塞。以这一方式,系统100可缩放云资源以实现期望的性能度量。
[0032]图2图示了基于反馈的缩放云资源140的示例方法200的流程图。该方法200可由系统100的部件执行。该系统100可重复执行该方法200以便连续调节云资源140的数目。该系统100可在固定的时间间隔期间执行该方法200。在各种示例性实施方式中,时间间隔可以是10秒,但是可选择任何的时间间隔。
[0033]该方法200可在步骤205中开始并且进行到步骤210,在步骤210中系统100可确定是否配置系统100。如果正在首次执行方法200,则系统100可决定执行配置并且该方法可进行到步骤215。如果系统100已经被配置,则该方法可进行到步骤220。
[0034]在步骤215中,系统100可设定各种阈值。例如,性能监视器112可设定用于系统响应时间的阈值。这ー度量可代表用于处理服务请求的性能目标。性能监视器112还可配置有用于测量系统性能的时间间隔。系统100还可执行其它的配置任务。例如,实例管理器124可确定在云资源140之中使用哪种虚拟机来仿真每个内部资源130。作业调度器114可用内部资源130的数目来初始化,内部资源130可用于处理服务请求。该方法200可然后进行到步骤220。
[0035]在步骤220中,作业调度器114可在内部资源130和云资源140之中分发输入的服务请求。作业调度器114可实现用于分发服务请求的策略。例如,只要响应时间不超过性能阈值作业调度器114就可更倾向于内部资源130。此策略可使云资源140的使用和成本最小化。内部资源130和云资源140可然后处理服务请求。完成的服务请求可通过负载均衡器110返回。该方法可然后进行到步骤225。
[0036]在步骤225中,性能监视器112可测量系统性能度量,诸如例如系统响应时间。在各种实施方式中,各个服务请求响应时间的95%的測量可用作的系统性能的有效测量。性能监视器112还可测量系统服务请求负载。还可使用其它的百分比或性能度量。该方法可然后进行到步骤230。
[0037]在步骤230中,性能度量可与在步骤215中配置的阈值比较。如果测量的系统度量超过阈值,则该方法200可进行到步骤235。如果测量的系统度量未超过阈值,则系统100可确定资源的调节没有必要,并且该方法可进行到步骤245,在步骤245中该方法結束。
[0038]在步骤235中,缩放模块122可确定用于每个资源满足性能阈值的理想资源负载。如将參考图5和图6进ー步详细描述的,用于每个资源的理想请求负载可根据资源特征和系统负载而改变。用于每个相同类型的资源的理想请求负载可以是相同的。例如,每个前端服务器132可具有相同的理想请求负载。同样地,每个仿真前端服务器132的云服务器142可具有相同的理想请求负载。该方法200可然后进行到步骤240。
[0039]在步骤240中,缩放模块122可确定云资源的正确数目。在控制器120为ニ进制反馈控制器的各种示例性实施方式中,如果所测量的性能度量超过在步骤230中确定的阈值,则缩放模块122可简单地添加设定数目的附加的云资源。备选地,缩放模块122可乘以云资源140的数目用于系统性能中的更快的増加。在控制器120为P控制器的各种示例性实施方式中,缩放模块122可通过将所测量的系统负载除以在步骤235中确定的理想资源负载来确定云资源140的正确数目。在这些实施方式中,云资源中的变化可与超过性能的系统负载的部分成正比。在控制器120为PI控制器的各种示例性实施方式中,缩放模块122可通过在除以理想资源负载之前向所测量的系统负载添加积分分量来确定云资源140的正确数目。积分分量可以是在设定时间间隔上系统负载中的变化的总和。在控制器120为PID控制器的各种实施方式中,缩放模块122还可使用微分分量。下面将关于图3进ー步详细描述缩放模块122的操作。该方法200可然后进行到步骤245。
[0040]在步骤245中,实例管理器124可根据在步骤240中确定的云资源140的数目来调节云资源。实例管理器124可与云资源供应商通信以添加附加的云资源140。在各种实施方式中,实例管理器124还可使用性能监视器112以在添加任何附加的云资源140之前确定系统100是否阻塞。实例管理器124还可标记用于释放的云资源140。下面将关于图3进ー步详细描述实例管理器124的操作。一旦实例管理器124已经调节了资源的数目,则该方法200可进行到步骤250,在步骤250中该方法结束。
[0041]图3图示了确定云资源的理想数目中的变化的示例方法300的流程图。方法300可描述方法200的步骤240期间的系统100的操作。
[0042]方法300可在步骤305开始并且进行到步骤310,在步骤310中性能监视器112可确定当前系统负载。当前系统负载可被測量成在先前时间间隔期间的服务请求的到达率。当前系统负载可包括由内部资源130和云资源140 二者处理的服务请求。备选地,因为内部资源130是固定的,所以可减去用于内部资源130的负载。性能监视器112可经由通信模块116向缩放模块122发送当前系统负载。该方法然后进行到步骤315。
[0043]在步骤315中,缩放模块122可根据积分分量来调节当前负载。积分分量可以是在先前时间间隔上的系统负载中的变化的总和。积分分量可帮助指示系统负载中的趋势。积分分量还可包括加权因子。在诸如控制器120为P控制器的各种示例性实施方式中,步骤315可以是可选的。在各种备选的实施方式中,步骤315还可包括根据微分分量来调节当前负载。该方法可然后进行到步骤320。
[0044]在步骤320中,缩放模块122可确定用于每个服务器的理想负载。如下面将关于图5和图6所描述的,每个资源的理想负载可以是在保持在系统性能度量阈值内时该资源能够处理的最大负载。每个资源的理想负载对包括内部资源130和云资源140的、每个相同类型的资源而言可以是相同的。该方法可然后进行到步骤325。[0045]在步骤325中,缩放模块122可将当前负载除以每个资源的理想负载。该结果可指示处理预期的输入请求负载所需的资源的数目。该方法可然后进行到步骤330,在步骤330中缩放模块122可确定在云资源的数目上所需的变化。缩放模块122可从所需的资源的数目减去内部资源130的数目和云资源140的当前数目。备选地,如果已经减去内部资源上的负载,则缩放模块122可仅减去云资源的当前数目。缩放模块122可向实例管理器124传递云资源中的变化。该方法300可然后进行到步骤335,在步骤335中该方法结束。
[0046]图4图示了用于调节云资源的数目的示例方法400的流程图。该方法400可描述方法200的步骤245期间系统100的操作。该方法400可在步骤405中开始并且进行到步骤410,实例管理器124可确定云资源中的变化是否为正。如果云资源中的变化为正,则方法400可进行到步骤415。如果云资源中的变化为负,则方法400可进行到步骤440。
[0047]在步骤415中,实例管理器124可使用性能监视器112以在添加附加的云资源之前确定系统是否阻塞。如下面将关于图7进ー步详细描述的,如果用于各个资源的系统性能度量大于考虑到系统输入的预期值,则性能监视器112可确定那个资源正在坏区中操作。性能度量中的这种不同可指示资源正在低效地操作。如果性能监视器112确定至少ー个资源在坏区中操作,则它可确定系统阻塞。备选地,性能监视器112可在确定系统阻塞之前要求待在坏区中操作的资源的设定百分比。在各种备选的实施方式中,性能监视器112可通过测量附加资源的呑吐量増益来确定系统是否阻塞。性能监视器112可将测量的呑吐量増益与基于每个资源的历史最大呑吐量估计的增益进行比较。如果测量的呑吐量増益小于估计的呑吐量増益的设定百分比,则性能监视器112可确定系统阻塞。在这些备选的实施方式中,当测量的呑吐量接近基于每个资源的历史最大呑吐量估计的吞吐量时,性能监视器112可确定系统不再阻塞。如果性能监视器112确定系统未阻塞,则该方法400可进行到步骤420。如果性能监视器112确定系统阻塞,则该方法400可进行到步骤430。
[0048]在步骤420中,实例管理器124可激活附加的云资源140。如果任何现有的云资源140被标记用于释放,则实例管理器124可通过对其取消标记来激活该云资源140。如果没有被标记用于释放的云资源140,则实例管理器124可与云资源供应商通信以实例化附加的云资源140。实例管理器124还可从云资源中的变化减一。该方法400可然后进行到步骤 425。
[0049]在步骤425中,实例管理器124可向负载均衡器110指示已经添加附加的云资源。性能监视器110可开始监视新的云资源。作业调度器114可向新的云资源分发服务请求。该方法400可然后回到步骤410以确定是否添加附加的云资源。
[0050]在步骤430中,负载均衡器110可降低过多的服务请求以防止系统阻塞。因为系统100已经确定附加的云资源140不可能改善系统性能度量,所以负载均衡器110可減少现有资源上的服务请求负载。性能监视器112还可确定何种类型的动态瓶颈造成系统100阻塞。例如,如果性能监视器112确定用于私有资源(诸如数据库服务器136)的性能度量超过阈值,则性能监视器112可确定私有资源造成动态瓶颈。作为另ー个示例,如果性能监视器112检测到用于云资源140的响应时间远大于内部资源130的响应时间,则性能监视器112可确定网络拥塞造成动态瓶颈。性能监视器112可向系统管理员报告动态瓶颈。该方法400可然后进行到步骤450,在步骤450中该方法结束。
[0051]在步骤440中,实例管理器124可确定云资源140中的变化是否为负。如果云资源140中的变化为负,则该方法400可进行到步骤445。如果云资源140中的变化不为负,则实例管理器124可以什么也不做。该方法400可进行到步骤450,在步骤450中该方法结束。
[0052]在步骤445中,实例管理器124可标记用于释放的云资源140。实例管理器124可选择接近它们的租赁的结束并且可能完成指定的服务请求的各个云资源140。当它们的租赁到期吋,实例管理器124可释放标记的云资源。该方法400可然后进行到步骤450,在步骤450中该方法结束。
[0053]图5图示了示出资源的示例响应时间的曲线图500。该曲线图500示出了资源的响应时间505随着服务请求的到达率510的增加而增加。在某一点Capi (t) 515,资源不可能处理服务请求的到达率。当该到达率接近Capi (t) 515时,响应时间505显著增加。曲线图500还示出了理想资源请求负载',520如何可被预测为满足给定阈值响应时间ThMsp525。
[0054]图6图示了示出资源的示例理想负载的曲线图600。当系统到达率Asys605増加到特定点之外时,理想资源请求负载入,520減少。这ー效果可由系统100分发大量的服务请求所需的开销解释。动态瓶颈(诸如不可扩展的私有资源)或网络拥塞可添加到响应时间,使得各个资源更难以在阈值响应时间内响应。因此,理想资源请求负载入,520減少以允许资源满足阈值。
[0055]图7图示了示出资源的示例操作区域的曲线图700。该曲线图700可指示考虑到系统输入(诸如例如实际各个资源请求负载入-10和系统到达率Asys605)的容许响应率。如果响应时间在曲线图700之下,则资源可能在好区中操作,则指示资源有效地执行。例如,如果资源在理想资源请求负载入,520操作并且具有与阈值响应时间Th,esp525相等的响应时间,则资源可能在好区的中部中操作。另ー方面,如果响应率在曲线图700之上或者实际各个资源请求负载、-10大于Capi (t) 515,则资源可能在坏区中操作或者低效地执行。每种类型的资源可设置有曲线图700的表达式,诸如例如ー个函数或一列临界点。备选地,曲线图700可由性能监视器112基于测试数据来确定。估计内部资源的云资源140可被指定与它们估计的资源相同的曲线图700。应该明显的是,操作区域可使用度量而非响应时间来确定。对于其它度量(诸如例如资源吞吐量),更高的度量值可能是可取的并且曲线图可由此改变。
[0056]根据以上所述,各种示例性实施方式提供了一种用于缩放云资源的系统和方法。具体地,通过测量性能度量并且将该度量与阈值进行比较,该方法和系统实现用于缩放云资源的反馈控制器。此外,通过基于系统负载和理想资源负载来调节云资源,该调节与负载超过性能的部分成正比。而且,该方法和系统还可通过确定资源何时在坏区中操作来检测动态瓶颈。
[0057]根据上面的描述应该明显的是,本发明的各种示例性实施方式能以硬件和/或固件的方式实现。此外,各种示例性实施方式可实现为在机器可读存储介质上存储的指令,该指令可由至少ー个处理器读取和执行以执行本文详细描述的操作。机器可读存储介质可包括用于以机器(诸如,个人计算机、笔记本电脑、服务器或其它计算设备)可读的形式存储信息的任何结构。因此,机器可读存储介质可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒介、光学存储媒介、闪存设备和类似的存储媒介。
[0058]本领域技术人员应该理解,本文中的任何框图代表实现本发明原理的说明性电路的概念视图。类似地,将理解任何流程图、流程图表、状态变换图、伪码等表示可基本在机器可读媒介中表达并且因此由计算机或处理器执行的各种过程(而不管这些计算机或处理器是否明确不出)。
[0059]虽然已经具体參考各种示例性实施方式的特定的示例性方面详细描述了各种示例性实施方式,但是应该理解本发明能够具有其它实施方式并且可以在各种显而易见的方面修改本发明的细节。如本领域技术人员显而易见的,可保持在本发明的精神和范围内而实现变化和修改。因此,前面的公开、描述和附图仅用于说明性目的并且不以任何形式限制本发明,本发明仅由权利要求限定。
【权利要求】
1.一种缩放计算系统的资源的方法,所述方法包括: 设定用于系统性能的第一度量的阈值; 基于用于所述第一度量的所述阈值,确定用于至少一个资源的至少ー个理想资源负载; 在计算系统资源之中分发系统工作负载;以及 基于所述系统工作负载、所述理想资源负载和资源的当前数目来调节资源的数目。
2.如权利要求1所述的方法,其中调节计算系统资源的所述数目的所述步骤包括: 通过将所述系统工作负载除以所述理想资源负载来确定资源的理想数目; 通过从所述资源的理想数目减去所述资源的当前数目来确定资源中的变化; 如果所述资源中的变化为负,则释放至少ー个资源;以及 如果所述资源中的变化为正,则获取至少ー个附加的资源。
3.如权利要求2所述的方法,其中释放至少ー个资源的所述步骤包括: 标记用于释放的至少ー个资源; 避免向被标记用于释放的所述资源分发工作;以及 当资源的租赁到期时释放所述资源。
4.如权利要求2所述的方法,其中获取至少ー个附加的资源的所述步骤包括: 确定有没有被标记用于释放的至少ー个资源; 如果有被标记用于释放的至少ー个资源,则将所述至少一个资源取消标记并且向所述至少ー个资源分发工作;以及 如果没有被标记用于释放的至少ー个资源,则获取附加的资源。
5.如权利要求1所述的方法,还包括: 通过对于每个资源确定用于所述资源的第一性能度量、确定用于所述资源的实际工作负载、基于所述实际工作负载和系统工作负载将所述性能度量与容许性能标准进行比较,来确定至少ー个系统资源正在坏区中操作; 如果所述第一性能度量超过所述容许性能标准,则确定所述资源正在坏区中操作; 避免获取附加的系统资源;以及 根据所述系统工作负载降低服务请求。
6.如权利要求1所述的方法,其中调节计算系统资源的数目的步骤包括: 通过将所述系统工作负载与积分分量的和除以用于每个资源的所述理想资源负载来确定资源的理想数目;以及 通过从所述资源的理想数目减去所述资源的当前数目来确定资源中的变化,其中所述积分分量是在第二先前时间间隔上的系统工作负载中的所述变化的总和。
7.ー种用于缩放云资源的计算系统,包括: 执行计算任务的内部资源; 负载均衡器,包括:性能监视器,收集包括第一性能度量和用于时间间隔的系统负载的系统性能度量;通信模块,收集包括云资源的数量的云资源信息;以及作业调度模块,将计算任务引向所述内部资源和所述云资源;以及 控制器,基于所述第一性能度量缩放所述云资源并且向所述负载均衡器提供云资源信。
8.如权利要求7所述的系统,其中所述控制器还包括: 缩放模块,通过将预测的系统负载除以理想资源负载来确定资源的理想数目;以及实例管理器,通过获取或释放云资源来调节系统资源的总数目以与所述资源的理想数目相等。
9.ー种使用内部资源和云资源来识别计算系统的性能瓶颈的方法,所述方法包括: 对于每个资源: 基于资源特征和资源负载来确定用于资源性能度量的容许值; 測量所述资源性能度量; 如果所述资源性能度量超过所述容许值,则确定所述资源正在低效地操作;以及 如果至少预定数目的资源正在低效地操作,则确定所述系统已经到达性能瓶颈。
10.ー种使用云资源识别计算系统中的缩放阻塞点的方法,所述方法包括: 测量历史系统度量值; 基于所述历史系统度量值和资源的数目来估计用于添加附加的资源的系统度量值增益; 添加所述附加的云资源 ; 測量实际的系统度量值增益; 如果所述实际的系统度量值增益比所估计的系统度量值增益小于设定百分比,则确定所述计算系统已经到达性能瓶颈。
【文档编号】G06F9/50GK103477323SQ201180067966
【公开日】2013年12月25日 申请日期:2011年12月19日 优先权日:2011年1月5日
【发明者】李立, T·吴 申请人:阿尔卡特朗讯
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1