动态组件性能监视的制作方法

文档序号:9204222阅读:310来源:国知局
动态组件性能监视的制作方法
【专利说明】动态组件性能监视
[0001]优先权声明
[0002]本申请要求于2012年11月16日提交的序列号为13/678,928的美国专利申请的优先权,通过引用将其全部内容结合于此。
技术领域
[0003]本描述涉及监视动态图和其他动态计算结构的性能度量(performancemetrics)。
【背景技术】
[0004]计算经常可以通过有向图来表示为数据流(被称为“数据流图”),其具有与图中的顶点(vertice)相关联的计算组件,以及与图的链接(弧、边)相对应的组件之间的数据流。在用于执行这种计算的系统的物理实现中,诸如执行适当的程序指令的微处理器的数据处理元件可以被用来实例化组件和数据流。这些组件可以包括数据处理组件,其在一个或多个输入端口处接收数据、处理该数据并从一个或多个输出端口提供数据,以及用作数据流的源或宿(source or sink)的数据集组件。这些组件还可以包括一个或多个数据图,其可以随着数据在例如“动态组件”或“微型图(mic1graph) ”中被执行而动态地被加载。在美国专利 5966072 “Executing Computat1ns Expressed as Graphs (执行被表不为图的计算)”中描述了实现这种基于图的计算的系统,并且例如序列号为13/161010的美国专利申请 “Dynamically Loading Graph-Based Computat1ns (动态地加载基于图的计算)”中示出了用于实现这种基于图的计算中的动态组件的系统。

【发明内容】

[0005]在一个方面,一般而言,用于处理数据的方法包括:通过数据处理系统接收输入数据,所述输入数据由在所述数据处理系统上执行的应用来提供。该方法包括确定所述输入数据的特性。该方法包括由所述应用基于所确定的特性来从多个可用的动态组件中识别动态组件,所述多个可用的动态组件被存储在数据存储系统中。该方法包括使用识别出的动态组件来处理所述输入数据。该方法还包括确定与所述处理相关联一个或多个性能度量。
[0006]在一个方面,一般而言,用于处理数据的方法包括接收作业(work)的多个单元(unit),所述作业的多个单元各自包括一个或多个作业元素。该方法包括确定作业的第一单元的特性。该方法包括由第一数据流图的组件基于所确定的特性来从多个可用数据流图中识别第二数据流图,所述多个可用数据流图被存储在数据存储系统中。该方法包括使用所述第二数据流图来处理所述作业的第一单元。该方法包括确定与所述处理相关联的一个或多个性能度量。
[0007]各方面可以包括以下特征中的一个或多个。所述第二数据流图可以独立于所述第一数据流图而被编译。该方法可以包括在内存数据存储库(in-memory data store)中存储一个或多个性能度量。该方法可以包括将所存储的一个或多个性能度量传送到持久数据存储库。该方法可以将所述一个或多个性能度量与先前获得的性能度量聚合(aggregating)。聚合所述一个或多个性能度量可以包括基于与所述第二数据流图相关联的标识符来聚合所述一个或多个性能度量。聚合所述一个或多个性能度量可以包括基于与所述第一数据流图相关联的标识符来聚合所述一个或多个性能度量。该方法可以包括向用户显示所述一个或多个性能度量。
[0008]各方面可以包括以下优点中的一个或多个。动态组件的性能度量可以被收集和报告。可以减少由监视动态执行的性能导致的延迟。
[0009]从以下详细描述以及从权利要求中,本发明的其他特征和优点将变得明显。
【附图说明】
[0010]图1是用于执行基于图的计算的系统的框图。
[0011]图2示出其中可以收集微型图的性能度量的示例性环境。
[0012]图3是从微型图收集性能度量的流程图。
[0013]图4示出根据微型图标识符来聚合性能度量的示例。
[0014]图5示出其中运行微型图(run-micrograph)组件并行执行的示例环境。
[0015]图6示出“提高信用额度”事务的微型图的示例。
[0016]图7示出系统监视应用的示例用户接口。
[0017]图8示出显示微型图的示例用户接口。
[0018]图9示出显示另外的性能度量的示例用户接口。
[0019]图10是收集性能度量的示例过程的流程图。
【具体实施方式】
[0020]数据流图系统在必须非常快地处理大量数据的地方被使用。对数据流图系统的性能的监视使得用户能够单独地或成组地识别数据流图的如下组件,其能够被改善或者可能正在不当地执行。例如,性能监视使得用户能够识别如下组件,其使用过量的处理器时间,引入延迟,或者容易出现故障。这些组件可以被检查和修改,以便纠正这些缺陷。
[0021]动态地被加载组件(在数据流图执行时被选择和加载的组件)通过在不重新编译现有的图的情况下使能将被引入的新功能,来增强数据流图的功能。然而,对动态地被加载组件的监视引入了另外的复杂情况。
[0022]通常,数据流图的创建者可能不知道后来引入的动态组件的特性,这使得这些组件难以监视。传统上,数据流图不能适当地报告这些动态组件的性能特性。
[0023]同时,动态组件很有可能导致性能问题。例如,动态组件的创建者可能不知道该组件将被加载到的数据流图的构造中的细微之处(nuance)。因此,该动态组件可能执行不必要的操作,可能对数据流图的其余部分的处理或性能产生不利的影响。
[0024]通过扩展数据流图的监视能力以考虑到动态组件,会改善监视数据流图系统的能力。
[0025]图1示出其中可以使用性能监视技术的示例性数据处理系统100。系统100包括数据源102,数据源102可以包括一个或多个数据的来源,例如存储设备或到在线数据流的连接,它们中的每个都可以以各种存储格式(例如,数据库表、电子表格文件、纯文本文件、或被主机(mainframe)使用的原生格式(native format))中的任一个来存储数据。执行环境104包括性能监视模块106和执行模块112。执行环境104可以在适当的操作系统(诸如UNIX操作系统)的控制下,被承载(host)在一个或多个通用目的的计算机上。例如,执行环境104可以包括多节点并行计算环境,其包括使用多个中央处理单元(CPU)(或等同的CPU“核”)的计算系统的配置,这些CPU或者是本地的(例如,多处理器系统,诸如对称多处理器(SMP)计算机),或者是本地分布式的(例如,被耦接为集群或大规模并行处理(MPP)的多个处理器)、或者是远程的、或者是远程分布式的(例如,经由一个或多个局域网(LAN)和/或广域网(WAN)耦合的多个处理器),或它们的任意组合。
[0026]执行模块112从数据源102读取数据。提供数据源102的存储设备可以对执行环境104是本地的,例如被存储在被连接到运行执行环境104的计算机的存储介质(如硬盘驱动器108)上,或者可以对执行环境104是远程的,例如通过远程连接被承载在与运行执行环境104的计算机通信的远程系统(如主机110)。
[0027]执行模块112使用来自数据源102的数据以生成输出记录114,输出记录114存储在执行环境104可访问的数据存储系统116中。数据存储系统116也是开发环境118可访问的。在某些实现中,开发环境118是将应用开发成数据流图的系统,数据流图包括顶点(代表组件或数据集),该顶点之间由有向链接(link)(代表作业元素的流动)来连接。例如,通过引用并入本文的、美国申请公开号2007/0011668,标题为“Managing Parametersfor Graph-Based Applicat1ns (管理用于基于图的应用的参数)”中更详细地描述了这种环境。通过引用并入本文的、美国专利号5566072,“Executing Computat1ns Expressedas Graphs (执行被表示为图的计算)”中描述了用于执行
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1