CN103069394B - 评估数据流图的特征 - Google Patents
评估数据流图的特征 Download PDFInfo
- Publication number
- CN103069394B CN103069394B CN201180040705.0A CN201180040705A CN103069394B CN 103069394 B CN103069394 B CN 103069394B CN 201180040705 A CN201180040705 A CN 201180040705A CN 103069394 B CN103069394 B CN 103069394B
- Authority
- CN
- China
- Prior art keywords
- flow diagram
- expression formula
- data flow
- computing system
- data
- 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.)
- Active
Links
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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
评估表示数据流图(302)的一个或多个特征的一个或多个表达式(324),数据流图(302)包括表示数据处理组件(308、310)的顶点,顶点由表示组件之间的工作元素的流的链接(326、328)连接。计算机系统(100)接收评估一个或多个表达式的请求,该表达式包括对一个或多个变量的一个或多个操作。评估表达式包括:定义包括一个或多个字段(320A-D)的数据结构,在数据流图的执行期间收集与数据流图的一个或多个组件关联的追踪信息,将与追踪信息关联的值存储在一个或多个字段中,并利用存储在一个或多个字段中的值代替一个或多个表达式的一个或多个变量,以计算评估该一个或多个表达式的结果。
Description
对相关申请的交叉引用
本申请要求2010年8月25日提交的美国申请系列No.61/376,878的优先权,通过引用将对合并于此。
技术领域
本发明涉及评估数据流图的特征。
背景技术
复杂计算通常可以表达为通过有向图(称为“数据流图”)的数据流,其中,计算的组件与图的顶点关联,并且组件之间的数据流对应于图的链接(弧,边)。组件可以包括数据处理组件和数据集组件,数据处理组件在一个或多个输入端口接收数据,处理数据,以及从一个或多个输出端口提供数据,而数据集组件作为数据流的源或终点(sink)。美国专利5,966,072“EXECUTINGCOMPUTATIONSEXPRESSEDASGRAPHS(执行表达为图的计算)”中描述了实施这种基于图的计算的系统。
发明内容
在一个方面中,一般地,通过计算系统执行一种方法,用于评估表示数据流图的一个或多个特征的一个或多个表达式,所述数据流图包括表示数据处理组件的顶点,所述顶点由表示所述组件之间的工作元素的流的链接连接。所述方法包括:通过所述计算系统接收评估所述一个或多个表达式的请求,所述一个或多个表达式包括对一个或多个变量的一个或多个操作;以及通过所述计算系统评估所述一个或多个表达式。所述评估包括:定义包括一个或多个字段的数据结构,在所述数据流图的执行期间,收集与所述数据流图的一个或多个组件关联的追踪信息,将与所述追踪信息关联的值存储在所述一个或多个字段中,以及利用存储在所述一个或多个字段中的值替代所述一个或多个表达式的一个或多个变量,以计算评估所述一个或多个表达式的结果。
方面可以包括以下特征中的一个或多个。
在执行所述数据流图的同时执行所述评估。
所述追踪信息还与所述数据流图的一个或多个子图的一个或多个组件关联。
所述一个或多个变量的至少第一变量在所述表达式中表达为包括对所述一个或多个子图的第一子图的引用的项。
所述第一变量包括对所述第一子图内的第一组件的引用。
所述一个或多个变量的至少一个对应于所述数据流图、所述一个或多个子图、以及所述一个或多个组件中的一个或多个的特征。
评估所述一个或多个表达式包括根据预定条件评估所述一个或多个表达式。
所述预定条件包括触发事件的检测。
所述触发事件包括一个或多个处理资源相对于对所述一个或多个处理资源的需要而言是稀少的判定。
定义所述数据结构包括遍历所述数据流图,以识别所述一个或多个字段的类型和数目中的一个或多个。
遍历所述数据流图包括遍历所述数据流图的与所述一个或多个表达式关联的部分。
收集与所述数据流图的一个或多个组件关联的追踪信息包括至少部分基于所述一个或多个表达式过滤所述追踪信息。
所述方法还包括将所述结果与一个或多个阈值进行比较。
所述方法还包括响应于所述比较产生通知。
所述方法还包括至少部分基于所述通知执行一个或多个自动处理。
所述方法还包括从用户界面接收所述一个或多个表达式。
所述方法还包括提供预定表达式的集合,其包括所述一个或多个表达式。
所述评估还包括周期性地评估所述一个或多个表达式。
所述方法还包括使用两个或更多个结果产生与一个或多个特征关联的直方图。
所述方法还包括至少部分基于周期性地评估所述一个或多个表达式的结果更新存储的历史数据。
所述一个或多个变量的至少一个依赖于在所述计算系统接收到评估所述一个或多个表达式的请求之前存储在所述历史数据中的值。
所述方法还包括将与所述追踪信息关联的多个值存储在所述一个或多个字段之一内的矢量中。
所述多个值中的每个与特定参数的不同相应值关联,并且所述多个值中的每个是在与所述特定参数的相应值关联的追踪信息上聚集的特征的值。
在另一方面,一般地,一种计算机可读存储介质存储用于评估表示数据流图的一个或多个特征的一个或多个表达式的计算机程序,所述数据流图包括表示数据处理组件的顶点,所述顶点由表示所述组件之间的工作元素的流的链接连接。所述计算机程序包括使得计算机执行以下步骤的指令:接收评估所述一个或多个表达式的请求,所述一个或多个表达式包括对一个或多个变量的一个或多个操作;以及评估所述一个或多个表达式。所述评估包括:定义包括一个或多个字段的数据结构,在所述数据流图的执行期间,收集与所述数据流图的一个或多个组件关联的追踪信息,将与所述追踪信息关联的值存储在所述一个或多个字段中,以及利用存储在所述一个或多个字段中的值替代所述一个或多个表达式的一个或多个变量,以计算评估所述一个或多个表达式的结果。
在另一方面,一般地,提供一种计算系统,用于评估表示数据流图的一个或多个特征的一个或多个表达式,所述数据流图包括表示数据处理组件的顶点,所述顶点由表示所述组件之间的工作元素的流的链接连接。所述计算系统包括:输入设备或端口,配置为接收评估所述一个或多个表达式的请求,所述一个或多个表达式包括对一个或多个变量的一个或多个操作;以及至少一个处理器,配置为评估所述一个或多个表达式。所述评估包括:定义包括一个或多个字段的数据结构,在所述数据流图的执行期间,收集与所述数据流图的一个或多个组件关联的追踪信息,将与所述追踪信息关联的值存储在所述一个或多个字段中,以及利用存储在所述一个或多个字段中的值替代所述一个或多个表达式的一个或多个变量,以计算评估所述一个或多个表达式的结果。
在另一方面,一般地,提供一种计算系统,用于评估表示数据流图的一个或多个特征的一个或多个表达式,所述数据流图包括表示数据处理组件的顶点,所述顶点由表示所述组件之间的工作元素的流的链接连接。所述计算系统包括:用于接收评估所述一个或多个表达式的请求的装置,所述一个或多个表达式包括对一个或多个变量的一个或多个操作;以及用于评估所述一个或多个表达式的装置。所述评估包括:定义包括一个或多个字段的数据结构,在所述数据流图的执行期间,收集与所述数据流图的一个或多个组件关联的追踪信息,将与所述追踪信息关联的值存储在所述一个或多个字段中,以及利用存储在所述一个或多个字段中的值替代所述一个或多个表达式的一个或多个变量,以计算评估所述一个或多个表达式的结果。
方面可以包括以下优点中的一个或多个。
当在执行环境中执行数据流图时,监视数据流图的执行通常是有用的,例如,用以追踪正被数据流图的组件执行的各种计算的进度,或者采样与正被执行的数据处理相关的各种特征。在一些情况中,用户可能想要追踪正被处理的数据量(例如,记录的数目,或数据的字节数)和/或在数据处理期间正被消耗的资源量(例如组件正使用的CPU时间,或与组件关联的等待时间)。某些执行环境被配置为提供接收用于表现显示在作为用户界面的一部分的窗口中的各种特征的追踪数据的流的用户界面。
这里描述的技术中的一些使得用户能够动态地和灵活地提供定义用户可能感兴趣监视的某些特征的表达式。在某些情况中,用户可以提供用于在数据流图的执行期间监视数据流图的表达式。特征可以与数据流图的在数据流图的子图内的部分(例如组件或数据流链接)关联。用户能够使用符号表示法(notation),该符号表示法使得能够指定完全合格的路径,该路径使得系统能够遍历数据流图的表示的合适部分(例如作为有向图的数据流图的表示,该有向图的节点表示组件,链接表示数据流)。通过产生数据结构来保持需要用于评估用户提供的表达式的追踪信息的部分,可以使用从追踪信息的现时流聚集和封装的合适信息以高效的方式快速评估表达式。用户不需要能够理解或读取追踪信息,而是可以简单地产生可理解的表达式,基于该表达式,系统能够获取合适的追踪信息,并使用最近的信息评估该表达式。
根据下面的描述以及权利要求,本发明的其它特征和优点将变得明显。
附图说明
图1是用于执行基于图的计算的系统的框图。
图2是用于评估数据流图的特征的示例过程的流程图。
图3是用于监视数据流图的系统的框图。
图4是用于评估数据流图的特征的示例过程的流程图。
具体实施方式
图1示出了示例性数据处理系统100,在该系统100中可以使用用于评估数据流图的特征的技术。系统100包括数据源102,其可以包括一个或多个数据源,诸如存储设备或对在线数据流的连接,每个数据源可以多种存储格式存储数据(例如,数据库表、电子表格文件、纯文本文件、或大型机使用的本地格式)。执行环境104包括监视模块106和执行模块112。监视模块106包括用于监视在执行模块112上运行的一个或多个处理的特征的一个或多个处理。例如,执行模块112可以被配置为执行作为数据流图的应用,该数据流图包括顶点(表示数据处理组件或数据集),所述顶点由顶点之间的有向链接(表示工作元素的流)连接。数据处理组件可以具有任意数目的输入端口用于在输入数据流上接收工作元素以及任意数目的输出端口用于在输出数据流上提供工作元件。监视模块106可以被配置为在执行一个或多个数据流图时监视它们的特征。执行环境104可以驻留在一个或多个在合适的操作系统(诸如UNIX操作系统)控制下的通用目的计算机上。例如,执行环境104可以包括多节点并行计算环境,其包括使用多个中央处理单元(CPU)的计算机系统的配置,可以为本地的(例如,诸如SMP计算机的多处理器系统),或本地分布的(例如,连接为集群的多个处理器或MPP),或远程的,或者远程分布的(例如,经由局域网(LAN)和/或广域网(WAN)连接的多个处理器),或者它们的任意组合。
在某些示例中,监视模块106从数据存储系统116读取数据。例如,监视模块106可以访问存储在数据存储系统116中的一个或多个表达式114。监视模块106可以使用表达式114来评估执行模块113正在执行的数据流图的特征。如下面更详细描述的,监视模块106可以使用与数据流图关联的追踪信息来评估表达式114。执行模块112从数据源103读取数据作为向正被执行的数据流图的输入,以处理该输入数据。提供数据源102的存储设备可以是相对于执行环境104本地的,例如存储在连接到运行执行环境104的计算机的存储介质上(例如硬盘驱动器108),或者可以是相对于执行环境104远程的,例如驻留在通过远程连接与运行执行环境104的计算机通信的远程系统(例如大型机110)上。
执行模块112可以执行一个或多个计算机处理(例如,与数据流图的组件关联的处理),并且监视模块106可以在数据流图正被执行模块112执行时监视数据流图的活动(例如,与执行模块112运行的图处理一起还使用在执行环境中运行的一个或多个监视处理)。数据存储系统116对于开发环境118也是可被访问的,在开发环境118中,开发者120能够定义和输入表示数据流图的一个或多个特征的表达式114,或者能够使用被评估的表达式的结果进行动作,如下所述。可以对一个或多个变量的一个或多个允许的形式定义表达式114,所述变量表示数据流图的不同特性。操作的结果产生表示用户想要监视的特征的表达式的值。开发环境118在某些实施方式中是用于开发作为数据流图的应用的系统。例如,题为“ManagingParametersforGraph-BasedApplications(管理用于基于图的应用的参数)”的美国专利公布No.2007/0011668中描述了这种环境,通过引用将其合并于此。美国专利5,966,072“EXECUTINGCOMPUTATIONSEXPRESSEDASGRAPHS(执行表达为图的计算)”中描述了执行这种基于图的计算的系统,通过引用将其合并于此。根据此系统产生的数据流图提供用于向图组件表示的单独(individual)处理提供信息和从起获取信息、用于在处理之间移动信息、以及用于定义这些处理的运行顺序的方法。此系统包括选择处理间的通信方法的算法,例如,根据图的链接的通信路径可以使用TCP/IP或UNIX域套接字,或者使用共享存储器在处理之间传递数据。
系统100可以从多种类型的系统(包括不同形式的数据库系统)接收数据。数据可以组织为具有用于各个字段(也称为“属性(attribute)”或“列(column)”)的值的记录,可能包括空(null)值。当首次从数据源102读取数据时,执行模块112通常从关于该数据源中的记录的一些初始格式信息开始。在某些情形中,数据源的记录结构初始可能不知道,而是可能在数据源的分析之后确定。关于记录的初始信息可以包括表示区别值的比特的数目,记录内字段的顺序、以及比特所表示的值的类型(例如,字符串、有符号/无符号整型)。
图2示出用于评估数据流的特征的示例过程200的流程图。当系统(例如系统100(图1))接收到评估表示数据流图的一个或多个特征的表达式的请求(202)时过程开始。在接收到评估表达式的请求之后,系统定义包括一个或多个字段的数据结构(204)。在某些示例中,数据结构是内存(in-memory)数据结构,通过遍历(traverse)正在监视其执行的数据流图的表示定义该结构的字段。一般地,数据结构中的字段被配置为保持评估表达式所必须的数据。
系统100通过聚集与数据流图的不同部分关联的追踪信息而收集数据流图的执行期间的追踪信息(206),如下面更详细描述的。一般地,在执行数据流图的同时产生追踪信息,并且追踪信息可以提供关于数据流图及其组件和子组件的操作以及各种操作正在消耗的资源量的信息。一旦已经收集和/或聚集了追踪信息(或者正在收集和/或聚集追踪信息时),系统将与追踪信息关联的值存储在内存数据结构的字段中(208)。在已经将值存储在数据结构中之后,使用存储在数据结构的字段中的值替换正被评估的表达式中的变量(210)。利用已知量值替换变量,系统可以接着评估表达式,以提供结果(212)。如图4的示例中所示,可以在其它处理任务重使用该结果。也可以将结果存储在可以用于评估其它表达式的历史数据的集合中,如下面在图3的示例中详细说明的。
可以利用不同层级的抽象规定数据流图。本身是包含组件和链接的数据流图的“子图”可被表示为在包含数据流图作为单个组件的另一数据流图内,该单个组件显示向子图内的组件提供输入的输入端口、以及从子图内的组件提供输出的输出端口。子图使得能够在开发流程图时提供模块性和重用性,并且能够对数据流图的给定层级的开发者隐藏组件以及它们之间的链接的子集的复杂性,同时允许开发者下钻到更低层级到给定子图中,以查看该子图内的组件和链接。
图3示出了监视执行模块112执行的数据流图302的特征的示例系统300,包括数据存储316、表达式评估引擎332和图遍历引擎330,表达式评估引擎332和图遍历引擎330都被监视模块106用来接收和评估表达式324,以提供表示数据流图302的监视特征的结果。例如,表达式评估引擎322和图遍历引擎330可以从数据存储系统116中访问表达式324。数据流图302包括第一子图304和第二子图306,它们由表示数据流(例如,诸如从数据源102提供并被子图处理的记录的数据元素的流)的链接328连接。子图304包括第一组件“C1”308和第二组件“C2”310,它们由表示数据流(例如,诸如从数据源102提供并被组件处理的记录的数据元素的流)的链接326连接。系统300还包括聚集引擎312,其聚集与图302的组件和子图的执行关联的追踪信息,并且通信地连接到数据存储316。聚集引擎312被配置为将与数据流图302及其子图和组件关联的追踪信息传递到表达式评估引擎322,其也通信地连接到数据存储316,如下面将更详细地描述的。聚集引擎312可以被实施为执行模块112的一部分,或者替代地作为监视模块106的一部分。
虽然仅示出了一个数据流图和几个子图和组件,但数据流图时模块实体,并且可以连接到其它数据流图,或与其它数据流图组合。此外,虽然图3的示例是示出相对较少数目的子图和组件的简化示例,但数据流图302可以包括任何数据的子图,并且每个子图可以包括任何数目的组件。
在某些示例中,数据存储316被存储在数据存储系统116的存储器(例如,易失性和非易失性存储器)中。数据存储316存储至少一个数据结构318用于存储聚集的追踪信息。在某些示例中,数据结构318包括一个或多个字段320A、320B、320C和320D,用于将一个或多个追踪信息值存储在具有这些字段定义的结构的记录中。
在图3的示例中,图遍历引擎330分析表达式324,以确定当遍历数据流图302的表示时将需要什么信息来确定数据结构318的定义,如下面将更详细描述的。响应于接收到新的表达式324,此遍历将在数据流图302的执行之前或者在数据流图302的执行期间发生。在数据流图302的执行期间,聚集引擎312利用聚集的追踪信息填充定义的数据结构318。表达式评估引擎322使用经填充的数据结构318来评估表达式324。在评估了表达式324之后,表达式的结果将提供数据流图302的一个或多个特征的表示。结果可以选择性地存储在数据存储316中的历史数据332的集合中。
在某些示例中,诸如开发者120(图1)的用户通过用户界面输入表达式324以评估。用户可以输入用于评估的新表达式(例如用户可以使用某一形式的编程语言或表达式创建工具定义要被评估的新表达式),或者用户可以输入现有表达式,诸如从保存的表达式的列表中选择的表达式,诸如预设的表达式或默认的表达式。一般地,用户可以输入表达式,以便获得关于一个或多个数据流图的特定特征的信息。例如,如果用户希望评估组件C1和C2正消耗的资源量(例如,诸如一个或多个CPU执行用于组件的处理所花费的时间的CPU资源),则用户可以选择或创建以下表达式:
CPU资源消耗=(SG1.C1.cpu+SG1.C2.cpu)
以上表达式是“点符号表示法”表达式的示例。表达式中的项包括对应于数据流图的不同部分的名称(例如子图、组件、端口、链接)以及与数据流图的这些部分关联的特征。表达式中出现在子图或组件的名称之间的“点”指示“点”右边的子图或组件存在于“点”左边的子图或组件内。表达式中最后的“点”后面的最后名称对应于正被监视的“点”的左边的元素的特征。项“SG1.C1.cpu”提供正被组件C1308消耗的CPU资源,并且,类似地,项“SG1.C2.cpu”提供正被组件C2310消耗的CPU资源。在以上表达式中,将这两个项相加来获得正被两个组件C1308和C2310消耗的总CPU资源。项SG1.C1.cpu和SG1.C2.cpu是可以在表达式的评估之前或期间提供来自数据结构318的字段的值的变量。
可以通过特定参数分解包括CPU资源的一些特征,以独立地针对该参数的不同值监视该特征。例如,可以针对“主机(host)”参数的各个值而在数据结构318的字段中存储用于CPU资源变量的多个不同值(例如,作为矢量)。特定子图中的特定组件可以具有在不同主机计算机上并行执行的不同线程。每个主机计算机可以具有超过一个CPU。在此示例中,聚集引擎312聚集每个主机上的所有CPU上的CPU时间,以产生用于每个主机的CPU时间的单个值。这些值被存储在数据结构318的字段中的矢量中。当字段被用于向表达式的变量提供值时,表达式的结果可以被显示给用户,可选地,作为总结果或作为主机分解的结果。如果表达式的结果被用于附加的处理(例如定义警示),则用户可以选择(例如使用选项框(checkbox)指示要使用总结果还是要使用被主机分解的单独结果。例如,当定义与表达式关联的阈值用于确定什么时候触发警示时,如果选中“总”选项框,则提供单个输入界面,以接收要与表达式的总结果关联的阈值。如果“总”选项框未被选中,则提供多个输入界面,以接收要与用于各个主机的相应值关联的多个阈值。
虽然在以上示例中表达式324定义了关于正被数据流图302的两个组件消耗的CPU资源的特征,但表达式评估引擎322也可以被用于评估表示其他特征的表达式。例如,可以评估表达式来提供穿过组件的记录(或字节)的数目、从输入数据集读取或写入到输出数据集的记录(或字节)的数目、经过的时间,等等。某些特征可以用其他特征表达,例如,记录数/经过的时间(num_record/elapsed_time)表示平均处理速率(例如,以记录/秒为单位)。表达式评估引擎322也可以同时评估多个表达式,并且还可以被配置为根据预定安排评估表达式。例如,表达式评估引擎322可以被配置为每一小时或者在检测到一个或多个触发时间或条件时评估表达式324,诸如当确定处理资源相对于对这些资源的需要变得稀缺时。
在接收到要评估表达式324的指示之后,图遍历引擎330基于表达式324的词法分析以及通过遍历数据流图的表示所确定的数据流图302的分析而在数据存储316内定义数据结构318。例如,用于引用组件的项将具有依赖于该组件位于数据流图的层级中多深的结构。点符号表示法提供完全合格的路径用于遍历数据流图的表示以到达感兴趣的组件,该路径表达为<子图>.<组件>。用于引用链接的项表达为<组件>_至_<组件>。数据结构318包括配置为保持将最终被提供到表达式评估引擎322以取代表达式324中的一个或多个变量的值的字段。
在产生数据结构318之前,图遍历引擎330遍历(transverse,walk)数据流图302的表示以确定评估表达式324所需要的字段320A-D的数目和类型。在某些用于遍历数据流图302的过程中,图遍历引擎330通过以下操作而开始:在数据流图302的最高层级(具有被表示为该最高层级中的节点的组件和子图)检查数据流图302,并且追随连接数据流图302的节点的数据流链接以将表达式中的变量名与数据流图的部分的名称(例如,组件、端口、链接)进行比较,以便识别数据流图中与表达式324的评估相关的部分。即,图遍历引擎330分析表达式324和数据流图302,以定义特定类型(例如,数据类型)的一个或多个字段。例如,在上述表达式中,数据结构318将具有两个字段,各自具有与CPU资源相关的类型。数据流图302的拓扑结构(如由图遍历引擎330所确定的)定义数据结果318中包含的字段的数目和类型。例如,如果数据流图被表示为具有树拓扑结构的节点的有向图,则基于表达式,图遍历引擎330能够确定从根节点到表示表达式中引用的组件/数据流的节点/链接应该遍历哪些路径。如果路径不包括表示表达式中引用的组件或数据流的节点或链接,则图遍历引擎330可能不需要遍历该路径。替代的,在某些实施方式中,图遍历引擎330可以遍历整个路径。
在定义了数据结构318的情况下,由执行模块112执行数据流图302,并且在执行期间,监视模块106管理一个或多个表达式的评估。为了评估表达式,基于定义的字段的规范,产生数据结构的对应实例,以接收追踪信息。聚集引擎312接收指示要从执行模块112提供的追踪信息的流中提取什么追踪信息的输入。聚集引擎312设法利用与表达式324的评估相关的值填充所定义的数据结构318的实例的定义字段320A-D。通过在数据流图302的执行期间执行模块112产生的追踪信息提供这些值。执行模块112在执行各个子图和组件时可以产生追踪信息,其由聚集引擎312聚集。在某些示例中,可以使用与数据流图302的处理一起运行的处理实施聚集引擎312,以收集描述单独组件、子图和数据流的特征的追踪信息。
为了利用合适的追踪信息填充字段,聚集引擎312分析所产生的数据结果318的示例,以便识别数据流的哪些方面与评估表达式324相关。在某些实施方式中,产生数据结构318的实例的处理包括使用图遍历引擎330在执行期间再次遍历数据流图的表示,以获得附加信息(在定义的字段之外)或验证数据流图的结构(例如,如果在执行之前从初始遍历起已经经过了大量时间)。
对于数据流图的不同方面可能需要不同类型的聚集。一种类型的聚集用于为数据流图的一个层级提供来自更低层级的追踪信息。例如,聚集引擎312将追踪信息内表示子图内的单独组件的特征(例如,用于每个组件的单独CPU时间)的数相加,并提供总和以表示子图的特征(例如总CPU时间)。其它类型的聚集涉及数据流图的其它方面。对于并行数据流图,存在给定组件的多个实例,其处理在输入数据流上并行接收的数据(例如,可以不同并行实例之间划分输入数据流上的数据,所述不同并行实例例如可以在不同CPU中执行)。聚集引擎312聚集用于并行组件的每个实例的不同追踪信息,以提供聚集的值(例如用于每个实例的总CPU时间)。在已经将追踪信息存储在数据结构318中对应于与表达式324的评估相关的数据流图的部分(例如相关的数据流、组件或子图)的字段中之后,表达式评估引擎322接收数据结构318并使用存储的信息来评估表达式324(例如关于组件C1308和C2310的信息)。在某些情况中,聚集引擎312提供比用于表达式324的评估所必须更多的用于这些组件的信息(例如,聚集引擎312可以提供关于在其它表达式中引用的变量的追踪信息,诸如穿过组件的记录的数目,以及当前正评估的表达式324中引用的组件的CPU使用);然而,表达式评估引擎322可被配置为滤除不必要的追踪信息,并仅提取评估表达式324所必须的追踪信息。
在已经通过聚集引擎312收集了相关的追踪信息之后,将追踪信息存储在数据结构318中合适的字段中。因为字段320A-D是定义的“类型”,并且因为追踪信息已被过滤为具有同一类型,所以可以利用具有兼容且合适的类型的追踪信息填充字段320A-D。在字段320A-D已填充了相关追踪信息(或与该追踪信息关联的值)之后,数据结构318已经获得可以被表达式评估引擎322评估的记录的形式。此时,表达式评估引擎322可以从字段320A-D中取值,以替换表达式324中定义的变量。
在表达式324中的变量已被来自字段320A-D的值替换之后,表达式评估引擎322可以评估表达式324,以产生期望的结果。使用上述示例表达式,评估该表达式的结果将指示组件C1308和组件C2310的总CPU使用。可以在执行数据流图的同时执行表达式324的评估。
图4是类似于示例过程200(图2)的示例过程400,区别在于可以在从表达式的评估获得结果之后执行的两个可选操作414,416。过程400在系统(例如系统100(图1)接收到评估表示数据流图的一个或多个特征的表达式的请求时开始(402)。在接收到评估表达式的请求之后,系统定义包括一个或多个字段的数据结构(404)。在某些示例中,数据结构是内存数据结构,通过遍历正被评估的数据流图的表示定义所述数据结构的字段。一般地,数据结构中的字段被配置为保持评估表达式所必须的数据。
系统100通过聚集从数据流图的不同部分产生的追踪信息而从数据流图收集信息(406)。一般地,追踪信息在执行数据流图的同时产生,并且可以提供关于数据流图及其组件和子组件的操作的信息、以及各种操作正在消耗的资源量。一旦已经收集和/或聚集了追踪信息(或者当正在收集和/聚集追踪信息时),系统将与追踪信息关联的值存储在内存数据结构的字段中(408)。在已经将值存储在数据结构中之后,使用存储在数据结构的字段中的值代替正被评估的表达式中的变量(410)。利用已知量值代替变量,系统可以接着评估表达式以提供结果(412)。
在已经确定了结果之后,系统可以将结果与一个或多个阈值比较(414)。例如,假设系统已经评估了前述表达式,以获得表示用于组件C1308和C2310的CPU使用量的结果(例如,80%的使用)。系统可以将该80%的结果与关于与这两个组件关联的最大CPU使用的阈值(例如,50%)进行比较。如果结果超过阈值,则可以系统中产生通知,以警示条件的管理员(416)。该通知可以是警示或警报的形式,或者可以导致执行自动处理(例如,释放附加的CPU资源,以向组件C1308和C2310提供附加资源)。
在某些示例中,可以使用结果来显示关于时间或关于其它值的一个或多个特征。例如,可以使用来自评估表达式的结果产生直方图或其它统计值,其表示基于所收集的历史数据332的一个或多个评估的特征。可以报告的形式周期性地自动产生直方图,或者可以由系统300的管理员按需要产生直方图。
因为之前评估的表达式的结果被存储在历史数据332中,所以表达式可以包括作为历史数据332的函数的项,诸如,在变量的预定数目的之前评估上计算的变量平均值。用户可以写出将执行一个或多个图的作业的性能与该作业的过往性能进行比较的表达式。这样的表达式可用于产生基于历史的警示(例如,通知用户表达式测量的图度量与其历史值偏离)。默认的,系统300可以被配置为在历史数据332中存储被评估的每个表达式的指定数目的过往结果(例如,从最近50个作业执行)。可以由用户配置该指定数目。
可以在其它表达式中引用特定表达式定义的度量的值,包括度量的历史值。以下是可以由用户用于引用依赖于历史数据332的度量的历史值或统计值的变量的语法的示例:
value(值):用于正被监视的作业的度量的当前值
max_value(最大值):所存储的历史值上的、度量的最大值
min_value(最小值):所存储的历史值上的、度量的最小值
avg_value(平均值):所存储的历史值上的、度量的平均值
stdev_value(标准差):所存储的历史值上的、度量的标准差
使用这些变量,用户可以构建诸如以下的布尔(Boolean)表达式:
值>平均值+标准差
其可以被用于定义当值大于其历史平均超过标准差时触发的警报通知。
在构建基于历史的表达式时,也可以给用户访问历史数据中底层单独历史值的权利。例如,度量的单独历史值被被引用为矢量历史[i](history[i]),其中i表示多近的时间捕获了该值。例如,如果通过表示作业消耗的CPU时间的表达式定义度量,则最近完成的作业执行的使用的总CPU时间的值表示为历史[0]。用于次最近完成的执行的值被表示为历史[1]。此历史矢量的深度被表示为历史_长度(history_length)。在此数目的历史值上计算诸如最大值(max_value)和平均值(avg_value)的统计值。如果作业已经运行了少于历史_长度的次数并且示例[i]矢量因此具有小于历史_长度个存储的历史值,则系统300使用所有存储的历史值来计算统计值。可选地,系统300可以在提供统计值前要求存储最小数目的历史值(例如,至少3个),使得所提供的统计值更合理。使用历史[i]中可得的单独值,用户能够定义基于历史的警示。例如,以下表达式“值-(历史[0]+历史[1])/2”表示度量值中的最近“飘离(drift)”,其是当前值与最后两次作业执行的平均值的差。可以使用该布尔表达式来例如通知用户图作业什么时候开始在某种程度上偏离刻画其最近性能的特征的度量。
在某些示例中,数据流图可以产生被调整适应特定用户的兴趣的追踪信息。例如,虽然许多数据流图将产生与CPU使用相关的数据,但数据流图也可以被配置为产生与穿过特定组件的美元数相关的追踪信息(例如,如果用户在金融服务行业中)。因此,表达式可以是用于评估对用户的业务领域重要的特征的强大工具。
可以使用在计算机上执行的软件实施评估上述数据流图特征的方法。例如,软件形成在一个或多个编程的或可编程的计算机系统(其可以具有各种架构,诸如分布式、客户/服务器式、或网格式)上执行的一个或多个计算机程序中的过程,每个计算机系统包括至少一个处理器,至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备或端口、以及至少一个输出设备或端口。软件可以形成更大程序的一个或多个模块,例如该更大程序提供与数据流图的设计和配置相关的其它服务。图的节点和元素可以被实施为存储在计算机可读介质中的数据结构或符合存储在数据仓库中的数据模型的其它经组织的数据。
可以在可以由通用或专用目的可编程计算机读取的存储介质(诸如CD-ROM)上提供软件,或者可以在网络的通信介质上传送(编码为传播信号)软件到执行其的计算机的存储介质中。可以在专用计算机上或者使用专用硬件(诸如协处理器)执行所有功能。可以分布的方式实施软件,在该方式中,通过不同计算机执行软件指定的计算的不同部分。每个这种计算机程序优选存储在或下载到可由通用或专用可编程计算机读取的存储介质或设备上,用于当存储介质或设备被计算机系统读取时配置和操作计算机,以执行这里所描述的过程。本发明的系统可以被考虑实施为配置由计算机程序的计算机可读存储介质,其中如此配置的存储介质使得计算机系统以特定或预定方式执行这里所描述的功能。
已经描述了本发明的多个实施例。然而,将理解,可以在不偏离本发明的精神和范围的情况下进行各种修改。例如,上述步骤中的一些可以独立地排序,因此可以与所描述的顺序不同的顺序执行。
将理解,前面的描述意在说明而不是限制本发明的范围,本发明的范围由所附权利要求限定。例如,上述多个功能步骤可以不同顺序执行而实质影响总体的处理。其它的实施例也在权利要求的范围内。
Claims (47)
1.一种由计算系统执行的方法,用于评估表示数据流图的一个或多个特征的一个或多个表达式,所述数据流图包括表示数据处理组件的顶点,所述顶点由表示所述组件之间的工作元素的流的链接连接,所述方法包括:
评估包括对一个或多个变量的一个或多个操作的表达式,所述评估包括:
基于对数据流图的表示和所述表达式的分析定义数据结构,该数据结构包括一个或多个字段,
在所述数据流图的执行期间,收集与所述数据流图的一个或多个数据处理组件关联的追踪信息,
将与所述追踪信息关联的一个或多个值中的每一个存储在所述数据结构的对应字段中,以及
计算评估所述表达式的结果,包括利用存储在所述数据结构中的对应值替代所述表达式的一个或多个变量中的每一个。
2.如权利要求1所述的方法,其中在执行所述数据流图的同时执行所述评估。
3.如权利要求1所述的方法,其中所述追踪信息还与所述数据流图的一个或多个子图的一个或多个组件关联。
4.如权利要求3所述的方法,其中所述一个或多个变量的至少第一变量在所述表达式中表达为包括对所述一个或多个子图的第一子图的引用的项。
5.如权利要求4所述的方法,其中所述第一变量包括对所述第一子图内的第一组件的引用。
6.如权利要求3所述的方法,其中所述一个或多个变量的至少一个对应于(i)所述数据流图、(ii)所述一个或多个子图、以及(iii)所述一个或多个组件中的一个或多个的特征。
7.如权利要求1所述的方法,其中评估所述表达式包括根据预定条件评估所述表达式。
8.如权利要求7所述的方法,其中所述预定条件包括触发事件的检测。
9.如权利要求8所述的方法,其中所述触发事件包括一个或多个处理资源相对于对所述一个或多个处理资源的需要而言是稀少的判定。
10.如权利要求1所述的方法,其中定义所述数据结构包括遍历所述数据流图,以识别所述一个或多个字段的类型和数目中的一个或多个。
11.如权利要求10所述的方法,其中遍历所述数据流图包括遍历所述数据流图的与所述表达式关联的部分。
12.如权利要求1所述的方法,其中收集与所述数据流图的一个或多个数据处理组件关联的追踪信息包括至少部分基于所述表达式过滤所述追踪信息。
13.如权利要求1所述的方法,还包括将所述结果与一个或多个阈值进行比较。
14.如权利要求13所述的方法,还包括基于所述比较产生通知。
15.如权利要求14所述的方法,还包括至少部分基于所述通知执行一个或多个自动处理。
16.如权利要求1所述的方法,还包括从用户界面接收所述表达式。
17.如权利要求1所述的方法,还包括提供预定表达式的集合,其包括所述表达式。
18.如权利要求1所述的方法,其中所述评估还包括周期性地评估所述表达式。
19.如权利要求18所述的方法,还包括使用两个或更多个结果产生与所述数据流图的一个或多个特征关联的直方图。
20.如权利要求18所述的方法,还包括至少部分基于周期性地评估所述表达式的结果更新存储的历史数据。
21.如权利要求18所述的方法,其中所述一个或多个变量的至少一个依赖于在所述计算系统接收到评估所述表达式的请求之前存储在历史数据中的值。
22.如权利要求1所述的方法,还包括将与所述追踪信息关联的多个值存储在所述一个或多个字段之一内的矢量中。
23.如权利要求22所述的方法,其中所述多个值中的每个与特定参数的不同相应值关联,并且所述多个值中的每个是在与所述特定参数的相应值关联的追踪信息上聚集的特征的值。
24.一种计算系统,用于评估表示数据流图的一个或多个特征的一个或多个表达式,所述数据流图包括表示数据处理组件的顶点,所述顶点由表示所述组件之间的工作元素的流的链接连接,所述计算系统包括:
至少一个处理器,配置为评估包括对一个或多个变量的一个或多个操作的表达式,所述评估包括:
基于对数据流图的表示和所述表达式的分析定义数据结构,该数据结构包括一个或多个字段,
在所述数据流图的执行期间,收集与所述数据流图的一个或多个数据处理组件关联的追踪信息,
将与所述追踪信息关联的一个或多个值中的每一个存储在所述数据结构的对应字段中,以及
计算评估所述表达式的结果,包括利用存储在所述数据结构中的对应值替代所述表达式的一个或多个变量中的每一个。
25.如权利要求24所述的计算系统,其中在执行所述数据流图的同时执行所述评估。
26.如权利要求24所述的计算系统,其中所述追踪信息还与所述数据流图的一个或多个子图的一个或多个组件关联。
27.如权利要求26所述的计算系统,其中所述一个或多个变量的至少第一变量在所述表达式中表达为包括对所述一个或多个子图的第一子图的引用的项。
28.如权利要求27所述的计算系统,其中所述第一变量包括对所述第一子图内的第一组件的引用。
29.如权利要求26所述的计算系统,其中所述一个或多个变量的至少一个对应于(i)所述数据流图、(ii)所述一个或多个子图、以及(iii)所述一个或多个组件中的一个或多个的特征。
30.如权利要求24所述的计算系统,其中评估所述表达式包括根据预定条件评估所述表达式。
31.如权利要求30所述的计算系统,其中所述预定条件包括触发事件的检测。
32.如权利要求31所述的计算系统,其中所述触发事件包括一个或多个处理资源相对于对所述一个或多个处理资源的需要而言是稀少的判定。
33.如权利要求24所述的计算系统,其中定义所述数据结构包括遍历所述数据流图,以识别所述一个或多个字段的类型和数目中的一个或多个。
34.如权利要求33所述的计算系统,其中遍历所述数据流图包括遍历所述数据流图的与所述表达式关联的部分。
35.如权利要求24所述的计算系统,其中收集与所述数据流图的一个或多个数据处理组件关联的追踪信息包括至少部分基于所述表达式过滤所述追踪信息。
36.如权利要求24所述的计算系统,其中所述至少一个处理器还被配置为将所述结果与一个或多个阈值进行比较。
37.如权利要求36所述的计算系统,其中所述至少一个处理器还被配置为基于所述比较产生通知。
38.如权利要求37所述的计算系统,其中所述至少一个处理器还被配置为至少部分基于所述通知执行一个或多个自动处理。
39.如权利要求24所述的计算系统,其中所述至少一个处理器还被配置为从用户界面接收所述表达式。
40.如权利要求24所述的计算系统,其中所述至少一个处理器还被配置为提供包括所述表达式的预定表达式的集合。
41.如权利要求24所述的计算系统,其中所述评估还包括周期性地评估所述表达式。
42.如权利要求41所述的计算系统,其中所述至少一个处理器还被配置为使用两个或更多个结果产生与所述数据流图的一个或多个特征关联的直方图。
43.如权利要求41所述的计算系统,其中所述至少一个处理器还被配置为至少部分基于周期性地评估所述表达式的结果更新存储的历史数据。
44.如权利要求41所述的计算系统,其中所述一个或多个变量的至少一个依赖于在所述计算系统接收到评估所述表达式的请求之前存储在历史数据中的值。
45.如权利要求24所述的计算系统,其中所述至少一个处理器还被配置为将与所述追踪信息关联的多个值存储在所述一个或多个字段之一内的矢量中。
46.如权利要求45所述的计算系统,其中所述多个值中的每个与特定参数的不同相应值关联,并且所述多个值中的每个是在与所述特定参数的相应值关联的追踪信息上聚集的特征的值。
47.一种计算系统,用于评估表示数据流图的一个或多个特征的一个或多个表达式,所述数据流图包括表示数据处理组件的顶点,所述顶点由表示所述组件之间的工作元素的流的链接连接,所述计算系统包括:
用于评估包括对一个或多个变量的一个或多个操作的表达式的装置,所述评估包括:
基于对数据流图的表示和所述表达式的分析定义数据结构,该数据结构包括一个或多个字段,
在所述数据流图的执行期间,收集与所述数据流图的一个或多个数据处理组件关联的追踪信息,
将与所述追踪信息关联的一个或多个值中的每一个存储在所述数据结构的对应字段中,以及
计算评估所述表达式的结果,包括利用存储在所述数据结构中的对应值替代所述表达式的一个或多个变量中的每一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37687810P | 2010-08-25 | 2010-08-25 | |
US61/376,878 | 2010-08-25 | ||
PCT/US2011/049131 WO2012027560A1 (en) | 2010-08-25 | 2011-08-25 | Evaluating dataflow graph characteristics |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103069394A CN103069394A (zh) | 2013-04-24 |
CN103069394B true CN103069394B (zh) | 2016-06-22 |
Family
ID=44545974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180040705.0A Active CN103069394B (zh) | 2010-08-25 | 2011-08-25 | 评估数据流图的特征 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9727438B2 (zh) |
EP (1) | EP2609507B1 (zh) |
JP (1) | JP5878537B2 (zh) |
KR (1) | KR101809573B1 (zh) |
CN (1) | CN103069394B (zh) |
AU (1) | AU2011293338C1 (zh) |
CA (1) | CA2806236C (zh) |
WO (1) | WO2012027560A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877350B2 (en) * | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
WO2008021953A2 (en) * | 2006-08-10 | 2008-02-21 | Ab Initio Software Llc | Distributing services in graph-based computations |
CN101821721B (zh) | 2007-07-26 | 2017-04-12 | 起元技术有限责任公司 | 具有误差处理的事务型基于图的计算 |
KR101730513B1 (ko) | 2009-02-13 | 2017-04-26 | 아브 이니티오 테크놀로지 엘엘시 | 태스크 실행 관리 |
US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
WO2011159759A1 (en) | 2010-06-15 | 2011-12-22 | Ab Initio Technology Llc | Dynamically loading graph-based computations |
US20120188249A1 (en) * | 2011-01-26 | 2012-07-26 | Raytheon Company | Distributed graph system and method |
US9507682B2 (en) * | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
US10108521B2 (en) * | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9274926B2 (en) | 2013-01-03 | 2016-03-01 | Ab Initio Technology Llc | Configurable testing of computer programs |
CA2932763C (en) | 2013-12-05 | 2022-07-12 | Ab Initio Technology Llc | Managing interfaces for dataflow graphs composed of sub-graphs |
US8811172B1 (en) | 2014-04-10 | 2014-08-19 | tw telecom holdings inc. | Network path selection using bandwidth prediction |
US9607073B2 (en) * | 2014-04-17 | 2017-03-28 | Ab Initio Technology Llc | Processing data from multiple sources |
SG11201607312YA (en) * | 2014-04-17 | 2016-10-28 | Ab Initio Technology Llc | Integrated monitoring and control of processing environment |
US10705877B2 (en) | 2014-05-29 | 2020-07-07 | Ab Initio Technology Llc | Workload automation and data lineage analysis |
US9959301B2 (en) * | 2014-07-25 | 2018-05-01 | Cisco Technology, Inc. | Distributing and processing streams over one or more networks for on-the-fly schema evolution |
AU2015328574B2 (en) * | 2014-10-08 | 2020-12-10 | Splunk Inc. | Real-time reporting based on instrumentation of software |
US9984105B2 (en) * | 2014-12-04 | 2018-05-29 | International Business Machines Corporation | Automatic discovery of code and data stores that populate a user interface element |
US10394692B2 (en) * | 2015-01-29 | 2019-08-27 | Signalfx, Inc. | Real-time processing of data streams received from instrumented software |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
US10671669B2 (en) | 2015-12-21 | 2020-06-02 | Ab Initio Technology Llc | Sub-graph interface generation |
US20190303263A1 (en) | 2018-03-30 | 2019-10-03 | Kermin E. Fleming, JR. | Apparatus, methods, and systems for integrated performance monitoring in a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
JP7372977B2 (ja) | 2018-09-25 | 2023-11-01 | アビニシオ テクノロジー エルエルシー | 監査データを出力する際の回復性を実装するための専用監査ポート |
US10929110B2 (en) | 2019-06-15 | 2021-02-23 | International Business Machines Corporation | AI-assisted UX design evaluation |
US10990879B2 (en) | 2019-09-06 | 2021-04-27 | Digital Asset Capital, Inc. | Graph expansion and outcome determination for graph-defined program states |
US11132403B2 (en) | 2019-09-06 | 2021-09-28 | Digital Asset Capital, Inc. | Graph-manipulation based domain-specific execution environment |
US11567998B2 (en) * | 2021-03-25 | 2023-01-31 | Databricks, Inc. | Dataflow graph processing |
US11977580B2 (en) * | 2021-11-30 | 2024-05-07 | International Business Machines Corporation | Partitioning and parallel loading of property graphs with constraints |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475844A (en) * | 1992-11-27 | 1995-12-12 | Nec Corporation | Heavily loaded resource evaluation system |
WO2007137034A2 (en) * | 2006-05-16 | 2007-11-29 | Ab Initio Software Llc | Managing computing resources in graph-based computations |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2756724B2 (ja) * | 1990-08-30 | 1998-05-25 | 株式会社日立製作所 | 計算機システムの状態表示方法 |
JP3079881B2 (ja) | 1993-08-10 | 2000-08-21 | 三菱自動車工業株式会社 | 道路交通状況推定方法および車両運転特性制御方法 |
US5966072A (en) * | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
US7716630B2 (en) | 2005-06-27 | 2010-05-11 | Ab Initio Technology Llc | Managing parameters for graph-based computations |
US20070118839A1 (en) * | 2005-10-24 | 2007-05-24 | Viktors Berstis | Method and apparatus for grid project modeling language |
KR20150042866A (ko) * | 2008-12-02 | 2015-04-21 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스 |
-
2011
- 2011-08-25 EP EP11752055.1A patent/EP2609507B1/en active Active
- 2011-08-25 KR KR1020137004164A patent/KR101809573B1/ko active IP Right Grant
- 2011-08-25 AU AU2011293338A patent/AU2011293338C1/en active Active
- 2011-08-25 WO PCT/US2011/049131 patent/WO2012027560A1/en active Application Filing
- 2011-08-25 CA CA2806236A patent/CA2806236C/en active Active
- 2011-08-25 JP JP2013526149A patent/JP5878537B2/ja active Active
- 2011-08-25 CN CN201180040705.0A patent/CN103069394B/zh active Active
- 2011-08-25 US US13/217,778 patent/US9727438B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475844A (en) * | 1992-11-27 | 1995-12-12 | Nec Corporation | Heavily loaded resource evaluation system |
WO2007137034A2 (en) * | 2006-05-16 | 2007-11-29 | Ab Initio Software Llc | Managing computing resources in graph-based computations |
CN101443733A (zh) * | 2006-05-16 | 2009-05-27 | 起元软件有限公司 | 在基于图的计算中的计算资源管理 |
Non-Patent Citations (1)
Title |
---|
Narayan, R.;Rajaraman, V.A method to evaluate the performance of a multiprocessor machine based on data flow principles.《Fourth IEEE Region 10 International Conference DOI》.1989,209-212. * |
Also Published As
Publication number | Publication date |
---|---|
JP5878537B2 (ja) | 2016-03-08 |
US9727438B2 (en) | 2017-08-08 |
CN103069394A (zh) | 2013-04-24 |
JP2013536531A (ja) | 2013-09-19 |
KR20130105604A (ko) | 2013-09-25 |
EP2609507B1 (en) | 2019-05-15 |
EP2609507A1 (en) | 2013-07-03 |
KR101809573B1 (ko) | 2018-01-18 |
AU2011293338C1 (en) | 2016-03-10 |
CA2806236A1 (en) | 2012-03-01 |
WO2012027560A1 (en) | 2012-03-01 |
CA2806236C (en) | 2021-06-15 |
AU2011293338B2 (en) | 2015-08-20 |
AU2011293338A1 (en) | 2013-01-31 |
US20120054255A1 (en) | 2012-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103069394B (zh) | 评估数据流图的特征 | |
EP3243136B1 (en) | Dynamic telemetry message profiling and adjustment | |
CN103180826A (zh) | 在代表计算机程序的数据流图中管理数据集对象 | |
US9342370B2 (en) | Server migration | |
CN108629413A (zh) | 神经网络模型训练、交易行为风险识别方法及装置 | |
US20060294220A1 (en) | Diagnostics and resolution mining architecture | |
CN106600115A (zh) | 一种企业信息系统运维智能分析方法 | |
CN101321084A (zh) | 在计算机环境中利用关联规则挖掘为计算实体产生配置规则的方法和装置 | |
US20170109636A1 (en) | Crowd-Based Model for Identifying Executions of a Business Process | |
US20150142414A1 (en) | Proactive information technology infrastructure management | |
CN104937548A (zh) | 动态图的性能监视 | |
CN105122733B (zh) | 队列监控和可视化 | |
CN105184886A (zh) | 一种云数据中心智能巡检系统及方法 | |
US20220058073A1 (en) | Automated methods and systems that facilitate root-cause analysis of distributed-application operational problems and failures by generting noise-subtracted call-trace-classification rules | |
CN104919427A (zh) | 动态组件性能监视 | |
CN114757448B (zh) | 一种基于数据空间模型的制造环节间最优价值链构建方法 | |
CN102822806B (zh) | 检测应用的无进展状态 | |
KR102656541B1 (ko) | 로그 타입별 분산 방식을 활용한 대용량 로그 데이터 분석 장치, 방법 및 프로그램 | |
Calzolai et al. | Simulation and analysis of distributed systems in Klaim | |
Wang et al. | Calculation of utility of network services based on state manifolds | |
Xie et al. | PBScaler: A Bottleneck-aware Autoscaling Framework for Microservice-based Applications | |
Reiter | Scalability Benchmarking of the Realtime Heuristics Miner implemented as a Microservice Architecture | |
CN117850868A (zh) | 安全防护组件自动编排方法和安全防护系统 | |
CN113672472A (zh) | 磁盘监控方法及装置 | |
CN117544423A (zh) | 一种基于数据特征的api应用程序接口链路测绘方法 |
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 |