CN101233491B - 检测集群环境中动态工作负载调度的不平衡的系统和方法 - Google Patents
检测集群环境中动态工作负载调度的不平衡的系统和方法 Download PDFInfo
- Publication number
- CN101233491B CN101233491B CN200680027592XA CN200680027592A CN101233491B CN 101233491 B CN101233491 B CN 101233491B CN 200680027592X A CN200680027592X A CN 200680027592XA CN 200680027592 A CN200680027592 A CN 200680027592A CN 101233491 B CN101233491 B CN 101233491B
- Authority
- CN
- China
- Prior art keywords
- computer server
- response time
- server
- computer
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了一种用于检测动态调度的计算机服务器集群中的工作负载不平衡的方法、系统和计算机程序产品。一种这样的方法包括以下步骤:监视在每个所述计算机服务器的多个度量;检测在所述多个度量中的改变点;基于所述检测的改变点产生各警报点;将所述各警报点相关;并且基于所述相关的结果,识别一个或多个导致工作负载不平衡的所述计算机服务器。还公开了用于实践上述方法的系统和计算机程序产品。
Description
技术领域
本发明涉及在动态调度的基于集群的环境中对工作负载(workload)不平衡的检测,并且更具体地,涉及对所述不平衡负责的集群成员的识别。
背景技术
在基于集群的应用处理环境(通常称为“应用服务器”)中的工作负载调度,通常基于加权循环(round robin)执行。典型地,当创建该集群时将路由权重静态地分配给各种后端(backend)服务器。在更近的应用服务器中,基于被监视的各运行时度量(metric)动态地分配各路由权重。当分配各路由权重给那些服务器时,动态工作负载调度通常考虑各度量,如特定服务器上的CPU使用和从那些服务器观察的响应时间。
有时,由于在特定服务器上的应用中出现的故障、或由于外部情况(例如,切断(sever)的与数据库的网络连通性),由于没有执行任何真正的工作,受影响的服务器可以开始快速地处理请求。与其它服务器相比,这可能导致来自该服务器的较低响应时间,这可以由工作负载管理器解释为“速度和效率”的标志。相应地,工作负载管理器可以给该受影响的服务器分配较高的路由权重,因此给该服务器指派甚至更多的请求,这将典型地导致越来越多的请求不正确地完成。该情况称为风暴排放沟道(Storm Drain),并且典型地由集群中的服务器之一的故障、而该集群中的其它服务器保持健康而导致。
在名为“Detecting Application-Level Failures in Componet-based InternetServices”、要发表在关于神经网络的IEEE学报:关于通信网络中的自适应学习系统的特刊的论文(特邀论文)(2005年春季)中,作者Emre Kiciman和Armando Fox提出了一种用于检测和定位这样的服务中的异常(anomaly)的方法。该“精确定位(pinpoint)”方法包括三个阶段处理:观察系统、学习其行为中的模式、以及寻找这些行为中的异常。在“观察”阶段期间,捕获由系统服务的每个请求的运行时路径。从各请求的运行时路径提取特定的低级行为,即,“组件交互”和“路径形状”。这些低级行为都不能用于有效地 检测风暴排放沟道情况,因为除了风暴排放沟道情况外,“组件交互”和“路径形状”的改变可能由各种原因(如应用版本改变、请求混合改变等)导致。此外,风暴排放沟道情况可能由后端系统故障导致,该后端系统故障驻留在正被考虑的应用外,因此在该精确定位方法的检测范围外。在这样的情形,在发生风暴排放沟道情况时“组件交互”和“路径形状”不改变,因此不是风暴排放沟道情况的可靠指示符。
在名为“Adaptive Methods for Activity Monitoring of Stream Data”(关于机器学习和应用的2002国际会议(ICMLA’02)的会议纪录,Las Vegas,Nevada,2002年6月24-27日,第197-203页)的论文中,Vasundhara Puttagunta和Konstantinos Kalpakis讨论了用于检测时间序列的改变点以检测感兴趣的事件的方法。在“Knowledge Discovery and Data Mining”,1999,第33-42页中,Guralnik.V.和Srivistava.J.也讨论了时间序列改变点检测技术。这些方法和技术检查包括历史数据的单个时间序列,该时间序列将频繁地和不利地导致风暴排放沟道情况的错误检测。
在名为“DEMON:Mining and monitoring evolving data”(ICDE,2000,第439-448页)的论文中,Ganti.V.、Gehrke.J.和Ramakrishnan.R.提出了一种处理增量数据的通用模型维护算法。该技术能够用作对改变点检测的替代,以检测在给定的单个时间序列数据中的异常。然而,该算法不利地要求在时间序列内的若干模型的维护,并且不能在没有本文献中描述的另外的机制的支持下自己检测风暴排放沟道情况。
在名为“Integrated Event Management:Event Correlation usingDependency Graphs”(关于分布式系统:操作和管理的第九届IFIP/IEEE国际研讨会(DSOM 98)的会议纪录,1998年10月)的论文中,作者Gruschke.B.使用依赖性图,讨论了从系统中的不同软件或硬件组件中发出的不同事件的相关性。该方法不利地要求来自现有硬件和软件基础结构的实际支持,并且随着新的后端组件被增加到该系统,可能要求新的事件产生机制的创建。
名为“System and Method for Monitoring Performance Metrics”的美国专利申请No.20030110007,以McGee.J.等人的名义提交并在2003年6月12日公开。该文献涉及一种用于使不同的性能度量相关以监视基于web的企业系统的性能的系统和方法,并且不贯注于工作负载不平衡的检测。此外,没有公开用于将风暴排放沟道行为与正常性能问题区别的机制。
现有的用于检测工作负载不平衡的方法和系统通常假设:响应时间的增加和吞吐量(throughput)的减少是潜在问题的症状。然而,风暴排放沟道情况展现完全相反的症状(即,减少的响应时间和增加的吞吐量)。因此,需要不同的方法。
存在对能够可靠和精确地检测风暴排放沟道情况的方法和系统的需要,该风暴排放沟道情况由于后端计算机服务器故障而出现。
发明内容
本发明的各方面涉及用于检测动态调度的计算机服务器集群中的工作负载不平衡的方法、系统和计算机程序产品。
本发明的一个方面提供一种用于检测动态调度的计算机服务器集群中的工作负载不平衡的方法。该方法包括以下步骤:监视在每个计算机服务器的请求的累积响应时间以及动态分配给每个计算机服务器的路由权重;检测正在减少的所述累积响应时间、正在增加的所述路由权重中的改变点;基于所述检测的改变点产生各警报点;使所述各警报点相关;以及基于所述相关的结果,识别一个或多个导致工作负载不平衡的所述计算机服务器。
本发明的另一个方面提供一种用于检测动态调度的计算机服务器集群中的工作负载不平衡的系统。该系统包括:多个传感器,用于监视在每个计算机服务器的请求的累积响应时间以及动态分配给每个计算机服务器的路由权重;改变点检测器,用于检测正在减少的所述累积响应时间、正在增加的所述路由权重的改变,并基于所述检测的改变产生各警报点;相关引擎,用于使从所述多个度量产生的所述各警报点相关,并且基于所述相关的结果,识别一个或多个导致工作负载不平衡的所述计算机服务器。
本发明的另一个方面提供一种用于检测动态调度的计算机服务器集群中的工作负载不平衡的系统,该系统包括:存储器单元,用于存储要由处理单元执行的各指令和数据;以及耦合到所述存储器单元的处理单元。所述处理单元被编程以:监视在每个计算机服务器的多个度量;检测所述多个度量的改变点;基于所述检测的改变点产生各警报点;使所述各警报点相关;以及基于所述相关的结果,识别一个或多个导致工作负载不平衡的所述计算机服务器。
本发明的另一个方面提供一种包括计算机可读介质的计算机程序产品,该计算机可读介质包括记录在其中的计算机程序,该计算机程序用于检测动态调度的计算机服务器集群中的工作负载不平衡。该计算机程序产品包括: 用于监视在每个计算机服务器的多个度量的计算机程序代码;用于检测所述多个度量的改变的计算机程序代码;用于基于所述检测的改变点产生各警报点的计算机程序代码;用于使所述各警报点相关的计算机程序代码;以及用于基于所述相关的结果、识别一个或多个导致工作负载不平衡的所述计算机服务器的计算机程序代码。
附图说明
此后参照附图仅以示例的方式描述了少量实施例,在附图中:
图1是集群应用处理环境的示意性方块图;
图2是在集群应用处理环境上操作的风暴排放沟道检测系统的示意性方块图;
图3a和图3b是时间序列数据的图形表示,该时间序列数据用于描述用于检测该时间序列数据的改变点的方法;
图4是用于检测动态调度的计算机服务器集群中的工作负载不平衡的方法的流程图;以及
图5是本发明的实施例可以用其实践的计算机系统的示意性方块图。
具体实施方式
以下描述了方法、系统和计算机程序产品的各实施例,该方法、系统和计算机程序产品用于检测指派给基于集群的应用处理环境中的一个或多个后端服务器的过度或异常量的工作、和/或检测在后端服务器上进行的请求何时被不正确地执行。
图1是集群应用处理环境的示意性方块图,该集群应用处理环境包括:多个节点(典型地,物理机器包括单个节点);在每个各自的节点上的一个或多个后端计算机系统101到105;部署管理器120,其在计算机系统104上执行以为整个集群提供单点管理;工作负载管理器140,其在计算机系统101上执行以将动态路由权重分配给该集群中的不同节点;以及请求路由器130,其在计算机系统105上执行,并且用作根据由工作负载管理器140分配的动态路由权重、将各请求路由到该系统中的应用服务器101、102和103的代理。在图1中,工作负载管理器140配置(collocate)有应用服务器101,并且部署管理器120和请求路由器130分别由计算机系统104和105主管(host), 该计算机系统104和105也不用作应用服务器。然而,如本领域技术人员将意识到的,系统各组件的替代配置和/或位置是可能的。
图2是在集群应用处理环境200(如图1中示出的环境)上操作的风暴排放沟道检测系统的示意性方块图。风暴排放沟道健康传感器210和212监视并采样涉及在集群200的每个后端计算机服务器的请求流的度量和系统度量。风暴排放沟道健康子系统220将试探法(heuristic)和/或各算法应用到监视的数据,以确定监视度量的改变出现的时段(epoch),并且调用这些时段作为潜在的警报点。反应管理器260便利对风暴排放沟道情况的自动化或监督的反应,包括但不限于:(a)停止将各请求路由/调度到受影响的(各)计算机服务器;(b)使受影响的(各)计算机服务器停顿(quiesce);以及(c)复原(rejuvenate)受影响的(各)计算机服务器。风暴排放沟道情况检测系统的各组件还在以下描述。
风暴排放沟道健康传感器
风暴排放沟道健康传感器210和212典型地包括监视和采样以下两种组件:
●用于该集群中的每个服务器的响应时间传感器,其采样观察的平均响应时间给定的时间段。为了改进精确度,能够为服务器上的每个应用创建不同的响应时间传感器,其以应用的粒度(granularity)收集响应时间样本。依赖于服务器内可用的设备(instrumentation),更精细粒度(例如,服务器小程序(servlet)、URL、EBJ等)的响应时间传感器也能够用于更高精确度。
●每节点集群权重传感器,其从集群服务接收该节点的路由权重,该集群服务保持跟踪正分配给不同节点的动态权重。该权重被归一化为百分比。
以周期性间隔(在当前实现中为15秒)收集响应时间和权重样本。
风暴排放沟道健康传感器不限于上述两种类型,并且采样度量(如CPU使用、存储器使用等)的其它传感器,能够增加到该系统以增加整体检测精确度。
风暴排放沟道健康子系统
风暴排放沟道健康子系统220包括改变点检测器230和232、警报过滤器240和242、以及相关引擎250。改变点检测器230和232从各种健康传感 器210和212(即,响应时间和集群权重传感器)接收周期性样本(时间序列数据),并应用算法/试探法以确定在产生时间序列中的样本的过程中存在潜在的“改变点”的各时段。以下描述了本发明各实施例中用于该目的的各种算法。
由改变点检测器230和232检测的潜在的改变点,随后由警报过滤器240和242过滤以排除可能是假警报的那些。更具体地,警报过滤器240和242通过比较给定的度量(响应时间或权重)已经从其过去的均值改变多少,来减少假正值(false positive)。如果改变不是足够显著,则潜在的警报被丢弃为假警报。警报过滤器240和242利用存储在策略库270中的策略,该策略定义为潜在的改变点是有效改变点而不是假警报必须保持真的条件。这样的条件的示例如下:
●(值的改变)>该值的当前均值的百分之X,并且
●(值的改变)>置信系数*各值的标准偏差。
该置信系数能够采用不同的值,例如对于95%置信度1.96(假设正态分布)。
在特定的实施例中,选择以下各值:
●对于响应时间序列X=30%,
●对于权重序列X=20%,以及
●对于响应时间序列和权重序列置信系数=1.1。
相关引擎250由风暴排放沟道健康子系统220使用,以使来自不同流的各种警报点相关,该不同流通过采样不同度量、以及额外地探查各后端计算机服务器以检测它们是否正在正常运行而产生。由警报过滤器240和242验证的各改变点被提供到相关引擎250,用于使从不同度量产生的各警报点相关。从响应时间和权重度量产生的各警报点相关,并且只有两个警报点都出现在给定的时间窗中(例如,2分钟),才由相关引擎250产生风暴排放沟道警报226。风暴排放沟道警报226在特定的环境下产生,并且通知给反应管理器260。
如果使用了应用水平响应时间健康传感器,则额外的逻辑能够用于确定:只有服务器等级响应时间传感器和权重传感器都产生时间窗中的警报点,才产生风暴排放沟道警报226,并且应用等级响应时间传感器对相同的时间窗中的至少一个应用产生警报点。
能够对相关逻辑进行进一步的调整以减少假正值。例如,节点上的CPU使用能够由CPU传感器监视,并且如果该节点上的CPU使用显示突然显著的降低(可能由于服务器上的外部CPU密集任务的完成),该降低将导致该服务器的降低的响应时间和增加的权重,则能够出现警报。只有所有其它条件保持真、并且警报点不由给定的时间窗中的CPU传感器产生,该相关引擎250才可以实现产生风暴排放沟道警报226的逻辑。类似地,除了用于确定整个服务器的平均响应时间的响应时间传感器外,能够使用以相对更精细的粒度(如服务器小程序、EJB、URL)采样响应时间的响应时间传感器。在这样的情况中,只有服务器的平均响应时间出现警报点、并且以更精细粒度操作的响应时间传感器的至少一个也出现警报点(除了路由权重警报点之外),相关引擎250才能够实现产生风暴排放沟道警报226的逻辑。这确保该服务器的平均响应时间没有由于由各服务器服务的各请求的混合的改变(例如,该请求混合从其中大多数请求是用于响应时间非常低的服务器小程序组的混合,改变为其中大多数请求是用于花费更长时间响应的服务器小程序组的混合)而改变。这帮助减少假正值。
反应管理器
反应管理器260将由相关引擎250产生的风暴排放沟道警报260通知负责人(如系统管理员)。对于监督反应的情况,反应管理器260还为系统管理员提供停顿或停止受影响的服务器的选项。对于自动反应的情况,反应管理器260自动使受影响的服务器停顿。
用于确定潜在的“改变点”的方法/算法
方法1:均值差
输入:数字序列
输出:产生数字的处理被改变的第一点
设S(i):=第i个数字,其中i=...,-2,-1,0,1,2,...。
假设S的产生的改变出现在时间0,则需要检测上面序列的改变点实际上是0。
需要识别算子(operator)f(i),使得f(i)和S(i)的卷积的输出O(i)(下面定义)的最大值将包括出现改变的各点。以下讨论的策略或试探法可以用于确定改变是“显著的”还是“在正确方向”。
其中:
并且N是调谐参数。
等式1的输出O(j)表示两个均值的差。第一均值(称为右均值)是j的右边的N个数字(包括第j个数字)的均值,并且第二均值(称为左均值)是j的左边的N个数字的均值。如果j实际上是改变点,则能够显示O(j)在j呈现局部最大值。因此,如果O(j)在j具有局部最大值,则j称为改变点。
在图3a和图3b中显示了前述均值差方法的工作。图3a显示作为时间函数的数字序列S(i)(即,时间序列数据)的图形表示。时间上对应于图3a的图3b,显示了均值改变的点310、312、314和316左边的各点的均值、和均值改变的点310、312、314和316右边的各点的均值之间的差作为时间函数的图形表示。来自图3b的关键观察是在均值改变的点处,比在改变点310、312、314和316邻近的任何其它点处,左边各点的均值和右边各点的均值之间的绝对差320、322、324和326大。因此,如果满足上面的观察,则该点被称为是改变点。该方法要求对应于经验确定均值所需的观察的最大数字的窗口大小(表示为N)。在任何时间点,可以确定μR(该点右边的N个样本的均值)和μL(该点左边的N个样本的均值)。如果该点的绝对差|μR-μL|大于该点“邻近”中的各绝对差,则该点被称为“改变点”。确定“邻近”的一种方法是比如考虑该点紧左边和紧右边的N点,然后执行上面的绝对差分析。
该方法或算法能够用来识别特定方向(即,增加或减少)上的改变点。对于风暴排放沟道检测,风暴排放沟道检测子系统220分开对响应时间和权重样本使用均值差。对于响应时间,在增加方向上检测改变点,而对于权重,在减少方向上检测改变点。
方法2:协方差方法
该方法依赖作为风暴排放沟道情况的结果、响应时间将开始减少而路由权重将很快展现增加的事实。因此,如果为每个服务器确定了两个随机变量(响应时间和路由权重)的协方差,则展现这两个时间序列(即,在风暴排 放沟道条件的情况下增加的权重和减少的响应时间,或正常过载条件下减少的权重和增加的响应时间)的最高发散度、以及还展现相同时间段中权重的最大增加(其在正常过载状况下观察不到)的服务器,应当是经历风暴排放沟道的服务器。
对于M样本到达的给定时间段,为每个服务器计算以下两个统计:
∑(pi-μ)
∑[(pi-μ)*(ri-r)]
其中:μ=服务器的路由权重的连续(running)平均,
pi=该服务器的当前权重样本,
r=对服务器观察的响应时间的连续平均,
ri=该服务器的当前响应时间样本,以及
M=用于计算上面的总和的样本数,
具有max(∑(pi-μ))的服务器将是其权重在过去的时间间隔中以最大速率增加的服务器。这能够由风暴排放沟道或由服务器的健康的真正改进(例如,该服务器上CPU密集任务的完成)而导致。
对于正常操作的服务器,统计min(∑[(pi-μ)*(ri-r)])应当一直是正的,但是对于正经历风暴排放沟道的服务器或过载的服务器将是负的和最小。该统计中的置信等级直接与M的值成比例。
在正常情况下,当服务器的权重增加时,该服务器开始获得更多的请求。相应地,该服务器的响应时间应该高于之前的周期,因为更多的工作负载正被分配给该服务器(两个正数的积是正数)。相反地,如果服务器的权重减少,那么该服务器的响应时间应该减少,因为更少的工作负载正被分配给该服务器(两个负数的积是正数)。当风暴排放沟道情况发生时,即使服务器的权重正在持续增加,服务器的响应时间也减少或在低的值周围保持稳定(正数和负数的积是负数)。这样的负数还能够从故障的服务器(例如过载服务器)得到,该故障的服务器在每个周期中展现越来越高的响应时间,而不管在每个周期中正分配越来越少的权重。
因为服务器不能同时过载和经历健康的改进,所以在给定的时间间隔中出现max(∑(pi-μ))和min(∑[(pi-μ)*(ri-r)])的唯一原因是风暴排放沟道。因此对于M样本到达的给定时间间隔,如果max(∑(pi-μ))和min(∑[(pi-pl)*(ri-rl)])指向相同的服务器,则能够得出该服务器正经历风暴 排放沟道情况。
参照图2描述的每个组件可以实践为计算机软件,该计算机软件可以在计算机系统(如以下参照图5描述的计算机系统500)上执行。
图4显示用于检测动态调度的计算机服务器集群中的工作负载不平衡的方法的流程图。
在步骤410监视在集群环境中的每个计算机服务器的多个度量。该度量优选地包括端到端系统度量,如涉及计算机服务器响应时间和吞吐量的度量。在步骤420,检测该多个度量的改变点。在步骤430,基于步骤420中检测的改变产生警报点。在步骤440,在步骤430中产生的各警报点相关。在步骤445,基于在步骤440中执行的相关的结果,识别一个或多个导致工作负载不平衡的计算机服务器。
可以周期性采样在每个计算机服务器的请求的累积响应时间、以及动态分配给每个计算机服务器的路由权重,并且可以产生代表响应各请求的各计算机服务器的响应时间、以及动态分配给所述各计算机服务器的路由权重的时间序列数据。可以检测正在增加的响应时间序列数据的、以及正在减少的路由权重时间序列数据的改变点,用于产生警报点。在用于识别一个或多个对工作负载不平衡负责的计算机服务器之前,可以在定义的时间窗口中过滤或相关各警报点。反应管理器可以采取自动校正动作,该动作包括但不限于:停止将各请求路由/调度到所述识别的(各)计算机服务器;使所述识别的(各)计算机服务器停顿;以及复原所述识别的(各)计算机服务器。
图5显示计算机系统500的示意性方框图,该计算机系统500能够用于时间在此描述的系统和方法。更特别地,提供该计算机系统500用于执行计算机软件,该软件被编程以帮助执行用于检测在动态调度的计算机服务器集群中的工作负载不平衡的方法。该计算机软件典型地在安装在该计算机系统500上的操作系统(如MS Windows 2000、MS Windows XPTM或LinuxTM)下执行。
该计算机软件包括一组编程的逻辑指令,其可以由计算机系统500执行用于指示计算机系统500执行由那些指令指定的预定功能。该计算机软件可以以任何语言、代码或符号表达或记录,其包括意图直接或在转换为另一种语言、代码或符合后、使得兼容的信息处理系统执行特定功能的一组指令。
该计算机软件程序包括计算机语言的语句(statement)。该计算机程序可 以使用编译器处理为适于由操作系统执行的二进制格式。该计算机程序以涉及各种软件组件或代码的方式编程,该软件组件或代码执行上述方法的特定步骤。
计算机系统500的各部件包括:计算机520、输入设备510和515、以及视频显示器590。计算机520包括:处理单元540、存储器单元550、输入/输出(I/O)接口560、通信接口565、视频接口545、以及存储设备555。计算机520可以包括多于一个的任何前述单元、接口和设备。
处理单元540可以包括一个或多个处理器,该处理器执行操作系统和在操作系统下执行的计算机软件。存储器单元550可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存和/或任何其它本领域已知类型的存储器,用于在处理单元540的指导下使用。
视频接口545连接到视频显示器590,并且提供视频信号用于在视频显示器590上显示。经由输入设备510和515(分别包括键盘和鼠标)提供用于操作计算机520的用户输入。存储设备555可以包括盘驱动器或任何其它适合的非易失性存储介质。
计算机520的每个组件连接到总线530以允许各组件经由总线530相互通信,该总线包括数据、地址和控制总线。
计算机系统400可以经由通信接口465连接到一个或多个其它类似计算机,该通信接口465使用通信通道485连接到表示为因特网的网络480。
该计算机软件程序可以提供为计算机程序产品,并且记录在便携式存储介质上。在这种情况下,该计算机软件程序可由计算机系统500从存储设备555访问。或者,该计算机软件可直接由计算机520从网络580访问。在任一情况下,用户能够使用键盘510和鼠标515与计算机系统500交互,以操作在计算机520上执行的编程的计算机软件。
为了说明的目的,已经描述了计算机系统500。相应地,前述描述涉及特定类型的计算机系统(如个人计算机(PC))的示例,该计算机系统适于实践此前描述的方法和计算机程序产品。计算机编程领域的技术人员将容易地意识到,计算机系统的替代的配置或类型可以用于实践此前描述的方法和计算机程序产品。
在此已经描述了用于检测动态调度的计算机服务器集群中的工作负载不平衡的方法、系统和计算机程序产品的各实施例。通过依赖各高级端到端度 量(如响应时间和路由权重)的组合(通过相关过程),本发明的各实施例能够可靠和精确地检测由于后端计算机服务器故障而出现的风暴排放沟道情况。有利地,这样的高级端到端度量典型地作为系统监视基础结构的部分可用,并且在新的后端组件增加到该系统或环境时不需要修改。
在此描述的各实施例有利地使用在线数据或增量数据样本。相应地,只需要移动窗口中的当前数据。
前面的详细描述仅仅提供示例性实施例,并且意图不在于限制本发明的范围、应用性或配置。而是,各示例性实施例的描述给本领域技术人员提供有用于实现本发明实施例的有效描述。各元件的功能和安排可以进行各种改变而不偏离在权利要求中提出的本发明的精神和范围。
在此所指的特定特征、元件和步骤,在本发明涉及的领域中具有已知的等效体,这样的已知等效体被认为在此并入如同各个被提出一样。此外,关于特定实施例所指的各特征、元件和步骤,可以可选地形成任何其它实施例的部分,除非相反地陈述。
Claims (18)
1.一种用于检测动态调度的计算机服务器集群中的工作负载不平衡的方法,所述方法包括以下步骤:
监视在每个所述计算机服务器的请求的累积响应时间以及动态分配给每个计算机服务器的路由权重;
检测在正在减少的所述累积响应时间、正在增加的所述路由权重中的改变点;
基于所述检测的改变点产生各警报点;
将所述各警报点相关;以及
基于所述相关的结果,识别一个或多个导致工作负载不平衡的所述计算机服务器。
2.根据权利要求1所述的方法,其中所述度量包括端到端系统度量。
3.根据权利要求1所述的方法,其中所述监视在每个所述计算机服务器的多个度量的步骤包括以下步骤:
以周期性的间隔,采样在每个所述计算机服务器的请求的所述累积响应时间;以及
以周期性的间隔,采样动态分配给每个所述计算机服务器的所述路由权重。
4.根据权利要求1所述的方法,还包括以下步骤:
产生代表用于响应各请求的所述各计算机服务器的所述累积响应时间的时间序列数据;以及
产生代表动态分配给所述各计算机服务器的所述路由权重的时间序列数据。
5.根据权利要求4所述的方法,还包括以下步骤:
检测正在减小的所述响应时间序列数据中的改变点;以及
检测正在增加的所述路由权重时间序列数据中的改变点。
6.根据权利要求5所述的方法,还包括过滤所述各警报点的步骤。
7.根据权利要求6所述的方法,其中所述各警报点在定义的时间窗口中相关。
8.根据权利要求1所述的方法,还包括探查所述计算机服务器以确定所述计算机服务器是否正在正确地运行的步骤。
9.根据权利要求1或权利要求7所述的方法,还包括通知系统管理员出现风暴排放沟道情况的步骤。
10.根据权利要求9所述的方法,还包括至少一个从由下述各步骤组成的组中选择的自动步骤:
停止将各请求路由/调度到所述识别的各计算机服务器;使所述识别的各计算机服务器停顿,以及复原所述识别的各计算机服务器。
11.一种用于检测动态调度的计算机服务器集群中的工作负载不平衡的系统,所述系统包括:
多个传感器,用于监视在每个所述计算机服务器的请求的累积响应时间以及动态分配给每个计算机服务器的路由权重;
改变点检测器,用于检测正在减少的所述累积响应时间、正在增加的所述路由权重的改变,并基于所述检测的改变产生各警报点;以及
相关引擎,用于将从所述多个度量产生的所述各警报点相关,并且基于所述相关的结果,识别一个或多个导致工作负载不平衡的所述计算机服务器。
12.根据权利要求11所述的系统,其中所述多个传感器适于:
以周期性的间隔,采样在每个所述计算机服务器的请求的所述累积响应时间;以及
以周期性间隔,采样动态分配给每个所述计算机服务器的所述路由权重。
13.根据权利要求11所述的系统,其中所述多个传感器适于:
产生代表用于响应各请求的所述各计算机服务器的所述累积响应时间的时间序列数据;以及
产生代表动态分配给所述各计算机服务器的所述路由权重的时间序列数据。
14.根据权利要求13所述的系统,其中所述改变点检测器适于:
识别正在减小的所述累积响应时间序列数据中的改变点;以及
识别正在增加的所述路由权重时间序列数据中的改变点。
15.根据权利要求11所述的系统,还包括用于过滤所述各警报点的过滤器。
16.根据权利要求15所述的系统,还包括用于存储过滤规则的策略库,该过滤规则用于使用所述过滤器验证所述各警报点。
17.根据权利要求11所述的系统,还包括反应管理器,用于将检测的风暴排放沟道情况通知负责人。
18.根据权利要求17所述的系统,其中所述反应管理器适于执行从由下述各动作组成的组选择的至少一个动作:
停止将各请求路由/调度到所述识别的各计算机服务器;
使所述识别的各计算机服务器停顿,以及
复原所述识别的各计算机服务器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/181,352 | 2005-07-14 | ||
US11/181,352 US20070016687A1 (en) | 2005-07-14 | 2005-07-14 | System and method for detecting imbalances in dynamic workload scheduling in clustered environments |
PCT/EP2006/064239 WO2007006811A1 (en) | 2005-07-14 | 2006-07-13 | System and method for detecting imbalances in dynamic workload scheduling in clustered environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101233491A CN101233491A (zh) | 2008-07-30 |
CN101233491B true CN101233491B (zh) | 2012-06-27 |
Family
ID=37401550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680027592XA Expired - Fee Related CN101233491B (zh) | 2005-07-14 | 2006-07-13 | 检测集群环境中动态工作负载调度的不平衡的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070016687A1 (zh) |
EP (1) | EP1902365A1 (zh) |
CN (1) | CN101233491B (zh) |
CA (1) | CA2614860A1 (zh) |
IL (1) | IL188756A0 (zh) |
WO (1) | WO2007006811A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080307426A1 (en) * | 2007-06-05 | 2008-12-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic load management in high availability systems |
WO2009117825A2 (en) | 2008-03-27 | 2009-10-01 | Cirba Inc. | System and method for detecting system relationships by correlating system workload activity levels |
EP2350933A4 (en) | 2008-10-16 | 2012-05-23 | Hewlett Packard Development Co | APPLICATION PERFORMANCE ANALYSIS |
US8677191B2 (en) * | 2010-12-13 | 2014-03-18 | Microsoft Corporation | Early detection of failing computers |
US10599545B2 (en) | 2012-04-24 | 2020-03-24 | International Business Machines Corporation | Correlation based adaptive system monitoring |
US8862727B2 (en) | 2012-05-14 | 2014-10-14 | International Business Machines Corporation | Problem determination and diagnosis in shared dynamic clouds |
US10917299B2 (en) | 2012-10-05 | 2021-02-09 | Aaa Internet Publishing Inc. | Method of using a proxy network to normalize online connections by executing computer-executable instructions stored on a non-transitory computer-readable medium |
USRE49392E1 (en) | 2012-10-05 | 2023-01-24 | Aaa Internet Publishing, Inc. | System and method for monitoring network connection quality by executing computer-executable instructions stored on a non-transitory computer-readable medium |
US11050669B2 (en) | 2012-10-05 | 2021-06-29 | Aaa Internet Publishing Inc. | Method and system for managing, optimizing, and routing internet traffic from a local area network (LAN) to internet based servers |
US11838212B2 (en) | 2012-10-05 | 2023-12-05 | Aaa Internet Publishing Inc. | Method and system for managing, optimizing, and routing internet traffic from a local area network (LAN) to internet based servers |
US9571359B2 (en) * | 2012-10-29 | 2017-02-14 | Aaa Internet Publishing Inc. | System and method for monitoring network connection quality by executing computer-executable instructions stored on a non-transitory computer-readable medium |
US9128777B2 (en) | 2013-01-28 | 2015-09-08 | Google Inc. | Operating and maintaining a cluster of machines |
US9166896B2 (en) | 2013-03-15 | 2015-10-20 | International Business Machines Corporation | Session-based server transaction storm controls |
CN103336721B (zh) * | 2013-07-08 | 2017-03-22 | 北京奇虎科技有限公司 | 数据库操作请求分配方法、设备和系统 |
CN105654570A (zh) * | 2015-12-29 | 2016-06-08 | 葛洲坝易普力重庆力能民爆股份有限公司 | 一种基于生物识别技术的在线巡更系统 |
US10506048B2 (en) * | 2016-03-11 | 2019-12-10 | Microsoft Technology Licensing, Llc | Automatic report rate optimization for sensor applications |
CN107871190B (zh) * | 2016-09-23 | 2021-12-14 | 阿里巴巴集团控股有限公司 | 一种业务指标监控方法及装置 |
CN108111326A (zh) * | 2016-11-24 | 2018-06-01 | 中国移动通信有限公司研究院 | 一种抑制告警风暴的方法及装置 |
CN106776024B (zh) * | 2016-12-13 | 2020-07-21 | 苏州浪潮智能科技有限公司 | 一种资源调度装置、系统和方法 |
US10540210B2 (en) | 2016-12-13 | 2020-01-21 | International Business Machines Corporation | Detecting application instances that are operating improperly |
US20220272136A1 (en) * | 2021-02-19 | 2022-08-25 | International Business Machines Corporatlion | Context based content positioning in content delivery networks |
CN113285890B (zh) * | 2021-05-18 | 2022-11-11 | 挂号网(杭州)科技有限公司 | 网关流量的分配方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377907B1 (en) * | 1999-11-17 | 2002-04-23 | Mci Worldcom, Inc. | System and method for collating UNIX performance metrics |
US6643613B2 (en) * | 2001-07-03 | 2003-11-04 | Altaworks Corporation | System and method for monitoring performance metrics |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748098A (en) * | 1993-02-23 | 1998-05-05 | British Telecommunications Public Limited Company | Event correlation |
US5459837A (en) * | 1993-04-21 | 1995-10-17 | Digital Equipment Corporation | System to facilitate efficient utilization of network resources in a computer network |
GB9701866D0 (en) * | 1997-01-30 | 1997-03-19 | British Telecomm | Information retrieval |
US5958009A (en) * | 1997-02-27 | 1999-09-28 | Hewlett-Packard Company | System and method for efficiently monitoring quality of service in a distributed processing environment |
US6119143A (en) * | 1997-05-22 | 2000-09-12 | International Business Machines Corporation | Computer system and method for load balancing with selective control |
US5991705A (en) * | 1997-07-23 | 1999-11-23 | Candle Distributed Solutions, Inc. | End-to-end response time measurement for computer programs using starting and ending queues |
US6182022B1 (en) * | 1998-01-26 | 2001-01-30 | Hewlett-Packard Company | Automated adaptive baselining and thresholding method and system |
US6707795B1 (en) * | 1999-04-26 | 2004-03-16 | Nortel Networks Limited | Alarm correlation method and system |
US6629148B1 (en) * | 1999-08-27 | 2003-09-30 | Platform Computing Corporation | Device and method for balancing loads between different paths in a computer system |
FR2802663B1 (fr) * | 1999-12-21 | 2002-01-25 | Bull Sa | Procede de correlation d'alarmes dans un systeme d'administration hierarchisee |
US6816798B2 (en) * | 2000-12-22 | 2004-11-09 | General Electric Company | Network-based method and system for analyzing and displaying reliability data |
US6782421B1 (en) * | 2001-03-21 | 2004-08-24 | Bellsouth Intellectual Property Corporation | System and method for evaluating the performance of a computer application |
US6966015B2 (en) * | 2001-03-22 | 2005-11-15 | Micromuse, Ltd. | Method and system for reducing false alarms in network fault management systems |
US6738933B2 (en) * | 2001-05-09 | 2004-05-18 | Mercury Interactive Corporation | Root cause analysis of server system performance degradations |
WO2003009140A2 (en) * | 2001-07-20 | 2003-01-30 | Altaworks Corporation | System and method for adaptive threshold determination for performance metrics |
AU2002317618A1 (en) * | 2001-08-06 | 2003-02-24 | Mercury Interactive Corporation | System and method for automated analysis of load testing results |
US7028225B2 (en) * | 2001-09-25 | 2006-04-11 | Path Communications, Inc. | Application manager for monitoring and recovery of software based application processes |
US8635328B2 (en) * | 2002-10-31 | 2014-01-21 | International Business Machines Corporation | Determining time varying thresholds for monitored metrics |
US20040236757A1 (en) * | 2003-05-20 | 2004-11-25 | Caccavale Frank S. | Method and apparatus providing centralized analysis of distributed system performance metrics |
US20050027858A1 (en) * | 2003-07-16 | 2005-02-03 | Premitech A/S | System and method for measuring and monitoring performance in a computer network |
US7953860B2 (en) * | 2003-08-14 | 2011-05-31 | Oracle International Corporation | Fast reorganization of connections in response to an event in a clustered computing system |
US7107187B1 (en) * | 2003-11-12 | 2006-09-12 | Sprint Communications Company L.P. | Method for modeling system performance |
US7493380B2 (en) * | 2003-12-02 | 2009-02-17 | International Business Machines Corporation | Method for determining load balancing weights using application instance topology information |
US20060282534A1 (en) * | 2005-06-09 | 2006-12-14 | International Business Machines Corporation | Application error dampening of dynamic request distribution |
-
2005
- 2005-07-14 US US11/181,352 patent/US20070016687A1/en not_active Abandoned
-
2006
- 2006-07-13 CN CN200680027592XA patent/CN101233491B/zh not_active Expired - Fee Related
- 2006-07-13 CA CA002614860A patent/CA2614860A1/en not_active Abandoned
- 2006-07-13 WO PCT/EP2006/064239 patent/WO2007006811A1/en active Application Filing
- 2006-07-13 EP EP06764165A patent/EP1902365A1/en not_active Withdrawn
-
2008
- 2008-01-14 IL IL188756A patent/IL188756A0/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377907B1 (en) * | 1999-11-17 | 2002-04-23 | Mci Worldcom, Inc. | System and method for collating UNIX performance metrics |
US6643613B2 (en) * | 2001-07-03 | 2003-11-04 | Altaworks Corporation | System and method for monitoring performance metrics |
Non-Patent Citations (4)
Title |
---|
Appleby,K. |
Appleby,K.;Goldszmidt,G..Using automatically derived load thresholds tomanagecompute resources on-demand.Integrated Network Management,2005.IM 2005. 2005 9th IFIP/IEEE International.2005,747-760. * |
Goldszmidt,G..Using automatically derived load thresholds tomanagecompute resources on-demand.Integrated Network Management,2005.IM 2005. 2005 9th IFIP/IEEE International.2005,747-760. |
K.Appleby,S.Fakhouri,L.Fong,G.Goldszmidt,M.Kalantar,S.Krishnakumar,D.P.Pazel,J.pershing,B.Rochwerger.Oceano-SLA Based Management of a Computing Utility.integrated Network Management Proceedings,2001 IEEE.2001,855-868. * |
Also Published As
Publication number | Publication date |
---|---|
IL188756A0 (en) | 2008-08-07 |
CN101233491A (zh) | 2008-07-30 |
US20070016687A1 (en) | 2007-01-18 |
EP1902365A1 (en) | 2008-03-26 |
CA2614860A1 (en) | 2007-01-18 |
WO2007006811A1 (en) | 2007-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101233491B (zh) | 检测集群环境中动态工作负载调度的不平衡的系统和方法 | |
US20190268214A1 (en) | Predicting issues before occurrence, detection, or reporting of the issues | |
US20070192065A1 (en) | Embedded performance forecasting of network devices | |
CN101632093A (zh) | 用于使用统计学分析来管理性能故障的系统和方法 | |
KR20190021560A (ko) | 빅데이터를 활용한 고장예지보전시스템 및 고장예지보전방법 | |
KR20180108446A (ko) | Ict 인프라 관리 시스템 및 이를 이용한 ict 인프라 관리 방법 | |
CN103116531A (zh) | 存储系统故障预测方法和装置 | |
Kavulya et al. | Failure diagnosis of complex systems | |
EP3660612B1 (en) | Method and system for elimination of fault conditions in a technical installation | |
CN103617038A (zh) | 一种分布式应用系统的服务监控方法及装置 | |
Lin et al. | Building accountability middleware to support dependable SOA | |
CN101826036B (zh) | 监视装置、信息处理系统和监视方法 | |
US20160110653A1 (en) | Method and apparatus for predicting a service call for digital printing equipment from a customer | |
Alippi et al. | The (not) far-away path to smart cyber-physical systems: An information-centric framework | |
JP5387779B2 (ja) | 運用管理装置、運用管理方法、及びプログラム | |
Li et al. | Job failure analysis and its implications in a large-scale production grid | |
EP3996348A1 (en) | Predicting performance of a network order fulfillment system | |
CN114461439A (zh) | 一种故障诊断方法、装置、设备及存储介质 | |
WO2008050323A2 (en) | Method for measuring health status of complex systems | |
Ning et al. | Multi-granularity software rejuvenation policy based on continuous time Markov chain | |
US10735246B2 (en) | Monitoring an object to prevent an occurrence of an issue | |
JP7359608B2 (ja) | 情報提示装置、情報提示方法、および情報提示システム | |
JP2005316728A (ja) | 障害解析装置、障害解析方法及び障害解析プログラム | |
JP2001014188A (ja) | 監視システム | |
Salfner et al. | Architecting dependable systems with proactive fault management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120627 Termination date: 20200713 |
|
CF01 | Termination of patent right due to non-payment of annual fee |