CN111475684B - 数据处理网络***及其计算图生成方法 - Google Patents
数据处理网络***及其计算图生成方法 Download PDFInfo
- Publication number
- CN111475684B CN111475684B CN202010600035.4A CN202010600035A CN111475684B CN 111475684 B CN111475684 B CN 111475684B CN 202010600035 A CN202010600035 A CN 202010600035A CN 111475684 B CN111475684 B CN 111475684B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- task
- type derivation
- data type
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims description 32
- 238000004364 calculation method Methods 0.000 title claims description 14
- 238000009795 derivation Methods 0.000 claims abstract description 197
- 238000004519 manufacturing process Methods 0.000 claims abstract description 10
- 238000010586 diagram Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 239000003550 marker Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理网络***,包括:一列按生产消费关系依次相连的数据类型推导节点;以及一列按生产消费关系依次相连的数据运算节点,每个数据运算节点与其所在行对应的数据类型推导节点消费相连以及与前一级数据类型推导节点消费相连,其中每个数据类型推导节点基于其前一级数据类型推导节点的数据类型推导结果执行推导获得数据类型推导结果,以及每个数据运算节点利用其所连接的数据类型推导节点的数据类型推导结果、前一级数据类型推导节点的数据类型推导结果以及其前一级数据运算节点的运算结果执行运算操作并向其下一级数据运算节点输出其运算结果。
Description
技术领域
本公开涉及一种数据处理技术。更具体地说,本公开涉及一种数据处理网络***及其计算图生成方法。
背景技术
随着分布式计算的普及,大型的作业会通过分割而将不同部分的数据部署到不同的分布式数据处理***的各个计算设备上进行处理,因此需要针对作业任务生成任务逻辑图,并基于任务逻辑图生成任务计算图,最后基于计算资源,将计算图实际分布部署到指定的计算资源上。
在实际的运算中,通常涉及确定数据类型以及对具体数据值计算。在动态计算环境中,一次实际的数据操作通常包含两个动作,一个是进行数据类型的推导,另一个是进行数据的数据值的计算,数据类型的推导是进行数值计算的前提。因此在作业任务的任务逻辑图中所包含的任务节点的指定任务会有数据推导任务以及数据计算任务。通常数据推导任务与数据计算任务先后进行,但是在有些情况下,为了直观理解需要,数据运算任务的执行过程中可能需要改变数据的类型,或者数据类型的推导需要一些数据运算结果。为此,在任务逻辑图中的任务节点基于任务执行的顺序会采取串行方式,因此其对应的计算图中的推导节点和运算节点也采用串行的结构。
但是这种串行的计算图所对应的数据处理网络***在执行数据处理过程中,所花的时间将是所有数据类型推导时间以及所有数据运算时间的总和。随着各种单一计算设备自身的运算功能越来越强大,在提高计算设备的运算速度方面已经处于极致状态。在单一数据处理路径上,由于前后作业任务之间存在数据依赖关系,对作业任务的前后任务节点进行并行处理来提高数据处理速度已经不可行,这就为分布式数据处理的速度的提高带来技术瓶颈。因此,人们希望能够进一步克服目前的技术瓶颈。
发明内容
本公开的目的在于提供一种解决至少上述问题之一的技术方案。具体而言,根据本公开的一个方面,提供了一种数据处理网络***,包括:一列按生产消费关系依次相连的数据类型推导节点;以及一列按生产消费关系依次相连的数据运算节点,每个数据运算节点与其所在行对应的数据类型推导节点消费相连以及与前一级数据类型推导节点消费相连,其中每个数据类型推导节点基于其前一级数据类型推导节点的数据类型推导结果执行推导获得数据类型推导结果,以及每个数据运算节点利用其所连接的数据类型推导节点的数据类型推导结果、前一级数据类型推导节点的数据类型推导结果以及其前一级数据运算节点的运算结果执行运算操作并向其下一级数据运算节点输出其运算结果。
根据本公开的数据处理网络***,其中所述数据运算节点包括混合数据运算节点,所述混合数据运算节点与其所在行的数据类型推导节点可修改消费连接以及与其后一级数据运算节点所对应的后一级数据类型推导节点控制连接,以便所述后一级数据类型推导节点在获得所述混合数据运算节点的消息后执行数据类型推导。
根据本公开的另一个方面,提供了一种计算图生成方法,包括:获取作业任务逻辑图,所述逻辑图包含按照预定逻辑顺序依次相连的用于完成指定作业任务的多个任务节点,每个任务节点的指定作业任务包含数据类型推导任务以及数据运算任务;解析任务节点的指定作业任务,将每个任务节点的数据类型推导任务逐一映射为数据类型推导节点以及将每个任务节点的数据运算任务逐一映射为数据运算节点; 以及将数据类型推导节点按照任务节点的预定逻辑顺序排列成一列按生产消费关系依次相连的数据类型推导节点,将数据运算节点按照任务节点的预定逻辑顺序排列成一列按生产消费关系依次相连的数据运算节点,将关联到同一任务节点的数据类型推导节点与数据运算节点建立消费连接,以及将每个数据运算节点与其前一级数据类型推导节点消费相连,从而形成与作业任务逻辑图对应的计算图。
根据本公开的计算图生成方法,所述解析任务节点的指定作业任务还包括:解析识别指定作业任务中的运算任务中的混合运算任务,所述混合运算任务在运算过程中会改变数据类型;以及将所识别的混合运算任务映射为混合数据运算节点以及进一步在所述混合数据运算节点与其后一级数据运算节点所对应的后一级数据类型推导节点之间建立控制相连。
根据本公开的数据处理网络***及其计算图生成方法,通过将处于同一数据处理路径中的所有任务节点的每个任务节点中的数据推导过程与数据运算过程分离映射到独立的计算节点(包括推导节点和运算节点),从而使得同一数据处理路径中的所有数据推导过程与运算过程能够并行处理,因此,能够使得完成统一作业业务,在本公开的并行数据处理网络***下比常规的串行数据处理网络***下所花费的时间能够节省近一半。更进一步,通过确定混合数据运算节点,使得采用本公开的数据处理网络***及其计算图生成方法不会对编程人员带来额外的智力负担,也就是说,编程人员不会因为其程序将在本公开的数据处理网络***上运行而需要额外考虑是否排除采用将数据推导过程与数据运算过程混合编程的编程方式。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1所示的是根据本公开的第一实施例的数据处理网络***的原理示意图。
图2所示的是根据本公开的第二实施例的数据处理网络***的原理示意图。
图3所示的是一种根据本公开的第二实施例的数据处理网络***的局部网络示意图。
具体实施方式
下面结合实施例和附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,在下文中,两个可能位置标记之一可以被称为第一位置标记也可以被称为第二位置标记,类似地,两个可能位置标记的另一个可以被称为第二位置标记也可以被称为第一逻位置标记。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本领域技术人员更好地理解本公开,下面结合附图和具体实施方式对本公开作进一步详细说明。
为了方便描述本公开的原理,本公开基于深度学习场景展开说明。图1所示的是根据本公开的第一实施例的数据处理网络***的原理示意图。如图1所示,为方便示图,根据本公开的数据处理网络***采用任务计算图来表示。所述数据处理网络***包括成对的数据类型推导节点以及数据运算节点,例如数据类型推导节点01和数据运算节点01、数据类型推导节点02和数据运算节点02、数据类型推导节点03和数据运算节点03、数据类型推导节点04和数据运算节点04、数据类型推导节点05和数据运算节点05…以及数据类型推导节点N和数据运算节点N等等。如图所示,成对的数据类型推导节点和数据运算节点对应于任务逻辑图中的一个任务节点。每个任务节点承担一个指定的任务。诸多任务节点,例如任务节点01、任务节点02、任务节点03、任务节点04、任务节点05、…任务节点N等构成一个指定作业任务的数据处理路径。通常一个任务节点消费其前一任务节点所输出的数据。在与任务计算图对应的数据处理网络***中,一对数据类型推导节点和数据运算节点会消费前一对数据类型推导节点和数据运算节点所输出的结果,例如数据类型推导节点02和数据运算节点02就会使用数据类型推导节点01和数据运算节点02所输出的数据。因此,每个任务逻辑图中的任务节点都会对应映射到任务计算图中的一对数据类型推导节点和数据运算节点。如图1所示,完成指定任务的所有数据类型推导节点形成一列专用于进行数据类型推导的数据类型推导路径,而所有数据运算节点形成一列专用于进行数据运算的数据运算路径。后一数据类型推导节点会基于前一数据类型推导节点的输出数据执行数据类型推导操作。例如数据类型推导节点02会基于数据类型推导节点01的输出数据执行数据类型推导操作,并其推导结果数据将被数据运算节点02所使用或消费。同样,后一数据运算节点会基于前一数据运算节点的输出数据执行数据运算操作。例如数据运算节点02会基于数据运算节点01的输出数据执行数据运算操作,并且其运算结果数据将被数据运算节点03所使用或消费。需要指出的是,后一数据运算节点要执行运算操作,不仅需要前一数据运算节点的输出数据,还需要消费前一数据类型推导节点的输出数据以及其自身所属的数据类型推导节点的输出数据。例如数据运算节点02会基于数据运算节点01的输出数据、数据类型推导节点01的输出数据以及数据类型推导节点02的输出数据来执行数据运算操作。
由于采用任务计算图来代表的数据处理网络***采用如图所示的数据类型推导节点形成一列专用于数据类型推导的数据推导路径,而数据运算节点形成一列专用于数据运算的数据运算路径,在数据类型推导不需要数据运算结果的情况下,数据推导路径将会在数据运算节点执行运算操作的过程已经完成所有数据类型推导过程,从而为所有运算节点准备好执行运算所需的数据类型结果。由于通常在一对数据类型推导节点和数据运算节点中,运算操作的时间基本上都长于类型推导所花费的时间,因此,从整体看,要完成一项指定的作业任务,所用的时间将是一列专用于数据运算的数据运算路径中的所有数据运算节点执行运算操作所花的时间的总和,而数据类型推导在该总和时间内已经提前完成。在一些特殊情况下,可能存在一对数据类型推导节点和数据运算节点中,类型推导所花的时间长于数据运算所花时间的情况,但是,由于绝大部分类型推导所花的时间短于数据运算所花时间,因此从总体上,专用于数据运算的数据运算路径所花的总体时间依然长于专用于数据类型推导的数据推导路径时间。因此,当专用于数据运算的数据运算路径所花的总体时间等于专用于数据类型推导的数据推导路径时间,相对于采用完全串行的方式进行数据类型推导和数据运算的技术方案,所节省的时间将为一半。对于常规情况而言,专用于数据类型推导的数据推导路径时间短于专用于数据运算的数据运算路径所花的总体时间,因此,采用本公开的数据处理网络***将对指定的作业业务将能够节省至少三分之一的时间。
图2所示的是根据本公开的第二实施例的数据处理网络***的原理示意图。在深度学习***中,有时候运行在深度学习或大数据处理***的一些作业任务的处理存在不能将分离处理数据运算和数据类型,也就是存在数据运算过程中要改变数据类型的情况,或者数据类型的推导要依赖于运算结果的情况。这时候,业务逻辑图中的业务逻辑节点就成为一种混合业务节点。其因此在将任务逻辑图中的这种混合业务节点映射到任务计算图时,无法区分分别映射成数据类型推导节点和数据运算节点。通常这种混合任务节点在实际应用过程中比较少的,但是依然是本公开在实践过程中需要面对的技术问题。但是在不存在这种混合任务节点的情况下采用图1所示的实施方式就可以获得对应的任务计算图。当在任务逻辑图中存在混合任务节点时,通过解析每个任务节点,可以区分出任务节点所要执行的任务的执行方式,如果都是先进行数据类型推导,然后执行数据运算,则该任务节点为普通任务节点,可以直接将两者分别映射到任务计算图中的数据类型推导节点和数据运算节点。如果不是,则意味着是混合任务节点。如上所述,这种混合任务节点通常在编码中表现为执行运算的代码在执行运算过程中会修改所需数据类型或形状,或者表现为数据推导过程中需要数据运算的结果,导致两者纠缠在一起,无法直接将数据类型推导和数据运算分离为两个彼此关联的两个独立计算节点。为此,本公开在解析任务节点过程中,识别混合任务节点和普通任务节点。这种识别方式可以通过分析任务节点的代码表达以及其代码中的参数引用关系即可实现。可选择地,这种识别方式可以通过对一段执行具体任务的代码进行直接标识以便识别该段代表任务节点的代码是否为普通任务节点或混合任务节点。
图2所示的任务节点03就是一种混合任务节点。混合任务节点03被解析识别之后,一方面直接对应该混合任务节点03在计算图中映射一个混合数据运算节点03,另一发明在计算图中映射一个数据类型推导节点03。该数据类型推导节点03是一种占位节点,其并不实际执行数据类型推导操作,而是将自身的数据类型推导操作委托给所述混合数据运算节点03。其指定了所要传入的Tensor对象的形状。shape的默认参数为None,表示可以接收任意形状的Tensor对象。所述混合数据运算节点03会在实际操作过程中执行数据类型的推导以及数据运算。因此所述混合数据运算节点03会修改对应的数据类型推导节点03所分配的内存,这样所述混合数据运算节点03与对应的数据类型推导节点03之间建立的可修改连接。在这种情况下,由于数据类型推导节点03并不实际进行数据类型操作,其下一数据类型推导节点04将无法获知数据类型推导节点03推导操作完成的消息,而数据类型推导节点03所委托的推导操作由混合数据运算节点03完成,为了使得数据类型推导操作路径顺利完成,需要获得混合数据运算节点03完成的消息。为此,在将含有混合任务节点的任务逻辑图变换生成任务计算图时,需要在混合数据运算节点03与其后一级的数据类型推导节点04之间建立消息连接边,即控制连接。当混合数据运算节点03在完成运算操作的同时,也完成了数据类型推导操作,并向数据类型推导节点04通知其完成两项操作的消息,由此使得数据类型推导节点04获知,数据类型推导节点03中的缓存中的数据类型结果已经准备好,这样数据类型推导节点04可以开始执行自己的数据类型推导操作。
尽管如图2所示,存在混合任务节点03映射到数据类型推导节点03以及混合数据运算节点03的情形,但是,对于在计算图中存在绝大多数的常规成对数据类型推导节点和数据运算节点而言,在成对的混合运算节点03和数据类型推导节点03之前和之后的部分阶段,也能够起到节省操作时间的作用。即使存在混合运算节点,整个数据处理路径处理数据的总时间也不会超过数据实际运算时间的总和,从而从总体上将数据类型推导操作所花费的时间包含在运算操作总体时间之内,由此将常规技术手段中所需花费的数据类型推导时间节省下来。
图3所示的是一种根据本公开的第二实施例的数据处理网络***的局部网络示意图。如图3所示,任务计算图中的每个计算节点在实际部署到计算设备上之后,形成一个具体的执行体。例如,数据类型推导计算节点会对应创建一个数据类型推导执行体。如图3所示,每个数据类型推导执行体都包括执行推导操作的推导组件、控制执行体状态的有限状态机、进行执行体之间消息通信的消息仓以及缓存操作结果的输出数据缓存。同样,每个数据运算执行体都包括执行运算操作的运算组件、控制执行体状态的有限状态机、进行执行体之间消息通信的消息仓以及缓存运算结果的输出数据缓存。对于每个常规数据类型推导执行体来说,例如数据类型推导执行体02,其在运行过程中接收到数据类型推导执行体01的消息仓发送来的消息时,会改变其有限状态机的状态。通常数据类型推导执行体01的消息仓发送来的消息是在数据类型推导执行体01完成其自身的数据类型推导操作并将推导的数据类型数据缓存在其输出数据缓存中时,触发其消息仓向需消费该推导结果数据的下游执行体的消息仓发送通知消息,由此告知其下游执行体可以使用其产生的缓存在其输出数据缓存中数据类型结果。数据类型推导执行体02的有限状态机在其对应的消息仓收到其上游的数据类型推导执行体01的消息改变状态后,触发推导组件基于数据类型推导执行体01的输出数据缓存中的数据类型结果数据执行推导操作,并将推导结果缓存到其自己的输出数据缓存中。同时触发其自己的消息仓向对应的运算执行体02的消息仓发送消息以及向其下游数据类型推导执行体03的消息仓发送消息。运算执行体02的有限状态机会基于所接收到的消息改变状态。运算执行体02的有限状态机的状态在先后或同时受到来自数据类型推导执行体02、上游数据类型推导执行体01和运算执行体01的消息时,其状态改到可触发运算执行体02的运算组件执行对应运算的状态,从而运算执行体02的运算组件基于上游数据类型推导执行体01的输出数据缓存中的数据(数据类型)、数据类型推导执行体02的输出数据缓存中的数据以及运算执行体01的输出数据缓存中的数据执行运算操作,并将运算操作结果缓存到其对应的输出数据缓存中。因此,所有的数据类型推导执行体和对应的运算执行体都采用上述方式进行运行。
可选择地,如上所述,由于混合数据运算节点及其对应的数据类型推导节点的存在,其在实际计算设备上所对应部署的类型推导执行体和混合数据运算执行体之间存在可修改的关系。具体而言,例如数据类型推导执行体03和混合数据运算执行体03,数据类型推导执行体03也接收数据类型推导执行体02的消息,但是,由于其对应的数据类型推导节点03为一个占位节点,其并不执行实际数据类型推导过程,因此,仅仅在附图中示意性显示了其中包含推导组件,也可以不实际包含推导组件。无论是否包含,数据类型推导执行体03都不执行任何数据类型推导操作,仅仅将数据类型推导过程委托给混合数据运算执行体03。混合数据运算执行体03在接先后或同时受到来自数据类型推导执行体03、上游数据类型推导执行体02和运算执行体02的消息时,其状态改变到可触发混合运算执行体03的运算组件执行对应运算的状态,
从而混合运算执行体03的运算组件基于上游数据类型推导执行体02的输出数据缓存中的数据(数据类型)、运算执行体02的输出数据缓存中的数据执行包含有数据类型推导的运算操作,并将运算操作结果缓存到其对应的输出数据缓存中,以及将数据类型推导结果缓存到作为占位执行体的数据类型推导执行体03的输出数据缓存中。在混合运算执行体03将运算结果以及数据类型推导结果缓存到相应的输出数据缓存中的同时,向其下游的数据类型推导执行体04以及运算执行体04发送消息。
通过上述描述,可以看出,在数据类型推导路径中,在遇到混合运算执行体之前或在混合运算执行体之后,所有的数据类型推导执行体都基于其上游数据类型推导执行体的推导结果执行数据类型推导操作,因此,在所有连续的非混合任务节点的数据类型推导执行体进行推导操作所花费的时间都被包含在对应的运算执行体执行运算所花费的时间之内。对于混合任务节点对应的数据类型推导执行体和混合运算执行体而言,可以看作数据类型推导操作执行体与运算执行体同步操作,所花的时间相同。因此,根据本公开,无论在数据处理网络***中是否包含混合运算执行体及其对应的数据类型推导执行体,其总体的时间花费都将不会超过所有运算执行体(包括混合运算执行体)执行运算操作所花费的时间综合,从而客观上节省了所有非混合任务计算节点所对应的数据类型推导所花费的时间。
以上参考附图详细描述根据本公开的数据处理网络***及生成该数据处理网络的计算图的方法。需要指出的是,尽管本公开仅仅针对运算和搬运两种操作类型的用户级线程进行了描述,但是实际上还包括磁盘操作(例如读写磁盘)、网络通信操作、参数更新操作等。这些都可以通过用户级线程的操作单元发出操作指令或将操作任务***对应的用户空间的元件所管理的任务流中来实现。具体如何在用户空间实现这些数据运算、磁盘的读写、参数的更新,并不属于本公开所需要面对的部分,因此不在此进行详细描述。
尽管上面按照一定的顺序描述的是如何生成计算图,但是上面描述的顺序并不是为了限定这种控制顺序,因为这些顺序并不具有明显的先后顺序。例如,数据类型推导节点和数据运算节点生成过程通常同时进行。因此尽管按照文字描述一定存在先后顺序,但是其实际执行步骤并限于这种文字描述顺序所限定的顺序关系。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本公开的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本公开的说明的情况下运用他们的基本编程技能就能实现的。
因此,本公开的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本公开的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本公开,并且存储有这样的程序产品的存储介质也构成本公开。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
还需要指出的是,在本公开的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (4)
1.一种数据处理网络***,包括:
一列按生产消费关系依次相连的数据类型推导节点;以及
一列按生产消费关系依次相连的数据运算节点,每个数据运算节点与其所在行对应的数据类型推导节点消费相连以及与前一级数据类型推导节点消费相连,
其中每个数据类型推导节点基于其前一级数据类型推导节点的数据类型推导结果执行推导获得数据类型推导结果,以及每个数据运算节点利用其所连接的数据类型推导节点的数据类型推导结果、前一级数据类型推导节点的数据类型推导结果以及其前一级数据运算节点的运算结果执行运算操作并向其下一级数据运算节点输出其运算结果。
2.根据权利要求1所述的数据处理网络***,其中所述数据运算节点包括混合数据运算节点,所述混合数据运算节点与其所在行的数据类型推导节点可修改消费连接以及与其后一级数据运算节点所对应的后一级数据类型推导节点控制连接,以便所述后一级数据类型推导节点在获得所述混合数据运算节点的消息后执行数据类型推导。
3.一种计算图生成方法,包括:
获取作业任务逻辑图,所述逻辑图包含按照预定逻辑顺序依次相连的用于完成指定作业任务的多个任务节点,每个任务节点的指定作业任务包含数据类型推导任务以及数据运算任务;
解析任务节点的指定作业任务,将每个任务节点的数据类型推导任务逐一映射为数据类型推导节点以及将每个任务节点的数据运算任务逐一映射为数据运算节点; 以及
将数据类型推导节点按照任务节点的预定逻辑顺序排列成一列按生产消费关系依次相连的数据类型推导节点,将数据运算节点按照任务节点的预定逻辑顺序排列成一列按生产消费关系依次相连的数据运算节点,将关联到同一任务节点的数据类型推导节点与数据运算节点建立消费连接,以及将每个数据运算节点与其前一级数据类型推导节点消费相连,从而形成与作业任务逻辑图对应的计算图。
4.根据权利要求3所述的计算图生成方法,所述解析任务节点的指定作业任务还包括:
解析识别指定作业任务中的运算任务中的混合运算任务,所述混合运算任务在运算过程中会改变数据类型;以及
将所识别的混合运算任务映射为混合数据运算节点以及进一步在所述混合数据运算节点与其后一级数据运算节点所对应的后一级数据类型推导节点之间建立控制相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600035.4A CN111475684B (zh) | 2020-06-29 | 2020-06-29 | 数据处理网络***及其计算图生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600035.4A CN111475684B (zh) | 2020-06-29 | 2020-06-29 | 数据处理网络***及其计算图生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475684A CN111475684A (zh) | 2020-07-31 |
CN111475684B true CN111475684B (zh) | 2020-09-22 |
Family
ID=71764021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010600035.4A Active CN111475684B (zh) | 2020-06-29 | 2020-06-29 | 数据处理网络***及其计算图生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475684B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862109B (zh) * | 2021-02-09 | 2024-05-24 | 上海商汤智能科技有限公司 | 深度学习模型的执行方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102957622A (zh) * | 2011-08-16 | 2013-03-06 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法、装置及*** |
CN106611037A (zh) * | 2016-09-12 | 2017-05-03 | 星环信息科技(上海)有限公司 | 用于分布式图计算的方法与设备 |
CN109669772A (zh) * | 2018-12-28 | 2019-04-23 | 第四范式(北京)技术有限公司 | 计算图的并行执行方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467569B2 (en) * | 2014-10-03 | 2019-11-05 | Datameer, Inc. | Apparatus and method for scheduling distributed workflow tasks |
CN111309479B (zh) * | 2020-02-14 | 2023-06-06 | 北京百度网讯科技有限公司 | 一种任务并行处理的实现方法、装置、设备和介质 |
-
2020
- 2020-06-29 CN CN202010600035.4A patent/CN111475684B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102957622A (zh) * | 2011-08-16 | 2013-03-06 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法、装置及*** |
CN106611037A (zh) * | 2016-09-12 | 2017-05-03 | 星环信息科技(上海)有限公司 | 用于分布式图计算的方法与设备 |
CN109669772A (zh) * | 2018-12-28 | 2019-04-23 | 第四范式(北京)技术有限公司 | 计算图的并行执行方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111475684A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3285170B1 (en) | Application profiling job management system, program, and method | |
US7844959B2 (en) | Runtime optimization of distributed execution graph | |
US6334193B1 (en) | Method and apparatus for implementing user-definable error handling processes | |
US20120324454A1 (en) | Control Flow Graph Driven Operating System | |
US8201142B2 (en) | Description language for structured graphs | |
CN105164639A (zh) | 控制由计算***执行的任务 | |
US20080082644A1 (en) | Distributed parallel computing | |
CN109308213B (zh) | 基于改进任务调度机制的多任务断点调试方法 | |
CN110569113A (zh) | 分布式任务的调度方法及***、计算机可读存储介质 | |
JP6400296B2 (ja) | マルチモード支援プロセッサ及びマルチモードを支援する処理方法 | |
CN111158743B (zh) | 大数据运维管理平台 | |
CN111475684B (zh) | 数据处理网络***及其计算图生成方法 | |
US10310877B2 (en) | Category based execution scheduling | |
CN111158919B (zh) | 内存资源原地共享决策***及其方法 | |
CN109144486B (zh) | 一种无状态化的工作流程实现方法 | |
CN116107728B (zh) | 一种任务执行方法、装置、存储介质及电子设备 | |
US10996987B2 (en) | Progress visualization of computational job | |
CN112445607B (zh) | 一种应用程序执行方法函数的方法及装置 | |
CN114020373A (zh) | 一种基于函数式定义流程的实现方法 | |
CN114020262A (zh) | 一种继电保护装置功能模块的调度方法及*** | |
CN103593320B (zh) | 多处理器***、装置和方法 | |
US20180101384A1 (en) | Morphed instruction according to configuration update | |
KR20220113873A (ko) | 소프트웨어 모듈 개발을 위한 시스템 | |
Jensen | A timeliness model for asychronous decentralized computer systems | |
KR100289058B1 (ko) | 워크플로우 관리시스템의 프로세스 정의 및 제어방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |