CN116194889A - 确定应用对系统性能的影响 - Google Patents
确定应用对系统性能的影响 Download PDFInfo
- Publication number
- CN116194889A CN116194889A CN202180064144.1A CN202180064144A CN116194889A CN 116194889 A CN116194889 A CN 116194889A CN 202180064144 A CN202180064144 A CN 202180064144A CN 116194889 A CN116194889 A CN 116194889A
- Authority
- CN
- China
- Prior art keywords
- application
- applications
- health
- impact factor
- waveform
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3428—Benchmarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Operations Research (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种用于确定应用对系统性能的影响的计算机实现的方法,包括:针对正在计算系统上执行的若干应用,由处理器在多个时间段期间中收集相应的插装数据。所述方法进一步包括:针对所述多个应用中的每个应用,基于所述相应的插装数据确定所述多个时间段中的每个时间段的性能值和鲁棒性值。进一步地,使用每个时间段的性能值和鲁棒性值,生成多个健康波形,其中,生成每个相应的应用的健康波形。该方法还包括由处理器确定第一应用对第二应用的影响因子,第一应用和第二应用正在计算系统上执行。该方法还包括由处理器基于影响因子通过从第一应用释放计算机资源并将计算机资源分配给第二应用来调整计算机资源的分配。
Description
技术领域
本发明总体上涉及计算系统,并且具体地涉及动态地量化应用对正在执行应用的计算系统的性能的影响。
背景技术
监视被捕捉用于计算系统的实时分析的参数的常规监视系统可以评估实时或近实时数据,并将那些数据与阈值、限制或其他度量进行比较以确定是否可能存在错误或警报状况。捕获的参数可以包括对机器生成的插装数据的实时分析。当警报被触发时,可向可采取纠正动作的人类管理员进行一些通信。这样的系统往往是反应性的并且能够检测何时已经发生问题。
发明内容
根据本发明的方面,一种用于确定应用对系统性能的影响的计算机实现的方法,包括:针对正在计算系统上执行的若干应用,由处理器在多个时间段期间收集相应的插装数据。所述方法进一步包括:针对所述多个应用中的每个应用,由所述处理器基于所述相应的插装数据确定所述多个时间段中的每个时间段的性能值和鲁棒性值。所述方法进一步包括由所述处理器使用每个时间段的性能值和鲁棒性值为正在执行的每个相应应用生成健康波形。所述方法进一步包括由所述处理器确定第一应用对第二应用的影响因子,所述第一应用和所述第二应用是正在被执行的那些应用。所述方法进一步包括由所述处理器基于所述影响因子通过从所述第一应用释放计算机资源并且将所述计算机资源分配给所述第二应用来调整所述计算机资源的分配。
在本发明的一个或多个实施例中,生成健康波形包括:由所述处理器将每个时间段的性能值和鲁棒性值转换为极坐标,以及由所述处理器将所述多个应用中的每个应用的极坐标变换成相应的健康波形。
在本发明的一个或多个实施例中,通过计算所述第一应用的第一健康波形与所述第二应用的第二健康波形之间的皮尔逊相关系数来确定所述影响因子。
在本发明的一个或多个实施例中,确定所述影响因子进一步包括识别所述第一健康波形和所述第二健康波形中的每一个上的波峰点。
在本发明的一个或多个实施例中,所述影响因子被计算为:其中,E是f1和f2的协方差,f1是第一健康波形,f2是第二健康波形,是f1的均值,/>是f2的均值,/>是f1的标准偏差,以及/>是f2的标准偏差。
在本发明的一个或多个实施例中,所述方法进一步包括:响应于在所述第二应用的执行期间检测到系统故障,响应于所述影响因子超过阈值而存储与所述第一应用相关联的执行记录,以及响应于所述影响因子低于所述阈值而不存储第一应用的所述执行记录。
在本发明的一个或多个实施例中,所述方法进一步包括:响应于在所述第二应用的执行期间检测到系统故障,基于所述影响因子超过阈值的,从所述多个应用的执行记录中仅分析与所述第一应用相关联的执行记录。
根据本发明的另一方面,一种系统包括存储器设备以及与存储器耦合的一个或多个处理单元。所述一个或多个处理单元执行用于确定应用对系统性能的影响的方法。
根据本发明的又一个方面,一种计算机程序产品包括存储设备以及在所述存储设备中存储的一个或多个计算机可执行指令,所述一个或多个计算机可执行指令在由一个或多个处理单元执行时使所述一个或多个处理单元执行用于确定应用对系统性能的影响的方法。
根据本发明的一个或多个实施例,一种计算机实现的方法包括:针对正在计算系统上执行的若干应用,由处理器在多个时间段期间收集相应的插装数据。所述方法进一步包括:针对所述多个应用中的每个应用,由所述处理器基于所述相应的插装数据确定所述多个时间段中的每个时间段的性能值和鲁棒性值。所述方法进一步包括由所述处理器使用每个时间段的性能值和鲁棒性值为正在执行的每个相应应用生成健康波形。所述方法进一步包括由所述处理器确定正在执行的第一应用对第二应用的影响因子。所述方法进一步包括响应于在所述第二应用的执行期间检测到系统故障,由所述处理器基于所述影响因子超过阈值,从所述多个应用的执行记录中仅分析与所述第一应用相关联的执行记录。
根据本发明的另一方面,一种计算机实现的方法包括:针对正在计算系统上执行的若干应用,由处理器在多个时间段期间收集相应的插装数据。所述方法进一步包括:针对所述多个应用中的每个应用,由所述处理器基于所述相应的插装数据确定所述多个时间段中的每个时间段的性能值和鲁棒性值。所述方法进一步包括:由所述处理器使用每个时间段的性能值和鲁棒性值,从正在执行的那些健康波形中生成每个相应应用的健康波形。所述方法进一步包括由所述处理器确定第一应用对第二应用的影响因子。所述方法进一步包括响应于在所述第二应用的执行期间检测到系统故障,由所述处理器响应于所述影响因子超过阈值而存储与所述第一应用相关联的执行记录,以及响应于所述影响因子低于所述阈值而不存储所述第一应用的所述执行记录。
通过在此描述的技术实现附加特征和优点。在此详细描述其他实施例和方面。为了更好的理解,参考说明书和附图。
附图说明
在说明书结尾处的权利要求中特别指出并清楚地要求保护被视为本发明的主题。从下面结合附图的详细描述中,前述和其他特征和优点将变得显而易见,其中:
图1描绘了根据本发明的一个或多个实施例的系统的框图;
图2描绘了根据本发明的一个或多个实施例的用于动态地确定应用对系统性能的影响的方法的流程图;
图3描绘了根据本发明的一个或多个实施例的多个应用的性能-鲁棒性数据的示例再现;
图4描绘了根据本发明的一个或多个实施例的极坐标(r,θ)中的性能-鲁棒性曲线的曲线图;
图5描绘了根据本发明的一个或多个实施例的多个应用的健康波形;
图6描绘了根据本发明的一个或多个实施例的用于比较两个健康波形的方法的流程图;
图7描绘了根据本发明的一个或多个实施例的健康波形相对于图5中的曲线图的比较的视觉描绘;
图8描绘了根据本发明的一个或多个实施例的在应用对之间计算的影响因子;
图9描绘了根据本发明的一个或多个实施例的用于诊断系统故障的方法的流程图;
图10描绘了根据实施例的计算机系统;
图11描述了根据本发明的一个或多个实施例的云计算环境;以及
图12描绘了根据本发明的一个或多个实施例的抽象模型层。
应注意,本文中的附图可能不是按比例的。在附图和所公开的实施例的以下详细描述中,附图中示出的各种元件设置有两位、三位或四位参考标号。在大多数情况下,每个附图标记的最左边数字对应于首先示出其元件的附图。
具体实施方式
本发明的实施例促进基于计算系统的一个或多个性能参数的增量性能变化对在计算系统中执行的应用的交互影响的定量分析和测量。性能参数可以包括对计算系统的操作进行量化的插装数据(instrumentation data)。例如,系统管理设施(SMF)是用于大型计算机的IBM的的组件,其提供用于将活动的记录写出到文件或数据集的标准化方法。SMF提供在IBM大型机操作系统上运行的基线活动的插装,包括诸如输入/输出(I/O)、网络活动、软件使用、错误条件和处理器利用之类的活动。SMF形成许多监控和自动化工具的基础。应当理解,本发明的实施例不限于SMF或/>而是可以使用任何技术来捕获具有计算系统的性能参数的执行记录,并且可以如本文所描述地分析那些性能参数以改善计算系统的性能。在本发明的一个或多个实施例中,可以实时地分析执行记录。替换地或附加地,本发明的一个或多个实施例有助于确定哪些执行记录将被存储(和/或哪些记录将不被存储)以减少所存储的数据量,以及减少分析这样的数据所需的时间和其他资源。进一步,在本发明的一个或多个实施例中,在已经存储了执行记录之后,离线分析执行记录。
与分析计算系统的性能数据(特别是实时地)相关联的技术挑战包括分析大量这样的性能数据。例如,对于正在执行的每个应用,性能数据可以包括参数,诸如存储器使用、存储使用、分页、处理器使用百分比、处理器使用时间、输入/输出度量、网络使用、中断使用和指示应用对计算资源的使用的任何其他这样的插装相关的数据。进一步,性能数据还包括在计算系统上并发执行的若干应用(例如,软件程序、进程、守护进程等)的性能参数。所以,确定应用之间的关系也是技术挑战。另外,以若干时间段、以预定频率(诸如每10分钟之后一分钟,或每15分钟之后10秒,或任何其他此类频率)捕获性能数据。替换地或附加地,性能数据可基于事件被捕捉,诸如当应用被启动时或当应用完成执行时或与一个或多个应用的执行有关的任何其他这样的事件。
本发明的实施例通过量化一个应用对在计算系统中并发执行的其他应用的性能的影响来解决这样的技术挑战。进而,本发明的实施例有助于提供改进的技术来定位计算系统中的性能问题的根本原因。例如,当分析性能问题时,分析者可使用影响相关的数据来开始分析在遇到/识别性能问题的时间段期间来自最高影响应用(领先者)的系统性能。进一步,本发明的实施例有助于预测受影响的应用的未来性能。例如,影响应用(领先者)的性能趋势可用于预测受影响应用(跟随者)的性能趋势。此外,本发明的实施例便于更加灵活和高效地监测和预测系统健康。例如,通过促进对时间段的应用影响的判断,系统管理规则不必由分析者或系统程序员预定义。相反,可以动态地执行系统管理,从而提高灵活性。而且,系统的关键性能指标(KPI)可以基于影响相关的数据在时间段期间动态地测量。仅观察影响者比观察所有应用来确定系统的健康更有效。
本发明的各实施例便于判断正在计算机系统上执行的应用之间的影响,并且还便于基于不同时间段期间的增量系统健康变化来分析这样的影响的程度,以量化由各个应用引起的系统的各个健康曲线。
图1描绘了根据本发明的一个或多个实施例的系统100的框图。系统100包括计算机系统101,计算机系统101由系统分析器110针对任何性能相关问题进行监测和分析。应当注意,尽管系统分析器110被描绘为与计算机系统101分开的框,但是在本发明的一个或多个实施例中,系统分析器110可以是计算机系统101本身的一部分。在其他实施例中,系统分析器110可以是与计算机系统101分开的装置。
系统分析器110执行这里描述的一个或多个方法并且促进确定一个或多个应用对系统性能以及对正在计算机系统101中执行的其他应用的影响。在本发明的一个或多个实施例中,系统分析器110可以调整计算机系统101的一个或多个资源在应用106之间的分配。系统分析器110还可以确定在计算机系统101中执行的那些应用中的哪些应用可存储执行记录。更进一步,在本发明的一个或多个实施例中,系统分析器110确定分析计算系统101的性能的执行记录。在本发明的一个或多个实施例中,系统分析器110使用执行记录诊断计算机系统101的一个或多个问题。
计算机系统101可以是任何类型的计算设备,诸如大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、电话、调制解调器、路由器、或包括硬件和软件的任何其他计算系统。计算机系统101包括一个或多个硬件资源102,诸如处理器、存储器设备、存储盘、通信硬件、图形处理器、数字信号处理器、输入-输出设备、高速缓存存储器设备等。计算机系统101包括一个或多个软件资源104,诸如管理程序、虚拟机、操作系统、数据库系统、电子商务系统、通信系统、人工智能资源等。在一个或多个实施例中,硬件资源102和软件资源104由在计算机系统101上执行的一个或多个应用106访问。硬件资源102和软件资源104经由由计算机系统101提供的相应应用编程接口来访问。
应用106可以包括但不限于web服务器、数据库访问服务器、web浏览器、游戏、媒体流应用、电子表格应用、字处理应用、数学应用、模拟应用、企业软件应用或任何其他类型的软件应用,这样的软件应用可以用于任何领域,例如但不限于数学模拟、保健、科学/工程研究、零售、金融、商业等。图1描绘了在计算机系统101上同时执行的四个应用:应用-A106A、应用-B 106B、应用-C 106C和应用-D 106D。然而,应当理解,在其他实施例中,任何其他数量的应用可以在计算机系统101上同时执行。在本文中使用涉及上述四个应用的实例描述本发明的实施例,然而,本发明不限于这些示例。
图2描绘了根据本发明的一个或多个实施例的用于动态地确定应用对系统性能的影响的方法200的流程图。方法200包括在框202处在时间段期间针对应用106中的每个应用收集插装数据X={x1,x2,x3,...,xn}。插装数据X包括一个或多个系统参数测量数据xi,诸如处理器使用、存储器使用、存储盘使用、网络使用、操作系统使用、虚拟机使用、管理程序使用和指示任何硬件资源102和/或软件资源104的使用的任何其他参数。
时间段可以是捕获性能数据的预定持续时间或时间点。例如,所收集的性能数据(X)可以是在特定时间点(如10:00AM、或11:30AM、或任何其他此类时间)观察到的数据。这可以是收集性能数据的预定时间点。
可替代地,所收集的插装数据(X)可以是在特定持续时间上(例如,从起始点(例如,10:00AM)至结束点(例如,11:00AM))观察到的性能数据的聚集。可以基于系统100的操作动态地预先确定或确定起始点和结束点。聚集可以是总和、平均值、几何平均值、中值、最大值、最小值、加权平均值、或任何其他此类统计函数或其组合。换言之,从起始点到结束点捕获每个应用106的插装数据,对所捕获的数据执行一个或多个统计操作,并且然后将结果存储为性能数据。在应用106A至106D的示例场景中,收集分别对应于应用106A至106D的四组插装数据XA、XB、XC和XD。
在框204处,针对所收集的插装数据X中的每个插装数据预测性能和鲁棒性(PR)值。在多变量系统中,预测的PR值对不确定性的影响进行量化,并且进而便于做出明智的判决。PR预测还减少了预测的性能与操作性能之间的差距。预测的PR值标识影响计算机系统101的性能的不确定影响参数。预测的PR值可以便于从所收集的插装数据(X)中识别最有影响的不确定性来源。
各种PR建模和预测技术是已知的,并且本发明的实施例可以使用任何已知的PR建模和预测技术。例如,在本发明的实施例中,使用接收应用106中的每个应用的插装数据X的神经网络来确定PR值。在实施例中,使用径向基函数(RBF)来训练神经网络以针对应用中的每个应用提供相应的PR值。因此,分别针对应用106A、106B、106C和106D中的每一个,并且针对在其期间捕获插装数据X的每个时间段,获得PR值。
图3描绘了根据本发明的一个或多个实施例的多个应用的PR数据的示例性再现。在所描绘的曲线图300中,沿Y轴302绘制性能,并且沿X轴304绘制鲁棒性。曲线图300包括分别对应于应用106A-106D的四条曲线306A-306D。每条曲线306A、306B、306C和306D描绘了对应于各个时间段的应用106A、106B、106C和106D的PR值。每个时间段表示为图3中的箭头(矢量)。图3中示出了每个应用的四个时间段,然而,在本发明的其他实施例中,可以分析不同数量的时间段。
再次参考图2中的流程图,在框206处,方法200包括将PR值映射到极坐标(r,θ)。图4描述了根据本发明的一个或多个实施例在极坐标(r,θ)中描绘曲线PR-A306A、PR-B 306B、PR-C 306C、以及PR-D 306D的对应曲线图400。极坐标可以由笛卡尔坐标(P,R)的坐标计算,如:
r=(x2+y2)1/2 (1)
其中,r=从原点到点的距离,x=性能,y=鲁棒性;以及
θ=atan(y/x)
=tan-1(y/x) (2)
其中,θ=相对于零轴线的角度(度)。
进一步,在步骤208,应用106中的每个应用的极坐标被转换成对应的健康波形。健康波形表示在应用106的执行期间的系统性能。系统性能与资源利用率相关联。因此,健康波形表示在由应用106执行期间对计算系统101的资源(102、104)的使用,每个波形表示对应应用的使用。图5描绘了根据本发明的一个或多个实施例的多个应用的健康波形。在曲线图500上以具有Y轴502和X轴504的笛卡尔坐标示出了健康波形506A、506B、506C、506D。PR曲线406A-406D中的每个PR曲线的极坐标使用维度减少函数变换成对应健康波形506A-506D的笛卡尔坐标:
f(r,θ)=rt sin(θt+θ0)+a0 (3)
其中,t表示时间,并且(a0,θ0)是PR曲线406A-406D中的每个向量的起始点。
如图5所示,曲线图500从曲线图400获得,曲线图400又从曲线图300获得。健康波形506A-506D分别对应于PR曲线306A-306D。
参考图2中的流程图,方法200进一步包括,在框210处,比较一对健康波形以检测哪个健康波形是领先的以及哪些是跟随的。
图6描绘了根据本发明的一个或多个实施例的用于比较两个健康波形的方法600的流程图。图7描绘了参考曲线图500进行比较的可视化描述。考虑被比较的健康波形对是HW-A506A和HW-B506B。
在框602处,对于第一健康波形(HW-A506A),识别第一波峰点(t2)和第一波谷点(t1)。通过确定时间点(t1 702)(X轴)识别健康波形中的波谷点,该时间点具有值f(t1=ft1(rt1,θt1)处的值),并且在该时间点至少阈值数量的连续的先前点具有连续减小的值f,并且至少阈值数量的后续点具有连续增大的值f。在图7中,t1 702是HW-A506A上的最小点或波谷点。
通过确定时间点(t2 704)(X轴)识别健康波形中的波峰点,该时间点具有值f(t2=ft2(rt2,θt2)处的值),并且在该时间点至少阈值数量的连续先前点具有连续增大的值f,并且至少阈值数量的后续点具有连续减小的值f。在图7中,t2 704是HW-A 506A上的最大点或波峰点。
用于确定波谷点和波峰点的阈值点数量可以是预定值。可替代地或附加地,可以基于健康波形中的点的数量动态地配置阈值点数量。在本发明的一个或多个实施例中,用于第一健康波形(例如,HW-A 506A)的阈值点数量可以不同于用于第二健康波形(例如,HW-B 506B)的阈值点数量。
进一步地,在框604处,针对正在被比较的第二健康波形检测波谷点和波峰点。在图7中,示出了HW-B 506B上的波谷点t3 706和波峰点t4 708。
在框606处,基于波谷点和波峰点来确定正被比较的两个健康波形之间的相关性。例如,如果t1与t2之间的差在t3与t4之间的差的预定阈值内,则可以认为两个健康波形具有领先者-跟随者关系(leader-follower relationship)。在其他实施例中,可以基于其他技术确定相关性。
在图7中描绘的示例场景中,可见HW A 306A领先HW D 306D,其中两个健康波形具有非常相似的波峰点和波谷点的定时。类似地,HW C 306C紧随HW B 306B健康波形。
在框608处,基于波谷点和波峰点来确定对应于正被比较的两个健康波形的应用之间的影响。例如,通过计算皮尔逊相关系数(PCC)来计算两个相应应用之间的一对影响因子来确定影响:
例如,使用波谷点t1 702,t3 706和波峰点t2 704,t4 708计算应用106A与应用106B之间的影响因子。应当注意,影响因子是定向的,即,应用106A对应用106B的影响因子不同于应用106B对应用106A的影响因子。
图8描绘了根据本发明的一个或多个实施例的在应用对之间计算的影响因子。应当理解,尽管描绘了应用106A、106B和106C之间的影响因子,但可以计算应用106的其他可能组合之间的影响因子。还应理解,所描绘的影响因子是示例值,并且在其他实施例中,影响因子值可以变化。
返回参考图6的流程图,在框610处,使用所计算的影响因子来确定在应用之间是否存在相关性。例如,如果两个应用之间的影响因子中的至少一个低于(或高于)预定阈值,则可以认为在对应于正被比较的健康波形的两个应用之间不存在领先者-跟随者关系。在这种情况下,该方法进一步包括在框612确定正被比较的两个健康波形中是否存在附加的波谷点和波峰点。如果存在附加的波谷和波峰,则可对附加的波谷点和波峰点重复上述操作。如果不存在附加的波谷和波峰,则在方框614将两个应用标记为不具有任何影响关系,并且使用方法200分析其他应用。
可替代地,在框610,如果识别出关系,则在框616存储这两个应用之间的影响因子。
以此方式,确定第一应用(例如,106A)对在计算系统101中同时执行的其他应用的影响。此外,还确定其他应用中的每个应用对第一应用的影响。应用对第二应用的影响由第一应用对第二应用的影响因子表示。第一应用和第二应用之间的关系由两个应用之间的一对影响因子表示。
返回参考图2中的流程图,在框212,使用影响因子来调整来自计算系统101的硬件资源102和软件资源104的分配。例如,从图7中可以看出,应用106A在t2 704使用最大资源,在t1 702使用最小资源,并且应用106B在t4 708、t2 704、t1 702、以及t4 708使用以该顺序发生的最大资源。因此,应用106A正在使用的资源中的至少一些资源可以在t2 704之后被释放(解除分配)并在预期t4708时被分配给应用106B。
替换地或附加地,在基本上时间t4 708,应用106B和应用106C两者具有其相应的波峰点。因而,两个应用基本上同时使用最大资源。因而,可以调整资源分配,使得来自应用106A和106C的资源中的至少一些被释放并且分配给应用106B和106D。还可以执行资源分配的其他调整。
被分配和释放的资源可以包括但不限于存储器、高速缓存、处理器、软件许可证(API)、和任何其他硬件资源102和/或软件资源104。可以动态地(即,在运行时)执行这样的资源分配调整,从而改善应用106的性能,并且进而提高计算系统101的性能。
另外,在系统故障(诸如资源拥塞、死锁或任何其他类型的故障)的情况下,可以使用影响因子来执行诊断。图9描绘了根据本发明的一个或多个实施例的用于诊断系统故障的方法900的流程图。考虑计算系统101在应用106D的执行期间经历故障。如图9所示,方法900包括,在框902,确定应用中经历故障的一组领先应用(leading application),在此情况下是应用106D。该组领先应用仅包括对应用106D具有至少预定阈值的影响因子值的应用。因此,只有当应用106A对应用106D的影响因子至少是预定阈值时,应用106A才在应用106D的一组领先应用中。
在实施例中,在框903,仅来自该组领先应用的应用存储它们的执行记录以用于这样的分析。执行记录可以包括系统转储、执行日志或由应用106提供的任何其他类型的执行记录。因而,通过减少存储它们的执行记录的应用的数量,执行记录需要的时间量以及存储空间的量可以减少,并因此得到改进。
进一步,在框904,仅分析该组领先应用中的应用的执行记录。即使所有应用106存储它们的执行记录,代替分析所有并发执行的应用106的执行,也只分析来自该组领先应用的应用的执行记录。因此,可以提高诊断故障事件的效率。该分析可以手动或自动进行。
本发明的实施例提供用于改善计算系统的性能的实际应用。本发明的实施例通过减少为此类诊断而必须存储和/或分析的数据量来促进改进对计算系统的性能问题的根本原因的诊断。本发明的实施例还便于预测在系统上执行的一个或多个应用的性能,并相应地进一步调整计算资源(硬件和/或软件)的分配。此外,本发明的实施例促进与现有技术相比以更敏捷和高效的方式监测和预测系统健康。基于一个或多个影响因子,本发明的实施例可以有助于识别什么应用要被监视,而不是监视所有应用。进一步,可以基于影响因子按时间段动态地测量系统的KPI,并且仅可以监视与领先应用相关联的KPI,从而减少要被监视的数据量,提高效率。
现在转向图10,根据实施例总体上示出了计算机系统1000。计算机系统1000可以是本发明的一个或多个实施例中的计算系统101。替换地或附加地,计算机系统1000可以是本发明的一个或多个实施例中的系统分析器110。计算机系统1000可以是包括和/或采用利用不同通信技术的任何数量和组合的计算设备和网络的电子计算机框架,如本文所描述的。计算机系统1000可以容易地升级、可扩展和模块化,具有改变成不同服务或独立于其他特征重新配置某些特征的能力。计算机系统1000可以是例如服务器、台式计算机、膝上型计算机、平板计算机或智能电话。在一些示例中,计算机系统1000可以是云计算节点。计算机系统1000可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统1000可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
如图10所示,计算机系统1000具有一个或多个中央处理单元(CPU)1001a、1001b、1001c等。(统称为或一般地称为(一个或多个)处理器1001)。处理器1001可以是单核处理器、多核处理器、计算集群或任意数量的其他配置。处理器1001(也称为处理电路)经由系统总线1002耦合到系统存储器1003和各种其他组件。系统存储器1003可以包括只读存储器(ROM)1004和随机存取存储器(RAM)1005。ROM 1004耦接至系统总线1002并且可以包括控制计算机系统1000的某些基本功能的基本输入/输出系统(BIOS)。RAM是耦合至系统总线1002以供处理器1001使用的读写存储器。系统存储器1003为所述指令在操作期间的操作提供临时存储器空间。系统存储器1003可包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储器系统。
计算机系统1000包括耦合到系统总线1002的输入/输出(I/O)适配器1006和通信适配器1007。I/O适配器1006可以是与硬盘1008和/或任何其他类似组件通信的小型计算机系统接口(SCSI)适配器。I/O适配器1006和硬盘1008在本文中统称为大容量存储装置1010。
在计算机系统1000上执行的软件1011可以存储在大容量存储装置1010中。大容量存储装置1010是可由处理器1001读取的有形存储介质的示例,其中,将软件1011存储为用于由处理器1001执行以使计算机系统1000操作的指令,如下文关于各个附图所描述的。本文中更详细地论述计算机程序产品和此指令的执行的示例。通信适配器1007将系统总线1002与网络1012互连,网络1012可以是外部网络,使得计算机系统1000能够与其他这样的系统通信。在一个实施例中,系统存储器1003和大容量存储装置1010的一部分共同存储操作系统,该操作系统可以是任何适当的操作系统,例如来自IBM公司的z/OS或AIX操作系统,以协调图10中所示的不同组件的功能。
附加输入/输出设备被示为经由显示适配器1015和接口适配器1016连接到系统总线1002。在一个实施例中,适配器1006、1007、1015和1016可以连接到经由中间总线桥(未示出)连接到系统总线1002的一个或多个I/O总线。显示器1019(例如,屏幕或显示监视器)通过显示适配器1015连接到系统总线1002,显示适配器1015可包括用于改善图形密集型应用的性能的图形控制器和视频控制器。键盘1021、鼠标1022、扬声器1023等可经由接口适配器1016互连到系统总线1002,接口适配器1016可包括例如将多个设备适配器集成到单个集成电路中的超级I/O芯片。用于连接诸如硬盘控制器、网络适配器和图形适配器之类的外围设备的合适的I/O总线通常包括诸如外围组件互连(PCI)之类的公共协议。因此,如图10中所配置的,计算机系统1000包括处理器1001形式的处理能力,以及包括系统存储器1003和大容量存储装置1010的存储能力、诸如键盘1021和鼠标1022的输入装置以及包括扬声器1023和显示器1019的输出能力。
在一些实施例中,通信适配器1007可以使用任何合适的接口或协议(诸如互联网小型计算机系统接口等)来发送数据。网络1012可以是蜂窝网络、无线电网络、广域网(WAN)、局域网(LAN)或互联网等。外部计算设备可通过网络1012连接到计算机系统1000。在一些示例中,外部计算设备可以是外部web服务器或云计算节点。
应当理解,图10的框图不旨在指示计算机系统1000将包括图10中所示的所有组件。相反,计算机系统1000可包括图10中未示出的任何合适的更少或附加的组件(例如,附加的存储器组件、嵌入式控制器、模块、附加的网络接口等)。进一步,本文关于计算机系统1000描述的实施例可用任何适当的逻辑来实现,其中在不同实施例中,如本文所提及的逻辑可以包括任何适当的硬件(例如,处理器、嵌入式控制器或专用集成电路等)、软件(例如,应用等)、固件或硬件、软件和固件的任何适当的组合。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的供应商进行人类交互。
广阔的网络接入:在网络上可用的能力,并且通过促进由异构的薄或厚客户机平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。在某种意义上与位置无关,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的供应商和消费者两者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的供应商的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户机界面从各种客户机设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由供应商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
公共云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多云(私有、社区或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,专注于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
现在参见图11,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图11中所示的计算装置54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
现在参见图12,示出了由云计算环境50(图11)提供的一组功能抽象层。应当提前理解的是,在图12中示出的部件、层、以及功能旨在仅是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;事务处理95;以及系统性能分析96。
在本说明书中,术语“计算机程序介质”、“计算机可用介质”、“计算机程序产品”和“计算机可读介质”用于泛指诸如存储器的介质。计算机程序(也称为计算机控制逻辑)被存储在存储器中。这样的计算机程序在运行时使得计算机系统能够执行如本文所讨论的本发明的特征。具体地,计算机程序在运行时使控制器能够执行本文中描述的特征和操作。因此,这种计算机程序可以控制计算机系统的控制器。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体的示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或者凹槽中具有记录在其上的指令的凸起结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本说明书中描述的许多功能单元已经被标记为模块。本发明的实施例适用于各种各样的模块实现方式。例如,模块可以实现为包括定制VLSI电路或门阵列的硬件电路、诸如逻辑芯片、晶体管之类的现成半导体、或其他分立组件。模块也可以在可编程硬件设备(诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等)中实现。
模块也可以在用于由不同类型的处理器执行的软件中实现。所标识的可执行代码模块可例如包括计算机指令的一个或多个物理或逻辑块,其可例如被组织为对象、过程或函数。然而,所标识的模块的可执行文件不需要在物理上定位在一起,而是可以包括存储在不同位置中的不同指令,当逻辑地接合在一起时,所述不同指令包括模块并且实现模块的所述目的。
以下定义和缩写将用于解释权利要求书和说明书。如在此使用的,术语“包括”、“包含”、“具有”、“具有”、“含有”或“含”或其任何其他变体旨在涵盖非排他性的包括。例如,包含一系列要素的组合物、混合物、工艺、方法、制品或设备不必仅限于那些要素,而是可包括未明确列出的或这种组合物、混合物、工艺、方法、制品或设备固有的其他要素。
本文中使用的术语仅用于描述具体实施方式的目的,而并非旨在限制本发明。如本文中使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括(comprises)”和/或“包含(comprising)”时,其指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件部件和/或其组合的存在或添加。
此外,术语“示例性的”及其变形在本文中用于表示“用作示例、例子或例证”。本文中描述为“示例性”的任何实施例或设计不一定被解释为优于或优于其他实施例或设计。术语“至少一个”、“一个或多个”及其变化可以包括大于或等于1的任何整数,即。一个、两个、三个、四个等。术语“多个”及其变化可以包括大于或等于2的任何整数,即,2、3、4、5等。术语“连接”及其变形可包括间接“连接”和直接“连接”。
术语“约”、“基本上”、“大致”及其变型旨在包括与基于提交申请时可用的设备的特定量的测量相关联的误差程度。例如,“约”可以包括给定值的±8%或5%、或2%的范围。
短语“在信号通信中”、“与……通信”、“通信地耦合至”、及其变体在此可以互换地使用,并且可以指使用任何系统、硬件、软件、协议、或格式、使用电信号来交换信息或数据的任何耦合、连接、或交互,而不管交换是以无线方式发生还是通过有线连接发生。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等效物旨在包括用于结合如具体要求保护的其他要求保护的元件来执行所述功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了本发明的描述,但并不旨在是详尽的或限于所公开形式的本发明。在不背离本发明的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择和描述实施例以便最好地解释本发明的原理和实际应用,并且使本领域的其他普通技术人员能够理解本发明的具有适合于预期的特定用途的各种修改的各种实施例。
将理解的是,本领域技术人员现在和将来都可以做出落入所附权利要求书的范围内的不同改进和增强。
Claims (25)
1.一种用于确定应用对系统性能的影响的计算机实现的方法,所述方法包括:
针对正在计算系统上执行的多个应用,由处理器在多个时间段期间收集相应的插装数据;
针对所述多个应用中的每个应用,由所述处理器基于所述相应的插装数据确定所述多个时间段中的每个时间段的性能值和鲁棒性值;
由所述处理器使用每个时间段的性能值和鲁棒性值生成多个健康波形,所述多个健康波形包括来自所述多个应用中的每个相应应用的健康波形;
由所述处理器确定第一应用对第二应用的影响因子,其中,所述第一应用和所述第二应用来自所述多个应用;以及
由所述处理器基于所述影响因子通过从所述第一应用释放计算机资源并且将所述计算机资源分配给所述第二应用来调整所述计算机资源的分配。
2.根据权利要求1所述的计算机实现的方法,其中,生成健康波形包括:
由所述处理器将每个时间段的性能值和鲁棒性值转换为极坐标;
由所述处理器将所述多个应用中的每个应用的极坐标变换成相应的健康波形。
3.根据权利要求1或权利要求2所述的计算机实现的方法,其中,通过计算所述第一应用的第一健康波形与所述第二应用的第二健康波形之间的皮尔逊相关系数来确定所述影响因子。
4.根据权利要求3所述的计算机实现的方法,其中,确定所述影响因子进一步包括识别所述第一健康波形和所述第二健康波形中的每一个上的波峰点。
6.根据任一前述权利要求所述的计算机实现的方法,进一步包括:响应于在所述第二应用的执行期间检测到系统故障,响应于所述影响因子超过阈值而存储与所述第一应用相关联的执行记录,以及响应于所述影响因子低于所述阈值而不存储所述第一应用的所述执行记录。
7.根据权利要求1至5中任一项所述的计算机实现的方法,进一步包括:响应于在所述第二应用的执行期间检测到系统故障,基于所述影响因子超过阈值,从所述多个应用的执行记录中仅分析与所述第一应用相关联的执行记录。
8.一种系统,包括:
存储器设备;以及
与存储器耦合的一个或多个处理单元,所述一个或多个处理单元被配置为执行用于确定应用对系统性能的影响的方法,所述方法包括:
针对正在计算系统上执行的多个应用,由处理器在多个时间段期间收集相应的插装数据;
针对所述多个应用中的每个应用,基于所述相应的插装数据确定所述多个时间段中的每个时间段的性能值和鲁棒性值;
使用每个时间段的性能值和鲁棒性值生成多个健康波形,所述多个健康波形包括来自所述多个应用中的每个相应应用的健康波形;
确定第一应用对第二应用的影响因子,其中,所述第一应用和所述第二应用来自所述多个应用;以及
基于所述影响因子通过从所述第一应用释放计算机资源并且将所述计算机资源分配给所述第二应用来调整所述计算机资源的分配。
9.根据权利要求8所述的系统,其中,生成健康波形包括:
将每个时间段的性能值和鲁棒性值转换为极坐标;
将所述多个应用中的每个应用的极坐标变换成相应的健康波形。
10.根据权利要求8或权利要求9所述的系统,其中,通过计算所述第一应用的第一健康波形与所述第二应用的第二健康波形之间的皮尔逊相关系数来确定所述影响因子。
11.根据权利要求10所述的系统,其中,确定所述影响因子包括识别所述第一健康波形和所述第二健康波形中的每一个上的波峰点。
13.根据权利要求8至12中任一项所述的系统,其中,所述方法进一步包括:响应于在所述第二应用的执行期间检测到系统故障,响应于所述影响因子超过阈值而存储与所述第一应用相关联的执行记录,以及响应于所述影响因子低于所述阈值而不存储所述第一应用的所述执行记录。
14.根据权利要求8至12中任一项所述的系统,其中,所述方法进一步包括:响应于在所述第二应用的执行期间检测到系统故障,基于所述影响因子超过阈值,从所述多个应用的执行记录中仅分析与所述第一应用相关联的执行记录。
15.一种计算机程序产品,包括存储设备以及在所述存储设备中存储的一个或多个计算机可执行指令,所述一个或多个计算机可执行指令在由一个或多个处理单元执行时使所述一个或多个处理单元执行用于确定应用对系统性能的影响的方法,所述方法包括:
针对正在计算系统上执行的多个应用,由处理器在多个时间段期间收集相应的插装数据;
针对所述多个应用中的每个应用,基于所述相应的插装数据确定所述多个时间段中的每个时间段的性能值和鲁棒性值;
使用每个时间段的性能值和鲁棒性值生成多个健康波形,所述多个健康波形包括来自所述多个应用中的每个相应应用的健康波形;
确定第一应用对第二应用的影响因子,其中,所述第一应用和所述第二应用来自所述多个应用;以及
基于所述影响因子通过从所述第一应用释放计算机资源并且将所述计算机资源分配给所述第二应用来调整所述计算机资源的分配。
16.根据权利要求15所述的计算机程序产品,其中,生成健康波形包括:
将每个时间段的性能值和鲁棒性值转换为极坐标;
将所述多个应用中的每个应用的极坐标变换成相应的健康波形。
17.根据权利要求15或权利要求16所述的计算机程序产品,其中,通过计算所述第一应用的第一健康波形与所述第二应用的第二健康波形之间的皮尔逊相关系数来确定影响因子。
18.根据权利要求17所述的计算机程序产品,其中,确定所述影响因子包括识别所述第一健康波形和所述第二健康波形中的每一个上的波峰点。
20.根据权利要求15至19中任一项所述的计算机程序产品,其中,所述方法进一步包括:响应于在所述第二应用的执行期间检测到系统故障,响应于所述影响因子超过阈值而存储与所述第一应用相关联的执行记录,以及响应于所述影响因子低于所述阈值而不存储所述第一应用的所述执行记录。
21.根据权利要求15至19中任一项所述的计算机程序产品,其中,所述方法进一步包括:响应于在所述第二应用的执行期间检测到系统故障,基于所述影响因子超过阈值,从所述多个应用的执行记录中仅分析与所述第一应用相关联的执行记录。
22.一种计算机实现的方法,包括:
针对正在计算系统上执行的多个应用,由处理器在多个时间段期间收集相应的插装数据;
针对所述多个应用中的每个应用,由所述处理器基于所述相应的插装数据确定所述多个时间段中的每个时间段的性能值和鲁棒性值;
由所述处理器使用每个时间段的性能值和鲁棒性值生成多个健康波形,所述多个健康波形包括来自所述多个应用中的每个相应应用的健康波形;
由所述处理器确定第一应用对第二应用的影响因子,其中,所述第一应用和所述第二应用来自所述多个应用;以及
响应于在所述第二应用的执行期间检测到系统故障,由所述处理器基于所述影响因子超过阈值,从所述多个应用的执行记录中仅分析与所述第一应用相关联的执行记录。
24.一种计算机实现的方法,包括:
针对正在计算系统上执行的多个应用,由处理器在多个时间段期间收集相应的插装数据;
针对所述多个应用中的每个应用,由所述处理器基于所述相应的插装数据确定所述多个时间段中的每个时间段的性能值和鲁棒性值;
由所述处理器使用每个时间段的性能值和鲁棒性值生成多个健康波形,所述多个健康波形包括来自所述多个应用中的每个相应应用的健康波形;
由所述处理器确定第一应用对第二应用的影响因子,其中,所述第一应用和所述第二应用来自所述多个应用;以及
响应于在所述第二应用的执行期间检测到系统故障,由所述处理器响应于所述影响因子超过阈值而存储与所述第一应用相关联的执行记录,以及响应于所述影响因子低于所述阈值而不存储所述第一应用的所述执行记录。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/073,504 US11620205B2 (en) | 2020-10-19 | 2020-10-19 | Determining influence of applications on system performance |
US17/073,504 | 2020-10-19 | ||
PCT/IB2021/059239 WO2022084791A1 (en) | 2020-10-19 | 2021-10-08 | Determining influence of applications on system performance |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116194889A true CN116194889A (zh) | 2023-05-30 |
Family
ID=81186452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180064144.1A Pending CN116194889A (zh) | 2020-10-19 | 2021-10-08 | 确定应用对系统性能的影响 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11620205B2 (zh) |
JP (1) | JP2023545316A (zh) |
CN (1) | CN116194889A (zh) |
DE (1) | DE112021004680T5 (zh) |
GB (1) | GB2613754B (zh) |
WO (1) | WO2022084791A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200241999A1 (en) * | 2020-03-25 | 2020-07-30 | Intel Corporation | Performance monitoring for short-lived functions |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050191609A1 (en) | 2004-02-14 | 2005-09-01 | Adaptigroup Llc | Method and system for improving performance on standardized examinations |
US7496667B2 (en) | 2006-01-31 | 2009-02-24 | International Business Machines Corporation | Decentralized application placement for web application middleware |
US8255902B1 (en) | 2008-03-17 | 2012-08-28 | Symantec Corporation | Systems and methods for determining and quantifying the impact of an application on the health of a system |
US7966278B1 (en) | 2008-03-27 | 2011-06-21 | Symantec Corporation | Method for determining the health impact of an application based on information obtained from like-profiled computing systems using clustering |
US8219983B1 (en) | 2008-03-31 | 2012-07-10 | Symantec Corporation | Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system |
US9774517B2 (en) | 2012-11-26 | 2017-09-26 | EMC IP Holding Company LLC | Correlative monitoring, analysis, and control of multi-service, multi-network systems |
US20130283102A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deployment of Profile Models with a Monitoring Agent |
KR20160075739A (ko) | 2013-10-25 | 2016-06-29 | 시소모스 엘.피. | 소셜 데이터 네트워크에 있어서의 인플루언서들을 결정하기 위한 시스템 및 방법 |
US9882836B2 (en) | 2014-06-03 | 2018-01-30 | International Business Machines Corporation | Adjusting cloud resource allocation |
US10073753B2 (en) | 2016-02-14 | 2018-09-11 | Dell Products, Lp | System and method to assess information handling system health and resource utilization |
CN107613107A (zh) | 2017-08-31 | 2018-01-19 | 广东欧珀移动通信有限公司 | 资源配置方法及相关产品 |
CN111107429A (zh) | 2018-10-26 | 2020-05-05 | 深圳Tcl新技术有限公司 | 提高电视系统性能的方法、装置及计算机可读存储介质 |
US11055568B2 (en) * | 2019-07-10 | 2021-07-06 | Vmware, Inc. | Method and system that measure application response time |
US11573823B2 (en) * | 2019-11-18 | 2023-02-07 | International Business Machines Corporation | Parallel execution of applications |
-
2020
- 2020-10-19 US US17/073,504 patent/US11620205B2/en active Active
-
2021
- 2021-10-08 WO PCT/IB2021/059239 patent/WO2022084791A1/en active Application Filing
- 2021-10-08 GB GB2304336.7A patent/GB2613754B/en active Active
- 2021-10-08 JP JP2023522927A patent/JP2023545316A/ja active Pending
- 2021-10-08 CN CN202180064144.1A patent/CN116194889A/zh active Pending
- 2021-10-08 DE DE112021004680.2T patent/DE112021004680T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022084791A1 (en) | 2022-04-28 |
US11620205B2 (en) | 2023-04-04 |
JP2023545316A (ja) | 2023-10-27 |
GB2613754B (en) | 2023-10-18 |
DE112021004680T5 (de) | 2023-08-03 |
GB2613754A (en) | 2023-06-14 |
GB202304336D0 (en) | 2023-05-10 |
US20220121548A1 (en) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10769009B2 (en) | Root cause analysis for correlated development and operations data | |
US9690553B1 (en) | Identifying software dependency relationships | |
US11797416B2 (en) | Detecting performance degradation in remotely deployed applications | |
US11379290B2 (en) | Prioritizing and parallelizing the capture of data for debugging computer programs | |
GB2604973A (en) | Resource allocation based on a contextual scenario | |
US11599404B2 (en) | Correlation-based multi-source problem diagnosis | |
US10554525B2 (en) | Tracking usage of computing resources | |
US20220179764A1 (en) | Multi-source data correlation extraction for anomaly detection | |
US20220292392A1 (en) | Scheduled federated learning for enhanced search | |
US10684939B2 (en) | Using workload profiling and analytics to understand and score complexity of test environments and workloads | |
CN116194889A (zh) | 确定应用对系统性能的影响 | |
US11212162B2 (en) | Bayesian-based event grouping | |
US10394701B2 (en) | Using run time and historical customer profiling and analytics to iteratively design, develop, test, tune, and maintain a customer-like test workload | |
WO2022022572A1 (en) | Calculating developer time during development process | |
US10353795B2 (en) | Standardizing run-time and historical customer and test environments and workloads comparisons using specific sets of key platform data points | |
US11947519B2 (en) | Assigning an anomaly level to a non-instrumented object | |
US20210349705A1 (en) | Performance sensitive storage system upgrade | |
US11093229B2 (en) | Deployment scheduling using failure rate prediction | |
US20180004629A1 (en) | Run time smf/rmf statistical formula methodology for generating enhanced workload data points for customer profiling visualization | |
CN116490871A (zh) | 在数据分析中自动调整数据访问策略 | |
US10621072B2 (en) | Using customer profiling and analytics to more accurately estimate and generate an agile bill of requirements and sprints for customer or test workload port | |
US20230092253A1 (en) | Interpolating performance data | |
US11830113B2 (en) | Single dynamic image based state monitoring | |
US11704461B1 (en) | Dynamic control of coverage by a verification testbench | |
US12021885B2 (en) | Aggregating results from multiple anomaly detection engines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |