[发明专利]执行基于图的程序规范有效
申请号: | 201580047180.1 | 申请日: | 2015-09-02 |
公开(公告)号: | CN106663010B | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | C·W·斯坦菲尔;R·夏皮罗;A·韦斯;A·F·罗伯茨;约瑟夫·斯凯芬顿·沃莱三世;J·古尔德;S·A·库克利希 | 申请(专利权)人: | 起元科技有限公司 |
主分类号: | G06F13/36 | 分类号: | G06F13/36;G06F8/41;G06F9/4401;G06F9/50 |
代理公司: | 隆天知识产权代理有限公司 72003 | 代理人: | 石海霞;李昕巍 |
地址: | 美国马*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 基于 程序 规范 | ||
基于图的程序规范(110)包括对应于任务的组件和组件的端口之间的有向链路,包括:链接的组件的端口之间的第一类型的链路配置,其对应于控制的传送或单个数据元素的传送;以及链接的组件的端口之间的第二类型的链路配置,其对应于多个数据元素的传送。编译器(120)生成包括表示至少一个控制图的控制代码的目标程序规范,所述控制图包括表示组件的图节点,其中至少两个图节点基于第一类型的链路连接。计算节点(152)启动目标程序规范的执行,并且管理第二类型的链路的计算资源,计算资源包括以下中的至少一个:用于存储由输出端口提供的数据元素的缓存器,或用于存储提供给输入端口的数据元素的缓存器。
相关申请的交叉引用
本申请要求于2014年9月2日提交的美国申请序列号62/044,628以及于2015年5月20日提交的美国申请序列号62/164,175的优先权。
技术领域
本说明书涉及执行基于图的程序规范的方法。
背景技术
一种用于数据流计算的方法利用基于图的表示,其中对应于图的节点(顶点)的计算组件通过与图的链路(有向边)对应的数据流(称为“数据流图”)耦合。通过数据流链路连接到上游组件的下游组件接收输入数据元素的有序流,并且以所接收的顺序处理输入数据元素,可选地生成一个或多个对应的输出数据元素流。用于执行这种基于图的计算的系统描述于发明名称为“EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS(执行表达为图的计算)”的在先美国专利5,966,072中,其通过引用并入本文。在与该在先专利中描述的方法相关的实现方式中,每个组件被实现为驻留在通常多个计算机服务器之一上的进程。每个计算机服务器可以具有在任何一个时间活动的多个这样的组件进程,并且操作系统(例如,Unix)调度器在该服务器上托管的组件之间共享资源(例如,处理器时间和/或处理器内核)。在这种实现方式中,组件之间的数据流可以使用操作系统的数据通信服务和连接服务器的数据网络(例如,命名管道,TCP/IP会话等)来实现。组件的子集通常用作来自整体计算的数据的源和/或数据宿(或数据接收器,sink),例如,去往和/或来自数据文件、数据库表和外部数据流。然后,在例如通过协调进程建立组件进程和数据流之后,数据流过整个计算系统,该计算系统实现表达为通常由每个组件处的输入数据的可用性控制的图的计算并且为每个组件调度计算资源。因此,至少通过使不同的组件能够由不同的进程(托管在相同或不同的服务器计算机或处理器内核上)并行地执行,可以实现并行性,其中不同组件在通过数据流图的不同路径上并行地执行在本文中被称为组件并行性,并且不同组件通过数据流图在相同路径的不同部分上并行执行在本文中被称为流水线并行性。
其他形式的并行性也得到这种方法的支持。例如,输入数据集可以例如根据数据集的记录中字段的值的分区来分割,其中每个部分被发送到处理数据集的记录的组件的单独副本。组件的这种单独的副本(或“实例”)可以在单独的服务器计算机或服务器计算机的单独的处理器内核上执行,从而实现本文所称的数据并行性。可以合并单独组件的结果以再次形成单个数据流或数据集。用于执行组件实例的计算机或处理器内核的数量将由开发人员在开发数据流图时指定。
可以使用各种方法来提高这种方法的效率。例如,组件的每个实例不一定必须在其自己的操作系统进程中托管,例如使用一个操作系统进程来实现多个组件(例如,形成更大图的连接子图的组件)。
上述方法的至少一些实现方式受到与在底层计算机服务器上所得到的进程的执行效率有关的限制。例如,这些限制可能涉及重新配置图的运行实例以改变数据并行度、改变到托管各种组件的服务器和/或平衡不同计算资源上的负载的困难。现有的基于图的计算系统也具有的缺陷是启动时间慢,这通常是因为太多的进程被不必要地启动,浪费了大的存储量。通常,进程在启动图的执行时开始,并在图的执行完成时结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于起元科技有限公司,未经起元科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580047180.1/2.html,转载请声明来源钻瓜专利网。