CN110262995A - Executive body creation system and executive body creation method - Google Patents

Executive body creation system and executive body creation method Download PDF

Info

Publication number
CN110262995A
CN110262995A CN201910633638.1A CN201910633638A CN110262995A CN 110262995 A CN110262995 A CN 110262995A CN 201910633638 A CN201910633638 A CN 201910633638A CN 110262995 A CN110262995 A CN 110262995A
Authority
CN
China
Prior art keywords
task
node
data
execution body
component
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
Application number
CN201910633638.1A
Other languages
Chinese (zh)
Inventor
李新奇
牛冲
袁进辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Silicon Flow Technology Co ltd
Original Assignee
Beijing First-Class Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing First-Class Technology Co Ltd filed Critical Beijing First-Class Technology Co Ltd
Priority to CN201910633638.1A priority Critical patent/CN110262995A/en
Publication of CN110262995A publication Critical patent/CN110262995A/en
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00—Digital computers in general; Data processing equipment in general
    • G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163—Interprocessor communication
    • G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306—Intercommunication techniques
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00—Digital computers in general; Data processing equipment in general
    • G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163—Interprocessor communication
    • G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356—Indirect interconnection networks
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/04—Architecture, e.g. interconnection topology
    • G06N3/045—Combinations of networks
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Neurology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开公开了一种执行体创建系统,包括:任务拓扑图生成组件,用于将所需完成的作业分解为一系列由异构架构中执行体来执行的任务,并在作业分解的同时,基于所分解的任务之间的固有关系,生成任务关系拓扑图,所述任务拓扑图的任务节点含有执行对应任务所需的全部节点属性,所述任务拓扑图生成组件包括指定组元节点选择单元,用于在生成任务关系拓扑图过程中根据具体任务选择具有包含附加节点属性的指定组元的具体任务节点,所述附加节点属性改变该具体任务节点执行对应任务的方式;以及执行体创建组件,基于任务关系拓扑图以及每个任务节点的全部节点属性或含有指定组元的全部节点属性在计算资源中为每个任务节点创建对应的执行体,并使得与有附加节点属性的具体任务节点对应的具体执行体按照附加节点属性执行对应的任务。

The present disclosure discloses an execution body creation system, including: a task topology map generation component, which is used to decompose the job to be completed into a series of tasks executed by the execution body in the heterogeneous architecture, and when the job is decomposed, Based on the inherent relationship between the decomposed tasks, a task relationship topology diagram is generated, the task nodes in the task topology diagram contain all the node attributes required to execute the corresponding task, and the task topology diagram generation component includes a specified component node selection unit , used to select a specific task node having a specified component including an additional node attribute according to a specific task in the process of generating the task relationship topology diagram, and the additional node attribute changes the way the specific task node executes the corresponding task; and an executive creation component , based on the task relationship topology graph and all node attributes of each task node or all node attributes containing specified components, create a corresponding execution body for each task node in the computing resource, and make the specific task node with additional node attributes The corresponding specific executive executes the corresponding task according to the additional node attributes.

Description

执行体创建系统和执行体创建方法Executive body creation system and executive body creation method

技术领域technical field

本公开涉及一种对数据处理网络中存储空间进行精细化管理和硬件优化的系统和方法,更具体而言,涉及一种数据处理网络中执行体创建系统和执行体创建方法。The present disclosure relates to a system and method for fine-grained management and hardware optimization of storage space in a data processing network, and more specifically, to an executive creation system and execution creation method in a data processing network.

背景技术Background technique

随着机器学习的发展以及人工神经网络的研究的逐步深入,深度学习的概念得到广泛的关注和应用。深度学习是一种特殊的机器学习,它采用网状层级结构来表达所学习的对象,通过简单概念来组合成抽象概念,通过简单概念计算来实现抽象的概念表达。目前,深度学习在图像识别、语音识别以及自然语言处理领域有了长足的进展。深度学习涉及的模型参数多,导致计算量巨大,而且训练数据的规模大,因此需要消耗较多的计算资源等特点。With the development of machine learning and the gradual deepening of artificial neural network research, the concept of deep learning has been widely concerned and applied. Deep learning is a special kind of machine learning. It uses a network hierarchical structure to express the learning objects, combines simple concepts into abstract concepts, and realizes abstract concept expression through simple concept calculations. At present, deep learning has made great progress in the fields of image recognition, speech recognition and natural language processing. Deep learning involves a large number of model parameters, resulting in a huge amount of calculation, and the scale of training data is large, so it needs to consume more computing resources.

随着大数据计算以及深度学习的兴起,各种协处理器通常被用于分担CPU的数据处理功能。例如GPU(Graphic Processing Unit)、APU等。GPU具有高并行结构(highlyparallel structure),所以GPU在处理图形数据和复杂算法方面拥有比CPU更高的效率。CPU执行计算任务时,一个时刻只处理一个数据,不存在真正意义上的并行,而GPU具有多个处理器核,在一个时刻可以并行处理多个数据。与CPU相比,GPU拥有更多的ALU(ArithmeticLogic Unit,逻辑运算执行体)用于数据处理,而非数据高速缓存和流控制。这样的结构非常适合于对于类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。With the rise of big data computing and deep learning, various coprocessors are usually used to share the data processing function of the CPU. Such as GPU (Graphic Processing Unit), APU, etc. GPU has a highly parallel structure, so GPU is more efficient than CPU in processing graphics data and complex algorithms. When the CPU performs computing tasks, only one piece of data is processed at a time, and there is no true parallelism, while the GPU has multiple processor cores, which can process multiple pieces of data in parallel at a time. Compared with the CPU, the GPU has more ALUs (ArithmeticLogic Unit, logical operation execution body) for data processing, rather than data cache and flow control. Such a structure is very suitable for large-scale data that is highly unified, independent of each other, and a pure computing environment that does not need to be interrupted.

现有的大数据计算和深度学习网络系统通过预定各个运算执行体的操作功能来进行连续的数据处理,因此,网络一旦启动进入运行期,执行体就需要依据预定操作对数据块进行操作和处理,并且执行体运行以及数据块的操作都固定不变。这样会导致在某些执行体处的数据块的处理过程中的资源浪费,甚至会导致操作过程由于上下游关系对数据块的空置过慢影响下游执行体的操作。Existing big data computing and deep learning network systems perform continuous data processing by pre-determining the operation functions of each computing executive. Therefore, once the network is started and enters the running period, the executive needs to operate and process the data block according to the predetermined operation. , and the operation of the execution body and the operation of the data block are fixed. This will lead to waste of resources in the process of processing data blocks at some execution bodies, and even cause the operation process to be too slow to vacate data blocks due to upstream and downstream relationships and affect the operation of downstream execution bodies.

因此,人们希望有一种数据处理网络能够对特定的执行体和数据块之间的关系进行调节,从而提高整体数据处理网络的数据处理速度以及提高执行体的重复利用率。Therefore, people hope to have a data processing network that can adjust the relationship between a specific executable and a data block, so as to improve the data processing speed of the overall data processing network and improve the reuse rate of the executable.

发明内容Contents of the invention

由于大数据以及深度学习由于所处理的数据具有类型高度统一型,因此为提供一种能够消除现有技术中存在的上述问题提供了可能。本公开的目的在于提供一种执行体创建系统,包括:任务拓扑图生成组件,用于将所需完成的作业分解为一系列由异构架构中执行体来执行的任务,并在作业分解的同时,基于所分解的任务之间的固有关系,生成任务关系拓扑图,所述任务拓扑图的任务节点含有执行对应任务所需的全部节点属性,所述任务拓扑图生成组件包括指定组元节点选择单元,用于在生成任务关系拓扑图过程中根据具体任务选择具有包含附加节点属性的指定组元的具体任务节点,所述附加节点属性改变该具体任务节点执行对应任务的方式;以及执行体创建组件,基于任务关系拓扑图以及每个任务节点的全部节点属性或含有指定组元的全部节点属性在计算资源中为每个任务节点创建对应的执行体,并使得与有附加节点属性的具体任务节点对应的具体执行体按照附加节点属性执行对应的任务。Due to the highly uniform type of data processed by big data and deep learning, it is possible to provide a method that can eliminate the above-mentioned problems existing in the prior art. The purpose of this disclosure is to provide an executive body creation system, including: a task topology map generation component, which is used to decompose the job to be completed into a series of tasks executed by the executive body in the heterogeneous architecture, and in the job decomposition At the same time, based on the inherent relationship between the decomposed tasks, a task relationship topology diagram is generated, the task nodes in the task topology diagram contain all the node attributes required to perform the corresponding tasks, and the task topology diagram generation component includes specified component nodes A selection unit, configured to select a specific task node with a specified component including an additional node attribute according to a specific task in the process of generating the task relationship topology diagram, and the additional node attribute changes the way the specific task node executes the corresponding task; and the execution body Create components, based on the task relationship topology graph and all node attributes of each task node or all node attributes containing specified components, create a corresponding execution body for each task node in the computing resource, and make it related to specific nodes with additional node attributes The specific execution body corresponding to the task node executes the corresponding task according to the additional node attributes.

根据本公开的执行体创建系统,其中所述指定组元包含的附加节点属性为数据操作节点属性,用于使得所创建的具体执行体仅仅对被处理数据的头部数据执行操作。According to the execution body creation system of the present disclosure, the additional node attribute contained in the designated component is a data operation node attribute, which is used to make the created specific execution body only perform operations on the header data of the processed data.

根据本公开的执行体创建系统,其中所述指定组元包含的附加节点属性为数据存储节点属性,用于使得所创建的具体执行体仅仅存储被处理数据的头部数据。According to the execution body creation system of the present disclosure, the additional node attribute contained in the specified component is a data storage node attribute, which is used to make the created specific execution body only store the header data of the processed data.

根据本公开的执行体创建系统,其中所述指定组元包含的附加节点属性为数据修改节点属性,用于使得所创建的具体执行体能够修改被处理数据的头部数据。According to the execution body creation system of the present disclosure, the additional node attribute contained in the designated component is a data modification node attribute, which is used to enable the created specific execution body to modify the header data of the processed data.

根据本公开的另一个方面,提供了一种执行体创建方法,包括:将所需完成的作业分解为一系列由异构架构中执行体来执行的任务,并在作业分解的同时,基于所分解的任务之间的固有关系,生成任务关系拓扑图,所述任务拓扑图的任务节点含有执行对应任务所需的全部节点属性;在生成任务关系拓扑图过程中,根据具体任务选择具有包含附加节点属性的指定组元的具体任务节点,所述附加节点属性改变该具体任务节点执行对应任务的方式;以及基于任务关系拓扑图以及每个任务节点的全部节点属性或含有指定组元的全部节点属性在计算资源中为每个任务节点创建对应的执行体,并使得与有附加节点属性的具体任务节点对应的具体执行体按照附加节点属性执行对应的任务。According to another aspect of the present disclosure, a method for creating an executive body is provided, including: decomposing the job to be completed into a series of tasks performed by the executive body in the heterogeneous architecture, and while decomposing the job, based on the Decompose the inherent relationship between tasks to generate a task relationship topology diagram, the task nodes of the task topology diagram contain all the node attributes required to perform the corresponding tasks; in the process of generating the task relationship topology diagram, according to the specific task selection has additional The specific task node of the specified component of the node attribute, the additional node attribute changes the way the specific task node executes the corresponding task; and based on the task relationship topology map and all node attributes of each task node or all nodes containing the specified component The attribute creates a corresponding execution body for each task node in the computing resource, and makes the specific execution body corresponding to the specific task node with the additional node attribute execute the corresponding task according to the additional node attribute.

根据本公开的执行体创建方法,其中所述指定组元包含的附加节点属性为数据操作节点属性,用于使得所创建的具体执行体仅仅对被处理数据的头部数据执行操作。According to the execution body creation method of the present disclosure, the additional node attribute contained in the designated component is a data operation node attribute, which is used to make the created specific execution body only perform operations on the header data of the processed data.

根据本公开的执行体创建方法,其中所述指定组元包含的附加节点属性为数据存储节点属性,用于使得所创建的具体执行体仅仅存储被处理数据的头部数据。According to the execution body creation method of the present disclosure, the additional node attribute contained in the designated component is a data storage node attribute, which is used to make the created specific execution body only store the header data of the processed data.

根据本公开的执行体创建方法,其中所述指定组元包含的附加节点属性为数据修改节点属性,用于使得所创建的具体执行体能够修改被处理数据的头部数据。According to the execution body creation method of the present disclosure, the additional node attribute contained in the designated component is a data modification node attribute, which is used to enable the created specific execution body to modify the header data of the processed data.

通过指定组元节点选择单元选择具有包含附加节点属性的指定组元的具体任务节点,能够使得基于包含节点附加属性的全部节点属性创建的执行体对数据块的操作范围、操作方式以及存储方式做出对应于节点属性的变化,使得执行体具有更为灵活的操作功能,从而实现静态数据处理网络中对存储空间的精细化管理,并使得各个节点的执行体硬件得到优化。通过指定组元节点选择单元选择具有指定组元所包含加节点属性的具体任务节点使得对应的具体执行体可以对数据块的头部数据进行修改,从而使得执行体能够超出数据块本身的固有属性对数据块进行更丰富多样的操作处理,从而能够扩展数据处理网络对数据块的多样化处理要求。By specifying a component node selection unit to select a specific task node with a specified component that includes additional node attributes, it is possible to make the execution body created based on all node attributes that include node additional attributes do the operation range, operation mode, and storage mode of the data block. Corresponding to the change of node attributes, the executive body has more flexible operation functions, so as to realize the fine management of storage space in the static data processing network, and optimize the execution body hardware of each node. By specifying the component node selection unit to select a specific task node with the node attribute included in the specified component, the corresponding specific execution body can modify the header data of the data block, so that the execution body can exceed the inherent properties of the data block itself More diverse operations are performed on the data blocks, so that the diversified processing requirements of the data processing network for the data blocks can be expanded.

本公开的其它优点、目标和特征的一部分将通过下面的说明得以体现,另一部分将通过对本公开的研究和实践而为本领域的技术人员所理解。Part of the other advantages, objectives and features of the present disclosure will be realized through the following description, and part of them will be understood by those skilled in the art through the study and practice of the present disclosure.

附图说明Description of drawings

图1所示的是根据本公开的用于数据处理网络中的执行体创建系统的结构示意图;FIG. 1 is a schematic structural diagram of a system for creating an executive in a data processing network according to the present disclosure;

图2所示的是根据本公开的数据处理网络中执行体创建系统中指定组元节点选择单元对具体执行体影响的原理示意图。FIG. 2 is a schematic diagram showing the influence of a specified component node selection unit on a specific execution body in the execution body creation system in the data processing network according to the present disclosure.

图3为所示的是根据本公开的数据处理网络中的执行体创建系统所创建的执行体网络的结构示意图。FIG. 3 is a schematic structural diagram of an executive network created by the executive creation system in the data processing network according to the present disclosure.

具体实施方式Detailed ways

下面结合实施例和附图对本公开做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。The present disclosure will be described in further detail below in conjunction with the embodiments and drawings, so that those skilled in the art can implement it with reference to the description.

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numerals in different drawings refer to the same or similar elements unless otherwise indicated. The implementations described in the following exemplary examples do not represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatuses and methods consistent with aspects of the present disclosure as recited in the appended claims.

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terminology used in the present disclosure is for the purpose of describing particular embodiments only and is not intended to limit the present disclosure. As used in this disclosure and the appended claims, the singular forms "a", "the", and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It should also be understood that the term "and/or" as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,在下文中,两个可能设备之一可以被称为第一执行体也可以被称为第二执行体,类似地,两个可能设备的另一个可以被称为第二执行体也可以被称为第一执行体。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although the terms first, second, third, etc. may be used in the present disclosure to describe various information, the information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of the present disclosure, hereinafter, one of the two possible devices may be referred to as a first executive or as a second executive, and similarly, the other of the two possible devices may be What is called the second executive can also be called the first executive. Depending on the context, the word "if" as used herein may be interpreted as "at" or "when" or "in response to a determination."

为了使本领域技术人员更好地理解本公开,下面结合附图和具体实施方式对本公开作进一步详细说明。In order to enable those skilled in the art to better understand the present disclosure, the present disclosure will be described in further detail below in conjunction with the accompanying drawings and specific embodiments.

图1所示的是根据本公开的用于数据处理网络中的执行体创建系统的结构示意图。如图1所示,执行体创建系统布置在异构架构,该异构架构由CPU00和CPU01分别与CPU00相连的GPU00、GPU01以及GPU2和与CPU01相连的GPU10、GPU11以及GPU12构成。尽管此处仅仅显示了两个CPU和六个GPU,但是异构架构可以包括更多的CPU,并且与每个CPU相连的GPU也可以更多或更少,这可基于实际需要来定。FIG. 1 is a schematic structural diagram of an executive creation system used in a data processing network according to the present disclosure. As shown in Figure 1, the executive body creation system is arranged in a heterogeneous architecture, which is composed of CPU00 and CPU01 respectively connected to CPU00, GPU00, GPU01, and GPU2, and GPU10, GPU11, and GPU12 connected to CPU01. Although only two CPUs and six GPUs are shown here, the heterogeneous architecture may include more CPUs, and more or fewer GPUs connected to each CPU may be determined based on actual needs.

根据本公开的执行体创建系统100部署在图1所示的异构架构中。尽管图1显示的执行体创建系统的构成部分单独显示在各个CPU和GPU之外,这是为了突出显示和方便描述进行的处理。实际上该执行体创建系统的构成部分都分布在CPU和/或GPU之中。The executable creation system 100 according to the present disclosure is deployed in the heterogeneous architecture shown in FIG. 1 . Although the components of the executive body creation system shown in FIG. 1 are shown separately from each CPU and GPU, this is for highlighting and convenient description of the processing. In fact, the components of the executable creation system are all distributed in the CPU and/or GPU.

如图1所示,所述执行体创建系统100包括任务拓扑图生成组件120以及执行体创建组件130。执行体网络组件140是执行体创建组件130的创建结果网络组件。As shown in FIG. 1 , the execution body creation system 100 includes a task topology graph generation component 120 and an execution body creation component 130 . The executive web component 140 is a creation result web component of the executive creation component 130 .

如图1所示,任务拓扑图生成组件120用于将所需完成的作业分解为一系列由异构架构中执行体来执行的任务,并在进行作业分解的同时,基于所分解的任务之间的固有关系,生成任务关系拓扑图。执行体创建系统100是为了处理预定类型的作业数据而设立的,为了连续对同类型的数据进行连续的处理,需要将作业分解成为适合CPU或GPU的运算单元执行运算或其他操作的简单任务。具体而言,就是将作业分解成为彼此相关联的任务。所述任务拓扑图生成组件120对作业的分解包括对数据块的分解以及对数据处理模型的分解,即对作业的分解是设置对将要处理的作业数据的分解方式。具体而言,按照对作业任务要求的描述,对作业按照将要处理的过程,进行分层分解成多层神经网络结构。一个作业(Job)被分解成一系列互相依赖的任务(Task),这种依赖关系通常用有向无环图(Directedacyclic graph,DAG)来描述,每个节点表示一个任务,节点之间的连接线表示一个数据依赖关系(生产者和消费者关系)。在此不具体描述作业分解后任务关系图的情形。As shown in FIG. 1 , the task topology graph generation component 120 is used to decompose the required job into a series of tasks executed by the executives in the heterogeneous architecture, and when the job is decomposed, based on the decomposed tasks Intrinsic relationship between tasks to generate a topological map of task relationships. The executable creation system 100 is set up to process predetermined types of job data. In order to continuously process the same type of data, jobs need to be decomposed into simple tasks suitable for CPU or GPU computing units to perform calculations or other operations. Specifically, a job is broken down into tasks that are related to each other. The job decomposition by the task topology graph generation component 120 includes the decomposition of the data block and the data processing model, that is, the decomposition of the job is to set the decomposition mode of the job data to be processed. Specifically, according to the description of the job task requirements, the job is decomposed into a multi-layer neural network structure according to the process to be processed. A job (Job) is decomposed into a series of interdependent tasks (Task), this dependency is usually described by a directed acyclic graph (Directedacyclic graph, DAG), each node represents a task, and the connecting lines between nodes Represents a data dependency (producer and consumer relationship). The situation of the task relationship graph after job decomposition is not specifically described here.

在逐步分解作业的同时,任务拓扑图生成组件120也逐层形成任务关系拓扑图。由于作业分解形成的各个任务之间的存在固有的逻辑关系,因此,随着作业被分解为不同的任务,在不同的任务层上,任务拓扑图生成组件120也随之形成任务关系拓扑图,这些任务关系拓扑图形成了所分解的任务之间的神经网络。在作业复杂的情况下,任务关系拓扑图包含有多层,因此也形成了多层任务神经网络。每层神经网络既包含对应具体任务的神经元节点,也包含各个神经元之间关系,而且既包含针对未来将被用于分片数据的处理的任务的数据并行网络,也包含将被用于分片模型的任务的模型并行网络。可选择地,这些神经网络中也可仅仅包括数据并行网络。是否同时包含数据并行网络与模型并行网络,可以根据实际需要进行配置。While decomposing the job step by step, the task topology graph generation component 120 also forms the task relationship topology layer by layer. Due to the inherent logical relationship among the various tasks formed by the job decomposition, as the job is decomposed into different tasks and on different task layers, the task topology map generation component 120 also forms a task relationship topology map. These task-relationship topologies form neural networks among the decomposed tasks. In the case of complex tasks, the task relationship topology graph contains multiple layers, so a multi-layer task neural network is also formed. Each layer of neural network contains not only the neuron nodes corresponding to specific tasks, but also the relationship between each neuron, and it contains both the data parallel network for future tasks that will be used to process sliced data, as well as the data parallel network that will be used for A model-parallel network for the task of sharding models. Optionally, these neural networks may only include data parallel networks. Whether to include the data parallel network and the model parallel network at the same time can be configured according to actual needs.

为了在随后的执行体创建组件一次性对任务拓扑图的任意节点创建执行体,根据本公开的任务拓扑图生成组件120在生成任务拓扑图的每个节点同时,赋予每个节点执行对应任务所需的全部节点属性。所述全部节点属性包含了诸如指明节点所对应的任务所需的资源的资源属性以及触发任务执行的触发条件的条件属性等等。所述全部节点属性也包含了后面将提到的附加节点属性。正是由于本公开的任务拓扑图中的每个节点包含了全部节点属性,因此其在随后创建执行体时立即自动具备了执行任务所有的资源和所有属性,处于完全配置状态,不需要在对具体数据执行具体任务时进行诸如对环境资源进行动态分配以及动态配置触发条件等等。对于基于本公开的任务拓扑图以及含有全部节点属性的节点所创建的每个执行体而言,其在对具体数据进行处理过程中,本身处于静态状态,变化的仅仅是输入数据的不同。现有用于深度学习的执行体创建系统的神经网络的节点所包含的节点属性非常少或基本没有,因此节点对应任务的执行需要在具体任务执行过程中临时推导出所需的属性从而动态获取相应的属性来完成对应的任务。并且这种临时推导的属性针对同样的任务每次都需要临时推导,因此会需要大量的运算开销。In order to create an executable body for any node in the task topology map at one time in the subsequent executable body creation component, the task topology map generation component 120 according to the present disclosure, while generating each node in the task topology map, assigns each node the necessary information to execute the corresponding task. All required node attributes. The attributes of all nodes include, for example, resource attributes specifying the resources required by the task corresponding to the node, condition attributes that trigger the trigger conditions for task execution, and so on. The above-mentioned all node attributes also include the additional node attributes mentioned later. It is precisely because each node in the task topology diagram of this disclosure contains all node attributes, so it automatically has all the resources and all attributes of the task when it is created subsequently, and is in a fully configured state. When specific data executes specific tasks, such as dynamic allocation of environmental resources and dynamic configuration of trigger conditions and so on. For each executive created based on the task topology graph of the present disclosure and nodes containing all node attributes, it is in a static state when processing specific data, and the only change is the difference in input data. The nodes of the neural network of the existing executive body creation system for deep learning contain very few or no node attributes, so the execution of the corresponding task of the node needs to temporarily derive the required attributes during the execution of the specific task to dynamically obtain the corresponding attributes. attribute to complete the corresponding task. And this kind of temporary derivation attribute requires temporary derivation every time for the same task, so it will require a lot of computing overhead.

需要指出的是,任务拓扑图生成组件120存在逐层形成任务关系拓扑图同时,需要对已经形成的任务关系拓扑图进行优化。因此根据本公开的任务拓扑图生成组件120还包括拓扑图优化组件121。所述拓扑图优化组件121包括各种优化单元,例如冗余节点消除单元1211、阻塞节点消除单元1212以及指定组元节点选择单元这样的等效子图变换单元1213以及其他用于优化拓扑图的单元1214。尽管在本公开的图1中显示包含了上述三个单元,但是并不表示本公开必须都包含这些单元。本公开的实现并不需要一定包含上述拓扑优化组件121。拓扑优化组件121的存在,将使得任务拓扑图生成组件120所生成的任务拓扑图更为合理,并且将在随后的数据处理过程中运行的更为流畅,处理效率更高。It should be pointed out that, while the task topology diagram generation component 120 forms the task relationship topology diagram layer by layer, it needs to optimize the already formed task relationship topology diagram. Therefore, the task topology map generation component 120 according to the present disclosure also includes a topology map optimization component 121 . The topology graph optimization component 121 includes various optimization units, such as redundant node elimination unit 1211, blocked node elimination unit 1212, and equivalent subgraph transformation unit 1213 such as a designated component node selection unit, and other components for optimizing the topology graph Unit 1214. Although it is shown that the above three units are included in FIG. 1 of the present disclosure, it does not mean that the present disclosure must include all of these units. The implementation of the present disclosure does not necessarily include the above-mentioned topology optimization component 121 . The existence of the topology optimization component 121 will make the task topology generated by the task topology generation component 120 more reasonable, and will run more smoothly in the subsequent data processing process with higher processing efficiency.

具体而言,在任务拓扑图生成组件120生成任务拓扑图的过程中,可能会存在针对某一任务,出现重复生成对应节点的情况。例如,在一个神经网络子图中,可能会出现两个并列的节点,两者具有相同的上游节点和相同的下游节点,并且对应同一个任务。这样的节点就是冗余节点情形。这种冗余节点的存在会重复消耗异构架构中的运算资源,使得神经网络复杂化。因此这种冗余节点是需要去掉的节点。在任务拓扑图生成组件120生成任务拓扑图的过程中如果发现了这种重复节点,冗余节点消除单元1211会获知这种节点的存在并直接删除该冗余节点,使得与该冗余节点的上下游节点仅仅关联到与给被删除冗余节点相同的节点(与冗余节点执行相同任务的节点)的上下游节点。此外,在任务拓扑图生成组件120生成任务拓扑图的过程中,可能会存在针对某些任务彼此之间的交互,会由于任务处理不及时出现下游节点堵塞情况,从而将导致被阻塞的节点的阻塞情况向前传导。为此,在任务拓扑图生成组件120生成任务拓扑图的过程中如果发现了这种阻塞节点,阻塞节点消除单元1212会消除任务拓扑图中的造成运算阻塞的节点。具体而言,就是改变阻塞节点与上游节点之间的连接边,增加一个或多个节点,消除阻塞节点处阻塞对上游的传导。Specifically, during the process of generating the task topology graph by the task topology graph generating component 120, there may be cases where corresponding nodes are repeatedly generated for a certain task. For example, in a neural network subgraph, there may be two juxtaposed nodes, both of which have the same upstream node and the same downstream node, and correspond to the same task. Such a node is a redundant node situation. The existence of such redundant nodes will repeatedly consume computing resources in heterogeneous architectures, complicating the neural network. Therefore, this redundant node is a node that needs to be removed. If such a duplicate node is found in the process of generating the task topology map by the task topology map generation component 120, the redundant node elimination unit 1211 will know the existence of this node and directly delete the redundant node, so that the redundant node The upstream and downstream nodes are only associated to the upstream and downstream nodes of the same node as the redundant node to be deleted (a node performing the same task as the redundant node). In addition, in the process of generating the task topology map by the task topology map generation component 120, there may be interactions between certain tasks, and downstream node congestion may occur due to untimely task processing, which will result in blocked nodes. Blockages are propagated forward. For this reason, if such blocked nodes are found during the process of generating the task topology map by the task topology map generation component 120, the blocked node eliminating unit 1212 will eliminate the nodes that cause operation blockage in the task topology map. Specifically, it is to change the connection edge between the blocked node and the upstream node, add one or more nodes, and eliminate the conduction of the blocked node to the upstream.

在任务拓扑图生成组件120生成任务拓扑图的过程中,为了执行体具有更为灵活的操作功能,从而实现静态数据处理网络中对存储空间的精细化管理,并使得各个节点的执行体硬件得到优化,指定组元节点选择单元1213在生成任务关系拓扑图过程中根据具体任务选择具有包含附加节点属性的指定组元的具体任务节点,所述附加节点属性改变该具体任务节点执行对应任务的方式,例如,改变对应任务节点的执行体处理任务数据的范围、改变输出数据存储的范围、消除一次不必要的后向运算、改变输出数据的可修改属性以及改变执行体执行任务的频率等。In the process of generating the task topology graph by the task topology graph generation component 120, in order to allow the execution body to have more flexible operation functions, the refined management of the storage space in the static data processing network can be realized, and the execution body hardware of each node can be obtained. Optimization, the specified component node selection unit 1213 selects a specific task node with a specified component containing an additional node attribute according to the specific task in the process of generating the task relationship topology diagram, and the additional node attribute changes the way the specific task node executes the corresponding task For example, change the scope of task data processing by the executive corresponding to the task node, change the scope of output data storage, eliminate an unnecessary backward operation, change the modifiable attributes of output data, and change the frequency of execution of tasks by the executive, etc.

尽管前面仅仅详细列出了如冗余节点消除单元1211、阻塞节点消除单元1212以及指定组元节点选择单元1213的三种拓扑图优化的单元,但是用于本公开的拓扑图优化单元非常多,在此不一一描述。另外,在任务拓扑图生成组件120生成任务拓扑图的过程中,可能会存在针对某些关联任务生成的网络子图比较复杂或低效的情形。为了获得更高效的任务拓扑图,任务拓扑图生成组件120会对对某些关联任务生成的多个网络子图,由此,需要在拓扑图优化组件121中对各种子图进行等效变换,从而从多个能够完成相同运算功能的子图网络中选择最高运算效率的子图网络来替代当前子图网络。尽管公开阐述了上述拓扑图优化组件121的各种优化单元,但是还可以包括其他任何优化单元,例如图1中所示的其他单元1214。Although only three topological graph optimization units such as redundant node elimination unit 1211, blocked node elimination unit 1212, and specified component node selection unit 1213 are listed in detail above, there are many topology graph optimization units used in the present disclosure, Not described one by one here. In addition, during the process of generating the task topology graph by the task topology graph generating component 120, there may be situations where the generated network subgraphs for some associated tasks are relatively complex or inefficient. In order to obtain a more efficient task topology map, the task topology map generation component 120 will generate multiple network subgraphs for some associated tasks, thus, it is necessary to perform equivalent transformations on various subgraphs in the topology map optimization component 121 , so as to select the subgraph network with the highest computing efficiency from multiple subgraph networks capable of completing the same operation function to replace the current subgraph network. Although various optimization units of the above topology graph optimization component 121 are disclosed, any other optimization units may also be included, such as the other unit 1214 shown in FIG. 1 .

在任务拓扑图生成组件120生成各层任务神经网络拓扑图之后,执行体创建组件130基于任务关系拓扑图在异构架构所包含的计算资源中为每个任务创建对应的执行体。具体而言,根据对任务描述中所需的硬件资源,基于每个节点的全部节点属性,为每个任务在异构架构中指定相应数量的运算单元和相应的存储单元构成执行体来执行对应的任务。所创建的执行体包括了异构架构中的计算资源中的各种资源,例如存储单元、消息发送或接收单元、运算单元等等。执行体的运算单元可能为一个也可能包含多个,只要其能够完成指定的任务即可。在执行体在被创建之后,将始终执行所指定的任务不会改变,除非所需执行的任务消失,例如该执行体所属的异构架构再次被应用于其他类型作业的处理。所创建的执行体之间形成的网络关系与任务拓扑图中各个神经网络节点彼此之间的关系对应从而形成了图1中所示的执行体网络组件140。构成执行体网络组件140的各个执行体分布在构成异构架构的一个或多个CPU和与CPU相连的协处理器中。协处理器诸如GPU、TPU等。如图1示意性所示,在执行体网络组件140的各个执行体采用各种微小的圆圈代替。一些小圆圈彼此通过虚线串联在一起形成数据处理路径。一条数据处理路径中会存在一些分支。两条或更多条数据处理路径之间会存在彼此交叉形成一条更为复杂关系的数据处理路径。这些数据处理路径在该异构架构上将始终保持不变。After the task topology graph generation component 120 generates the task neural network topology graph of each layer, the executive body creation component 130 creates a corresponding executive body for each task in the computing resources included in the heterogeneous architecture based on the task relationship topology graph. Specifically, according to the hardware resources required in the task description, and based on all node attributes of each node, a corresponding number of computing units and corresponding storage units are designated for each task in the heterogeneous architecture to form an execution body to execute the corresponding task. The created executable includes various resources in the computing resources in the heterogeneous architecture, such as storage unit, message sending or receiving unit, computing unit and so on. The computing unit of the executive body may be one or may contain multiple, as long as it can complete the specified task. After the execution body is created, it will always execute the specified task and will not change, unless the task to be executed disappears, for example, the heterogeneous architecture to which the execution body belongs is applied to the processing of other types of jobs again. The created network relationship between the executives corresponds to the relationship between each neural network node in the task topology diagram, thus forming the executive network component 140 shown in FIG. 1 . Each execution body constituting the execution body network component 140 is distributed in one or more CPUs and coprocessors connected to the CPUs constituting a heterogeneous architecture. Coprocessors such as GPUs, TPUs, etc. As schematically shown in FIG. 1 , each execution body of the execution body network component 140 is replaced by various tiny circles. Some small circles are connected in series with each other through dotted lines to form a data processing path. There are some branches in a data processing path. There are data processing paths that intersect each other to form a more complex relationship between two or more data processing paths. These data processing paths will always remain the same on this heterogeneous architecture.

执行体网络组件140在接收实际作业数据时,将实际作业数据分片成为任务数据,所述任务数据被连续输入数据处理路径中,以便完成任务数据的处理。形象而言,连续输入的数据中的同类数据分片将被固定输入到同一数据处理路径中,所输入的数据分片向流水一样输入,依次进入同一数据处理路径的数据入口,并且经过处理后生成的数据也自动发送到数据处理路径中紧接着的下游执行体,直到流过整个数据处理路径为止。When receiving the actual job data, the executive network component 140 slices the actual job data into task data, and the task data is continuously input into the data processing path, so as to complete the processing of the task data. Visually speaking, the same type of data fragments in the continuously input data will be fixedly input into the same data processing path, and the input data fragments are input like pipelines, and enter the data entry of the same data processing path in turn, and after processing The generated data is also automatically sent to the next downstream execution body in the data processing path until it flows through the entire data processing path.

图2所示的是根据本公开的数据处理网络中执行体创建系统中指定组元节点选择单元对具体执行体影响的原理示意图。如图2所示,在用于大数据计算和深度学习的系统中,数据处理网络由各种执行体构成,为了方便描述,在图2中仅仅显示了十二个,分别标记为21、22、…32。在实际应用场景中,执行体基于需要可以为任意数量。这些执行体对输入的数据块执行预定的操作。尽管图2中进行显示了三个数据块,实际场景中,数据块的数量是海量的。FIG. 2 is a schematic diagram showing the influence of a specified component node selection unit on a specific execution body in the execution body creation system in the data processing network according to the present disclosure. As shown in Figure 2, in the system for big data computing and deep learning, the data processing network is composed of various executive bodies. For the convenience of description, only twelve are shown in Figure 2, marked as 21 and 22 respectively , ... 32. In actual application scenarios, there can be any number of executives based on needs. These executables perform predetermined operations on input data blocks. Although three data blocks are shown in Figure 2, in actual scenarios, the number of data blocks is massive.

如图2所示,在椭圆形的执行体21-29中,对外部输入的数据块1-3执行预定的操作处理。执行体通常为数据处理设备中的运算单元,例如GPU中的运算单元,或者是一个运算组件。执行体21-29之一可以只接收有一个数据输入,也可以接收多个数据输入。有些执行体可以不需要输入任何内容数据。As shown in FIG. 2, in the elliptical execution body 21-29, predetermined operation processing is performed on the externally input data blocks 1-3. The executable is usually a computing unit in a data processing device, such as a computing unit in a GPU, or a computing component. One of the executive bodies 21-29 may receive only one data input, or may receive multiple data inputs. Some executables do not need to input any content data.

在深度学习数据处理网络中,执行体在初始阶段基于确定的数据处理类型分别被赋予预定的处理任务。随着数据块的流入,每个执行体在固定接收来自上游执行体输出的数据块并将所产生的数据块输出或输出到其下游执行体。In the deep learning data processing network, the executives are given predetermined processing tasks based on the determined data processing type in the initial stage. With the inflow of data blocks, each execution body is fixedly receiving the data block output from the upstream execution body and outputting or outputting the generated data block to its downstream execution body.

在本公开的数据处理网络中,数据块包括头部数据和内容数据,下面表1给出了一种数据块结构表。In the data processing network of the present disclosure, a data block includes header data and content data, and Table 1 below provides a data block structure table.

表1Table 1

如上表1所示,头部数据确定了头部数据所含有的元数据描述了数据块的内容数据的具体内容,并且指引了内容数据的在所给定的存储空间中的具体位置。在默认情况下,执行体对数据块的操作是对数据块中的头部数据和内容数据整体的操作。但是,在具体的数据处理过程中,为了实现各种不同的目的和消除一些静态数据处理网络中问题,需要对数据块进行选择性操作、改变对数据块的操作方式或者对数据块本身进行修改。As shown in Table 1 above, the header data determines that the metadata contained in the header data describes the specific content of the content data of the data block, and guides the specific location of the content data in the given storage space. By default, the execution body's operation on the data block is the operation on the header data and content data in the data block as a whole. However, in the specific data processing process, in order to achieve various purposes and eliminate some problems in the static data processing network, it is necessary to selectively operate on the data block, change the operation mode of the data block or modify the data block itself .

在具体的数据处理过程中,由于指定组元节点选择单元1213会为预定的数据块或预定的执行体20所对应的拓扑图中的具体任务节点从节点库选择含有指定组元的任务节点,因此这些任务节点就具备了一些指定的节点属性。下文中,在不具体指明的情况下,任务节点通常与执行体对应。而且如果在不需要明确执行体具体是执行体21-29中的哪一个执行体时,统一采用标记20代替,除非需要具体指明。In the specific data processing process, since the specified component node selection unit 1213 will select the task node containing the specified component from the node library for the specific task node in the topology map corresponding to the predetermined data block or the predetermined execution body 20, Therefore, these task nodes have some specified node attributes. Hereinafter, unless otherwise specified, a task node generally corresponds to an executive body. Moreover, if it is not necessary to specify which one of the execution bodies 21-29 the execution body is, the symbol 20 is uniformly used instead, unless it is specifically specified.

在一种场景中,指定组元节点选择单元1213可以为某一执行体的任务节点选择具有指定组元或附加节点属性的任务节点,从而使得该任务节点对应的执行体指定该执行体使用数据块的范围。例如,本公开所使用的数据块包括头部数据或内容数据。指定组元节点选择单元1213所选择的任务节点所具备使得预定执行体25仅仅使用执行体22产生的数据块1-2的头部数据。在数据处理网络中,由于指定组元节点选择单元1213选择了与执行体25对应的任务节点具有仅仅使用头部数据的指定组元,从而执行体25将从预定的常规操作方式改变成在获得指定组元后的新操作方式,例如仅仅使用执行体22产生的数据块1-2的头部数据。换句话说,由于对应任务节点具有指定组元,因此执行体25消费的是数据块1-2的头部数据。因此,执行体25只需数据块1-2的头部数据的具体值,没有必要获取执行体22保存数据块1-2的内容数据。这显然会加快数据从执行体22向执行体25的流动。In one scenario, the specified component node selection unit 1213 can select a task node with a specified component or additional node attribute for a task node of a certain execution body, so that the execution body corresponding to the task node specifies that the execution body uses data block range. For example, a data block as used in this disclosure includes header data or content data. Specify the task node selected by the component node selection unit 1213 to have header data that enables the predetermined execution body 25 to only use the data block 1-2 generated by the execution body 22 . In the data processing network, since the specified component node selection unit 1213 selects the task node corresponding to the execution body 25 to have a specified component that only uses the header data, the execution body 25 will change from the predetermined conventional operation mode to obtain The new operation mode after specifying the component, for example, only uses the header data of the data block 1-2 generated by the executable 22. In other words, since the corresponding task node has the designated component, the executive body 25 consumes the header data of the data block 1-2. Therefore, the executable body 25 only needs the specific value of the header data of the data block 1-2, and there is no need to obtain the content data of the data block 1-2 saved by the executable body 22. This will obviously speed up the flow of data from executive 22 to executive 25 .

在静态数据处理网络中,执行体是数据的消费者,可能同时也是数据的生产者。因此多个执行体构成的数据处理网络中,数据块在不同执行体之间流动,经过执行体处理或消费后变成一个新的数据块,从而供下一个执行体进行预订的操作。如下面针对图3所述,下游执行体在消费或使用完上游执行体输出的数据块之后,会向上游执行体反馈使用完成的消息,以便上游执行体空置所输出的数据块所占据的存储空间,以便接收新的需要处理的数据块。在实际场景中,由于有些执行体执行的操作可能需要多个输入数据块才能执行完成预定的操作。这很可能会出现,在接收到第一输入数据块之后,由于第二或第三数据块还没有接收到因此,该执行体不能立即执行操作的情况,因此第一输入数据块的输出执行体将不能很快获得多输入执行体的反馈消息,从而第一输入数据块的输出执行体不能空置用于存储该第一输入数据块的存储空间(例如执行体的输出数据缓存),从而也就不能进一步向上一级执行体发出反馈消息。这会导致数据流的堵塞情形一直向前一级传导。具体而言,如图2所示,对于执行体29而言,其执行操作时需要获得来自执行体26输出的数据块2-2和经由执行体27和执行体28输出的数据块3-3。因此,在执行操作过程中,可能会存在执行体29在第一时间收到了执行体28输出的数据块3-3,但是一直没有接收到上游执行体26输出的数据块2-3,因此不能执行预定的操作。因此即使执行体29获得了数据块3-3,由于执行体29没有执行预定操作并消费完数据块3-3,因此上游执行体28无法获得执行体29的反馈消息,也就不能空置其所拥有的数据块3-3所占据的存储空间(不可以被改写状态)。这样,导致执行体28也始终不能向其上游执行体27发出执行完毕的确认消息,这也导致执行体27中数据块3所占据的存储空间无法被空置,因此最终导致执行体27所绑定的固定存储空间不能接收新的数据块进行连续的数据处理。这样即使在执行体27的下游执行体30、31以及32已经完成预定的操作的情况下,也无法从执行体27获得新的数据块进行后续处理。从而导致执行体30、31以及32也处于停滞等待状态。因此,由于执行体29处在接收来之执行体26的输出数据块的延迟导致其操作处于等待状态,因此导致了数据处理网络在一些与执行体29相关的任务节点上出现数据堵塞的情况。为了消除在数据处理过程中存在的这种数据流阻塞情况。指定组元节点选择单元1213或堵塞任务节点消除单元为此会为预计会出现数据流阻塞的执行体29的对应任务节点前选择一个具有保持头部数据的指定组元的任务节点,例如执行体28所对应的任务节点,使得该执行体28在具有该指定组元的情况下改变所对处理的数据块之间的操作关系,从而改变执行体28对数据块的预定的操作方式,例如,将处理后的数据块的数据存储方式改变为新的数据存储方式,举例而言,对于所获得数据块仅仅保持其头部数据。同样,为配合所选择的与执行体28对应的任务节点具有仅仅保持头部数据的指定组元,需要指定组元节点选择单元1213所选择的与执行体29对应的任务节点具有仅仅使用执行体28所生成的数据的头部数据的指定组元。这样由于执行体28仅仅保存头部数据,从而在执行体29未执行操作的情况下也由于存在“仅仅使用头部数据”的指定组元,因此,执行体28的输出数据缓存中用于存储内容数据的部分处于空置状态,使得执行体28能够向执行体27反馈消息,使得执行体27可以使其自身的输出数据缓存处于空置状态以便处于能够执行下一轮操作获得新的数据块的状态。因此,执行体27的下游执行体30-33能够及时进入下一个数据块的处理,从而消除了执行体29处的数据流堵塞对相关执行体的数据处理操作的影响。In a static data processing network, an executive is a consumer of data, and may also be a producer of data at the same time. Therefore, in a data processing network composed of multiple executives, data blocks flow between different executives, and become a new data block after being processed or consumed by the executives, so as to be reserved by the next executive. As described below for Figure 3, after the downstream execution body consumes or uses the data block output by the upstream execution body, it will feed back the use completion message to the upstream execution body, so that the upstream execution body will empty the storage occupied by the output data block space in order to receive new data blocks that need to be processed. In actual scenarios, some operations performed by an executive body may require multiple input data blocks to complete the scheduled operation. It is very likely that after receiving the first input data block, the executable cannot immediately execute the operation because the second or third data block has not been received, so the output execution body of the first input data block The feedback message of the multi-input executive body will not be obtained quickly, so that the output executive body of the first input data block cannot be vacant for storing the storage space of the first input data block (such as the output data buffer of the executive body), thereby also No further feedback messages can be sent to the upper-level executive body. This causes a congestion situation in the data flow to propagate all the way to the previous stage. Specifically, as shown in FIG. 2 , for the executable body 29 , it needs to obtain the data block 2-2 output from the executable body 26 and the data block 3-3 output via the executable body 27 and the executable body 28 when performing operations. . Therefore, in the process of executing the operation, there may be that the execution body 29 has received the data block 3-3 output by the execution body 28 at the first time, but has not received the data block 2-3 output by the upstream execution body 26, so it cannot Execute a predetermined action. Therefore, even if the execution body 29 has obtained the data block 3-3, because the execution body 29 has not executed the predetermined operation and consumed the data block 3-3, the upstream execution body 28 cannot obtain the feedback message from the execution body 29, and cannot empty the data block 3-3. The storage space occupied by the owned data block 3-3 (state that cannot be rewritten). In this way, the execution body 28 cannot always send a confirmation message that the execution is completed to its upstream execution body 27, which also causes the storage space occupied by the data block 3 in the execution body 27 to be unable to be vacant, so eventually the execution body 27 is bound. The fixed storage space cannot receive new data blocks for continuous data processing. In this way, even if the downstream execution bodies 30 , 31 and 32 of the execution body 27 have completed predetermined operations, new data blocks cannot be obtained from the execution body 27 for subsequent processing. As a result, the executive bodies 30, 31, and 32 are also in a stalled waiting state. Therefore, because the execution body 29 is in a waiting state due to the delay in receiving the output data block from the execution body 26, the data processing network has data congestion on some task nodes related to the execution body 29. In order to eliminate this data flow blocking situation existing in the data processing process. For this purpose, the specified component node selection unit 1213 or the blocked task node elimination unit will select a task node with a specified component that holds the header data before the corresponding task node of the execution body 29 that is expected to have data flow blocking, such as the execution body The task node corresponding to 28 enables the execution body 28 to change the operation relationship between the data blocks to be processed in the case of having the specified component, thereby changing the predetermined operation mode of the execution body 28 on the data blocks, for example, The data storage mode of the processed data block is changed to a new data storage mode, for example, only the head data of the obtained data block is kept. Similarly, in order to cooperate with the selected task node corresponding to the execution body 28 to have the specified component that only holds the header data, it is required that the task node corresponding to the execution body 29 selected by the specified component node selection unit 1213 has only the execution body 28 The specified element of the header data of the generated data. In this way, because the executable body 28 only saves the header data, and because there is a specified component of "only use the header data" when the executable body 29 does not perform an operation, the output data cache of the executable body 28 is used to store Part of the content data is in an empty state, so that the execution body 28 can feed back a message to the execution body 27, so that the execution body 27 can keep its own output data cache in an empty state so as to be in a state where it can perform the next round of operations to obtain new data blocks . Therefore, the downstream execution bodies 30 - 33 of the execution body 27 can timely enter the processing of the next data block, thereby eliminating the impact of data flow congestion at the execution body 29 on the data processing operations of the relevant execution bodies.

如图2所示,为了使得数据块在被操作过程中符合一些执行体的操作要求,例如,指定组元节点选择单元1213会向数据块2发出指定组元,从而修改其数据属性。例如该属性显示,数据块2的头部数据告知对其进行操作的执行体,其可以被随后接收到的执行体修改,例如可以被执行体24所修改,从而满足执行体24的操作需求。概括而言,这是对输入数据块的头部数据的改变。As shown in FIG. 2 , in order to make the data block conform to the operation requirements of some executives during the operation, for example, the specified component node selection unit 1213 sends the specified component to the data block 2, thereby modifying its data attribute. For example, this attribute shows that the header data of the data block 2 informs the executable that operates on it that it can be modified by the subsequently received executable, for example, it can be modified by the executable 24, so as to meet the operational requirements of the executable 24. In summary, this is a change to the header data of the input data block.

指定组元节点选择单元1213可选择具有指定组元的任务节点,从而改变执行体对数据块的操作范围、操作方式以及存储方式,这消除了执行体在运行时需要进行临时改操作方式。即通过在任务节点选择阶段,采用先验方式选择完整任务节点(不需要运行时进行修改),来消除运行时的额外开销。另一方面,如图2所示,为了使得输出的数据块满足下游执行体的操作需要,指定组元节点选择单元1213可以选择与执行体对应的具有可修改头部数据的指定组元的任务节点,使得对应执行体和数据块受到指定组元的影响,例如使得执行体26输出的数据块2-3改变其头部数据内容,以满足下游执行体29的操作需要。The specified component node selection unit 1213 can select the task node with the specified component, so as to change the operation scope, operation mode and storage mode of the data block of the executive body, which eliminates the need to temporarily change the operation mode of the execution body during operation. That is, in the task node selection stage, a priori method is used to select the complete task node (no need to modify it at runtime), so as to eliminate the extra overhead at runtime. On the other hand, as shown in FIG. 2 , in order to make the output data block meet the operation requirements of the downstream execution body, the specified component node selection unit 1213 can select a task corresponding to the execution body with a specified component with modifiable header data. The node makes the corresponding execution body and data block affected by the specified component, for example, makes the data block 2-3 output by the execution body 26 change its head data content to meet the operation needs of the downstream execution body 29.

此外,如图2所示,为了消除不必要的后向操作,指定组元节点选择单元1213可以选择与执行体22对应的具有消除后向操作的指定组元的任务节点,从而使得执行体22在该指定组元的影响下,消除在执行体23处针对执行体22的后向操作。在涉及深度学习系统的数据处理网络中,大多存在前向操作和逆向操作,这些操作都默认需要执行体来执行。对于确定不需要逆向操作的前向操作,例如由于本公开的指定组元节点选择单元1213选择与执行体22对应的具有消除后向操作的指定组元的任务节点,消除执行体23进行的逆向操作。从而极大节省了处理过程和开销。In addition, as shown in FIG. 2 , in order to eliminate unnecessary backward operations, the designated component node selection unit 1213 may select a task node corresponding to the executive body 22 that has designated constituent elements that eliminate backward operations, so that the executive body 22 Under the influence of the designated component, the backward operation on the executive 22 at the executive 23 is eliminated. In the data processing network involving deep learning systems, there are mostly forward operations and reverse operations, and these operations require execution by default. For the forward operation that is determined not to require the reverse operation, for example, because the specified component node selection unit 1213 of the present disclosure selects the task node corresponding to the executive body 22 with the specified component that eliminates the backward operation, the reverse operation performed by the executive body 23 is eliminated. operate. This results in significant savings in processing and overhead.

根据本公开的指定组元节点选择单元1213可以通过选择特定任务节点使得执行体具有更为灵活的操作功能,从而实现静态数据处理网络中对存储空间的精细化管理,并使得各个任务节点的执行体硬件得到优化。通过指定组元节点选择单元1213为对应执行体选择能够具有对数据块的头部数据进行修改的指定组元的任务节点,使得执行体可以对数据块的头部数据进行修改,从而使得执行体能够超出数据块本身的固有属性对数据块进行更丰富多样的操作处理,从而能够扩展数据处理网络对数据块的多样化处理要求。由于指定组元节点选择单元1213的存在,对应用于数据处理网络中运行的程序的编写也带来了更多的便利性。According to the specified component node selection unit 1213 of this disclosure, by selecting a specific task node, the executive body has more flexible operation functions, so as to realize the refined management of the storage space in the static data processing network, and make the execution of each task node Body hardware is optimized. By specifying the component node selection unit 1213 to select a task node with a specified component capable of modifying the header data of the data block for the corresponding executable body, so that the execution body can modify the header data of the data block, so that the execution body It is possible to perform more diverse operations on the data block beyond the inherent properties of the data block itself, so as to expand the diverse processing requirements of the data processing network for the data block. Due to the existence of the specified component node selection unit 1213, more convenience is brought to the writing of the program running in the data processing network.

尽管在本公开的描述中将数据处理网络中执行体创建系统所创建的一些执行体描述为两个独立的个体,但是可选择地,并不意味着两者分离存在是实现本公开所必要的安排,而是可以将两者结合起来。Although in the description of the present disclosure, some executives created by the executive creation system in the data processing network are described as two independent entities, it is optional, but it does not mean that the separate existence of the two is necessary to realize the present disclosure arrangement, it is possible to combine the two.

当根据本公开的数据处理网络中执行体创建系统用于大数据技术以及深度学习领域并且构成分布式系统时,数据处理的流畅性显得非常重要。当一个任务节点的数据处于阻塞状态时,会导致其他部分的数据处理会出现暂停,从而会导致整个系统在数据处理方面暂停,从而使得数据流动处理处于等待状态。在大数据计算以及深度学习中采用根据本公开的数据处理网络中执行体创建系统,由于数据块包含内容数据与头部数据,因此通过指定组元节点选择单元1213选择具有使得的执行体的操作关系以及执行体与数据块的操作关系收到指定组元的任务节点,可以改变执行体与数据块之间的预定操作关系,从而能够对与执行体相关联的存储空间进行精细化管理,使得一些存储空间能够被高效利用,优化执行体的硬件性能提高执行体连续处理数据块的效率。When the executive creation system in the data processing network according to the present disclosure is used in the field of big data technology and deep learning and constitutes a distributed system, the fluency of data processing is very important. When the data of a task node is in the blocked state, it will cause the data processing of other parts to be suspended, which will cause the entire system to pause in data processing, so that the data flow processing is in a waiting state. In big data computing and deep learning, the execution body creation system in the data processing network according to the present disclosure is adopted. Since the data block contains content data and header data, the operation of the execution body with the specified component node selection unit 1213 is selected. relationship and the operation relationship between the execution body and the data block, and the task node receiving the specified component can change the predetermined operation relationship between the execution body and the data block, so that the storage space associated with the execution body can be finely managed, so that Some storage space can be efficiently utilized, and the hardware performance of the execution body is optimized to improve the efficiency of the execution body to continuously process data blocks.

图3为所示的是根据本公开的数据处理网络中的执行体创建系统所创建的执行体网络的结构示意图。如图3所示,大虚线框代表一个执行体。在图3所示的执行体网络组件140中,为了图示方便,仅仅显示了五个执行体。实际上,对应于任务拓扑图,神经网络有多少任务节点,在执行体网络组件140中就存在多少执行体,因此在图3的左下侧采用连续的小实心方块来代表未示出的其他执行体。图3原理性显示了构成本公开的每个执行体的构成,其包含有消息仓、有限状态机、处理组件以及输出数据缓存。从图3中可以看出,每个执行体似乎都包含有一个输入数据缓存,但是采用了虚线标识。实际上这是一个想象的构成部件,这将在后面详细解释。处于数据处理路径中的每个执行体,例如图3中的第二执行体,基于任务拓扑图的神经网络中的一个任务节点建立,并且基于完全节点属性,形成该第二执行体与其上下游执行体的拓扑关系、消息仓、有限状态机以及(处理组件)处理方式以及生成数据的缓存位置(输出数据缓存)。具体而言,第二执行体在执行数据处理时,其任务需要其上游的第三执行体的输出数据。当第三执行体生成将要输出到第二执行体的数据,例如生成第三数据时,第三执行体将向第二执行体发出数据准备好的消息到第二执行体的消息仓,告知第二执行体第三数据已经处于第三执行体的输出数据缓存中并且处于可获取的状态,从而第二执行体可以随时执行该第三数据的读取。第二执行体的有限状态机在消息仓获得第三执行体的消息后修改其状态。如果第二执行体的处理组件在上一次执行完运算任务之后产生了数据,例如第二数据,并缓存在其输出数据缓存中,并向第二执行体的下游执行体,例如两个第一执行体(第一执行体A和第一执行体B)发出可以读取第二数据的消息。FIG. 3 is a schematic structural diagram of an executive network created by the executive creation system in the data processing network according to the present disclosure. As shown in Figure 3, the large dotted box represents an executive body. In the executive body network component 140 shown in FIG. 3 , for convenience of illustration, only five executive bodies are shown. In fact, corresponding to the task topology diagram, as many task nodes as there are in the neural network, there are as many executive bodies in the executive body network component 140. Therefore, continuous small solid squares are used on the lower left side of FIG. 3 to represent other execution bodies not shown. body. FIG. 3 schematically shows the composition of each execution body constituting the present disclosure, which includes a message warehouse, a finite state machine, a processing component, and an output data cache. As can be seen from Figure 3, each executive body seems to contain an input data cache, but it is marked with a dotted line. Actually this is an imaginary building block, which will be explained in detail later. Each executive in the data processing path, such as the second executive in Figure 3, is established based on a task node in the neural network of the task topology graph, and based on the complete node attributes, forms the second executive and its upstream and downstream The topological relationship of the execution body, the message warehouse, the finite state machine and the processing method (processing component) and the cache location of the generated data (output data cache). Specifically, when the second execution body performs data processing, its task needs the output data of the third execution body upstream of it. When the third executor generates data to be output to the second executor, for example, when generating third data, the third executor will send a data ready message to the second executor to the second executor's The third data of the second execution body is already in the output data cache of the third execution body and is in an available state, so that the second execution body can read the third data at any time. The finite state machine of the second executor modifies its state after the message warehouse obtains the message from the third executor. If the processing component of the second executor generates data, such as the second data, after the last execution of the calculation task, and caches it in its output data buffer, and sends the data to the downstream executors of the second executor, such as the two first The executables (the first executable A and the first executable B) send out a message that the second data can be read.

当第一执行体A和第一执行体B在读取第二数据并使用完成之后,会分别向第二执行体反馈消息,告知第二执行体使用完该第二数据,因此,第二执行体的输出数据缓存处于空置状态。此时第二执行体的有限状态机也会修改其状态。After the first executor A and the first executor B read the second data and use them, they will respectively feed back messages to the second executor, informing the second executor that the second data has been used. Therefore, the second executor The body's output data cache is empty. At this time, the finite state machine of the second executive will also modify its state.

这样,当有限状态机的状态变化达到预定的状态时,例如第二执行体的执行运算所需的输入数据(例如第三数据)处于可获取状态以及其输出数据缓存处于空置状态时,则告知处理组件读取第三执行体的输出数据缓存中的第三数据,并执行指定的运算任务,从而生成该执行体的输出数据,例如新的第二数据,并存储在第二执行体的输出数据缓存中。In this way, when the state change of the finite state machine reaches a predetermined state, for example, when the input data (such as the third data) required for the execution of the operation of the second executive body is in the obtainable state and its output data cache is in the empty state, then notify The processing component reads the third data in the output data cache of the third executive, and executes the specified computing task, thereby generating the output data of the executive, such as new second data, and storing it in the output of the second executive data cache.

同样,当第二执行体完成指定的运算任务之后,有限状态机回归到其初始状态,等待下一次状态改变循环,同时第二执行体向第三执行体反馈对第三数据使用完成的消息到第三执行体的消息仓以及向第一执行体A和第一执行体B发送已经生成第二数据的消息,告知第一执行体A和第一执行体B,第二数据已经处于可以被读取的状态。Similarly, when the second executive body completes the specified calculation task, the finite state machine returns to its initial state, waiting for the next state change cycle, and at the same time, the second executive body feeds back the message that the use of the third data is completed to the third executive body. The message warehouse of the third executor sends a message that the second data has been generated to the first executor A and the first executor B, and informs the first executor A and the first executor B that the second data is ready to be read fetched state.

当第三执行体获得第二执行体使用完第三数据的消息后,使得第三执行体的输出数据缓存处于空置状态。同样,第二执行体获得第一执行体A和第一执行体B使用完第二数据的消息后,使得第二执行体的输出数据缓存处于空置状态。After the third execution body obtains the message that the second execution body has used up the third data, the output data buffer of the third execution body is in an empty state. Similarly, after the second executor obtains the message that the first executor A and the first executor B have finished using the second data, the output data cache of the second executor is in an empty state.

第二执行体的上述执行任务的过程在其他执行体中同样发生。因此,在每个执行体中的有限状态机的控制下,基于上游执行体的输出结果,循环处理同类任务。从而每个执行体犹如一条数据处理路径上的固定任务的岗位人员,从而形成数据的流水线处理,不需要任何其他的外在指令。The above-mentioned process of executing tasks of the second executable body also occurs in other executable bodies. Therefore, under the control of the finite state machine in each executive, based on the output of the upstream executive, the same kind of tasks are processed cyclically. Therefore, each executive body is like a fixed task post personnel on a data processing path, thereby forming a pipeline processing of data without any other external instructions.

需要指出的是,如图3所示,第一执行体A和第一执行体B、第二执行体以及第三执行体中都被指定组元节点选择单元1213所选择任务节点中的指定组元(例如第一指定组元、第二指定组元以及第三指定组元)所影响,从而针对指定数据执行指定的操作。举例而言,第一执行体A和第一执行体B(尽管在此举例为两个第一执行体,但是其可以仅仅只有一个第一执行体或更多个第一执行体)中的第一指定组元为使得第一执行体仅仅使用某些上游执行体的输出数据的头部数据的指定组元,第三执行体中的第三指定组元为使得第三执行体可以修改数据的头部数据的指定组元以及第四执行体中的第四指定组元为使得第四执行体不要求后向运算的指定组元。需要特别指明的是,尽管此处采用第二指定组元来解释第二执行体的特性,其实此处的第二执行体的指定功能并不一定是由指定组元节点选择单元1213直接确定的,而是由指定组元节点选择单元1213所选择的具有指定组元的任务节点所确定的,即在形成任务节点过程中直接形成的一种特殊任务节点,该任务节点自身的属性包含了其仅仅保存头部数据的功能,从而使得该任务节点对应的执行体执行仅仅保持头部数据的功能。其他执行体亦然。换句话说,执行体中包含了对应任务节点所包含的指定组元所描述的节点属性之一。但是为了描述方便,在每个执行体中依然采用指定组元的方式来描述这种特殊执行体本身所含有的特定属性或功能。It should be pointed out that, as shown in FIG. 3 , the specified group in the task node selected by the specified component node selection unit 1213 in the first executive body A and the first executive body B, the second executive body, and the third executive body Elements (such as the first specified component, the second specified component, and the third specified component), so as to perform specified operations on specified data. For example, the first executive body A and the first executive body B (although two first executive bodies are exemplified here, it may only have one first executive body or more first executive bodies). A specified component is a specified component that enables the first executable body to use only the header data of some upstream executable body's output data, and a third specified component in the third executable body is a specified component that enables the third executable body to modify the data The specified element of the header data and the fourth specified element in the fourth executable are the specified elements such that the fourth executable does not require a backward operation. It should be pointed out that although the second specified component is used here to explain the characteristics of the second executable, the specified function of the second executable here is not necessarily directly determined by the specified component node selection unit 1213 , but is determined by the task node with the specified component selected by the specified component node selection unit 1213, that is, a special task node formed directly in the process of forming a task node, the attribute of the task node itself includes its Only the function of saving the header data, so that the executive body corresponding to the task node executes the function of only saving the header data. The same goes for other executive bodies. In other words, the execution body contains one of the node attributes described by the specified component contained in the corresponding task node. However, for the convenience of description, the specified component is still used in each executive body to describe the specific attributes or functions contained in this special executive body itself.

在本公开的数据存储方式中,由于头部数据和内容数据是分离存储的。如上针对图3所描述的,由于第一执行体A和第一执行体B具有仅仅使用数据的头部数据的指定组元,因此,其上游的第二执行体仅仅保持数据的头部数据。由于第二执行体仅仅搬运了第三执行体的输出数据缓存中数据的头部数据(该头部数据并不存储在该输出数据缓存中而是存储在协处理器所连接的CPU中,即该头部数据与输出数据缓存中的内容数据分离存储),因此第二执行体会向第三执行体反馈对第三数据的内容数据使用完毕的消息,因此第三执行体输出数据缓存中用于内容数据的空间被空置。第三执行体的输出数据缓存中只需要为第二执行体保持其第二数据的头部数据。从而第三执行体的上游执行体也会获得第三执行体的反馈消息,从而消除第三执行体的上游执行体出现堵塞的现象。In the data storage method of the present disclosure, header data and content data are stored separately. As described above with respect to FIG. 3 , since the first execution body A and the first execution body B have specified components that only use the header data of the data, the upstream second execution body only holds the head data of the data. Because the second execution body has only carried the header data of the data in the output data cache of the third execution body (the header data is not stored in the output data cache but is stored in the CPU connected to the coprocessor, that is The header data is stored separately from the content data in the output data cache), so the second execution body feeds back to the third execution body a message that the content data of the third data has been used up, so the third execution body outputs the data in the data cache for The space for content data is vacated. The output data cache of the third executable only needs to keep the header data of the second data for the second executable. Therefore, the upstream execution body of the third execution body will also obtain the feedback message of the third execution body, thereby eliminating the phenomenon that the upstream execution body of the third execution body is blocked.

第一执行体A和第一执行体B中所具有的第一指定组元为仅仅使用某些上游执行体的输出数据的头部数据的指定组元,从而其针对第二执行体的输出数据缓存中的数据,形成仅仅使用头部数据的消费关系。当第一执行体A和第一执行体B都读取了第二执行体的输出缓存中的头部数据之后,向第二执行体反馈消息,以便第二执行体在下一个周期将另一个头部数据搬运到其输出数据缓存中。The first specified component in the first execution body A and the first execution body B is the specified component of the header data that only uses the output data of some upstream execution bodies, so that it is specific to the output data of the second execution body The data in the cache forms a consumption relationship that only uses header data. After both the first executive body A and the first executive body B have read the header data in the output buffer of the second executive body, they will feed back a message to the second executive body, so that the second executive body will send another header data in the next cycle. Part of the data is moved to its output data cache.

第三执行体中的第三指定组元为可以修改数据的头部数据的指定组元,为了使得输出的数据块满足第三执行体的下游执行体(例如第二执行体)的操作需要,指定组元节点选择单元1213可以使得第三执行体和数据块之间具有第三指定组元,使得数据块的头部数据中包含“可使用”元数据,从而使得第三执行体能够对其上游执行体输出的数据进行修改。The third specified component in the third executable is a specified component that can modify the header data of the data. In order to make the output data block meet the operation requirements of the downstream executable (such as the second executable) of the third executable, The specified component node selection unit 1213 can make the third specified component between the third executable body and the data block, so that the header data of the data block contains "usable" metadata, so that the third executable body can The data output by the upstream executive is modified.

尽管上面针对图3描述了执行体的基本构成以及直接上下游执行体之间的操作关系,但是有些执行体的处理组件也许根本不执行实际的运算,而是仅仅对数据进行移动,改变数据的位置,也就是一种简单的搬运执行体。例如第二执行体的处理组件仅仅将其从其第三执行体获取的数据的头部数据搬运到其输出数据缓存中而不会对第三执行体所获取的数据进行任何变换(transformation)。这种搬运执行体的存在能够消除一些执行体导致执行堵塞导致的堵塞向上游传导从而导致的整条数据处理路径上游的堵塞以及其他支路的处理暂停。Although the basic composition of the executive body and the operational relationship between directly upstream and downstream executive bodies are described above for Figure 3, the processing components of some executive bodies may not perform actual operations at all, but only move data and change the data structure. Position, that is, a simple handling executive. For example, the processing component of the second executor only transfers the header data of the data acquired from the third executor to its output data cache without performing any transformation on the data acquired by the third executor. The existence of this kind of carrying executive body can eliminate the blockage of the entire upstream of the data processing path and the processing suspension of other branches caused by some execution bodies causing the blockage to be transmitted upstream.

通过在第一执行体A和第一执行体B之前设置只保存头部数据的第二执行体,第一执行体A和第一执行体B就可以基于来自第二执行体的消息知晓,在对该数据进行操作时,仅仅读取第二执行体所搬运并存储在其输出数据缓存中的头部数据即可。当第一执行体A和第一执行体B之一处于等待其他输入数据的情况下,第二执行体仅仅需要保持其头部数据,而不需要实际存储内容数据。因此第三执行体可以在接到第二执行体的反馈消息后将第三执行体的输出数据缓存置于空置状态,从而第三执行体可以在其下游第一执行体A和第一执行体B处于等待阻塞状态时依然可以对新的数据进行处理。如果不存在第二执行体,由第一执行体A和第一执行体B直接与第三执行体相连,则第三执行体在第一执行体A和第一执行体B等待期间,将不能使得其输出数据缓存处于空置状态(内容数据很大,会占用很大的内存),这回导致其上游执行体也将处于停滞状态不能执行运算。因此,通过指定组元节点选择单元1213选择与第一执行体A和第一执行体B的对应的其中包含仅仅使用头部数据的第一指定组元的任务节点,以及在第一执行体A和第一执行体B的对应的任务节点之前增加与第二执行体对应的包含有仅仅保持头部数据的第二指定组元的任务节点,从而使得第一执行体A和第一执行体B在进行实际数据处理时,仅仅获得直接上游执行体输出数据的头部数据,从而使得第二执行体的所有上游数据都能够及时使得输出数据缓存空置,处于可以执行数据处理的状态。通过根据本公开的这种加速数据处理的构件,消除数据处理路径中的堵塞,使得在路径中存在处于等待状态的执行体任务节点时,其上游执行体的正常运行不受影响,从而加快的数据流动。By setting the second executor that only saves header data before the first executor A and the first executor B, the first executor A and the first executor B can know based on the message from the second executor, When operating on the data, only the header data transported by the second executable and stored in its output data buffer is read. When one of the first executor A and the first executor B is waiting for other input data, the second executor only needs to keep its header data without actually storing content data. Therefore, the third executor can put the output data buffer of the third executor in an empty state after receiving the feedback message from the second executor, so that the third executor can communicate with the first executor A and the first executor downstream of the third executor. When B is in the waiting blocking state, it can still process new data. If there is no second executor, and the first executor A and the first executor B are directly connected to the third executor, the third executor will not be able to It makes its output data cache empty (the content data is very large and will take up a lot of memory), which will cause its upstream execution body to be in a stagnant state and unable to perform operations. Therefore, the specified component node selection unit 1213 selects the task node corresponding to the first execution body A and the first execution body B that contains the first specified component that only uses the header data, and in the first execution body A Before the task node corresponding to the first executive body B, add the task node corresponding to the second executive body containing the second specified component that only holds the header data, so that the first executive body A and the first executive body B When performing actual data processing, only the head data of the output data of the direct upstream execution body is obtained, so that all the upstream data of the second execution body can make the output data cache empty in time and be in a state where data processing can be performed. Through the components for accelerating data processing according to the present disclosure, the blockage in the data processing path is eliminated, so that when there is an execution body task node in the waiting state in the path, the normal operation of its upstream execution body is not affected, thereby speeding up data flow.

在第一执行体A和第一执行体B可以通过其他执行体获得与第三执行体所生成的数据相似的内容数据来完成其最终的计算。如图3所示,第四执行体作为第一执行体A和第一执行体B的上游执行体,可以输出与第三执行体所生成的数据相似的内容数据,这样可以在第一执行体A和第一执行体B需要内容数据时提供解决方案。在深度学习神经网络中经常会出现一些队友型的任务节点,基于该任务节点所创建和描述的执行体是一模一样,图3中所示的第三执行体和第四执行体就属于深度学习神经网络中的队友型执行体任务节点。这属于本领域现有技术,在此不进行具体描述。The first executable A and the first executable B can obtain the content data similar to the data generated by the third executable through other executables to complete their final calculation. As shown in Figure 3, the fourth executable, as the upstream executable of the first executable A and the first executable B, can output content data similar to the data generated by the third executable, so that the first executable Provide a solution when A and the first executive body B need content data. In the deep learning neural network, there are often some teammate-type task nodes. The execution bodies created and described based on the task nodes are exactly the same. The third execution body and the fourth execution body shown in Figure 3 belong to the deep learning neural network. Teammate executive task nodes in the network. This belongs to the prior art in this field and will not be described in detail here.

如前所述,图3中每个执行体显示都包含有一个输入数据缓存,实际上是不包含的,因为,每个执行体并不需要任何缓存来存储将被使用的数据,而是仅仅获取所需使用的数据处于能够被读取的状态即可。因此,每个执行体所要使用的数据在执行体未处于具体执行的状态时,数据依然保存在其上游执行体的输出数据缓存中。因此,为了形象显示,每个执行体中的输入数据缓存采用虚线表示,其实际上并不真的存在于执行体中。或者说,上游执行体的输出数据缓存就是下游执行体的虚拟输入数据缓存。因此,在图3中,对输入数据缓存采用了虚线标识。As mentioned earlier, each executive in Figure 3 shows that it contains an input data cache, but it does not actually contain it, because each executive does not need any cache to store the data to be used, but only It is only necessary to obtain the required data in a state that can be read. Therefore, when the data to be used by each execution body is not in a specific execution state, the data is still stored in the output data cache of its upstream execution body. Therefore, for visual display, the input data cache in each executive body is represented by a dotted line, which does not actually exist in the executive body. In other words, the output data cache of the upstream execution body is the virtual input data cache of the downstream execution body. Therefore, in FIG. 3, a dotted line is used for the input data cache.

返回参见图1。如图1所示,根据本公开的用于异构架构的执行体创建系统还包括作业描述组件110,其用于基于作业类型描述作业神经网络模型、神经网络层数以及每层神经网络中神经元的数量。具体而言,作业描述组件110描述作业所需的运算资源以及需要执行的何种运算。例如,作业描述用于说明该作业是用于图像分类还是语音识别分类,其所需的神经网络的层数,每层的任务节点数量,层与层之间的联系,在执行数据处理过程中输入数据的存放地点。描述作业是一种现有技术。本公开的作业描述组件110采用了分离描述方法,将所需要描述的对象分拆成几个相关的维度,从几个方面或维度进行区分描述,并描述几个维度之间的正交关系。由于所描述的维度之间按照彼此区分分离方式从不同维度来描述作业,彼此处于正交关系,因此各个维度彼此不相互干扰,对任务的描述不需要考虑维度之间的关联,因此能够显著降低在本公开的异构架构的执行体创建系统中运行的程序代码的复杂度,因此也显著减轻编写这些程序代码的程序员的智力负担。尽管在图1中显示了作业描述组件110。但是采用现有的作业描述组件也可以实现本公开的目的。Refer back to Figure 1. As shown in FIG. 1 , the execution body creation system for heterogeneous architectures according to the present disclosure also includes a job description component 110, which is used to describe the job neural network model, the number of neural network layers, and the neural network in each layer of neural network based on the job type. the number of dollars. Specifically, the job description component 110 describes the computing resources required by the job and what kind of computing needs to be performed. For example, the job description is used to explain whether the job is used for image classification or speech recognition classification, the number of layers of the neural network required, the number of task nodes for each layer, the connection between layers, and the process of performing data processing Enter the storage location of the data. Describing jobs is a prior art. The job description component 110 of the present disclosure adopts a separation description method, splits the object to be described into several related dimensions, differentiates and describes from several aspects or dimensions, and describes the orthogonal relationship between several dimensions. Since the described dimensions describe jobs from different dimensions in a way of distinguishing and separating each other, and are in an orthogonal relationship with each other, each dimension does not interfere with each other, and the description of tasks does not need to consider the correlation between dimensions, so it can be significantly reduced. The complexity of the program codes running in the executable creation system of the heterogeneous architecture of the present disclosure also significantly reduces the intellectual burden of programmers who write these program codes. Although the job description component 110 is shown in FIG. 1 . However, the object of the present disclosure can also be achieved by using an existing job description component.

尽管如图1显示的根据本公开的用于异构架构包括一个或多个中央处理单元以及至少一个与其相连的协处理器设备端,但是在图1所示的系统中可以包括CPU之间的网关组件,也可包括协处理器,例如GPU,之间的直接通信组件,例如图1中采用虚线连接在两个GPU之间的较大的圆圈。Although the heterogeneous architecture according to the present disclosure as shown in FIG. 1 includes one or more central processing units and at least one coprocessor device connected thereto, the system shown in FIG. 1 may include The gateway component may also include a direct communication component between coprocessors, such as GPUs, such as the larger circles connected between two GPUs by dashed lines in FIG. 1 .

此外,根据本公开的另一个方面,如上所述的构件也执行了用于加速协处理器的数据处理路径中的数据流动的方法。所述数据处理路径中多个执行体中的具有第二指定组元的第二执行体只将作为其上游执行体的第三执行体的输出数据缓存中所存储的输出数据块对应的头部数据搬运到本地的输出数据缓存,并向所述多个执行体中的一个或多个具有第一指定组元的第一执行体发出可以读取数据的消息。所述数据处理路径中多个执行体中的多个执行体中的一个或多个具有第一指定组元的第一执行体基于来自第二执行体的消息,从第二执行体的输出数据缓存中读取所述头部数据,并执行预定的操作。所述第二执行体在将头部数据搬运到本地的输出数据缓存的同时,向第二执行体的第三执行体发送消息,使得第三执行体将其自身的输出数据缓存置于空置状态。所述第一执行体从位于其上游的第四执行体的输出数据缓存中获取与第三执行体所生成的数据块的内容数据相似的数据以便执行预定的操作。第二执行体在接收到所有第一执行体的反馈消息后将其自身的输出数据缓存置于空置状态。Furthermore, according to another aspect of the present disclosure, the above components also perform a method for accelerating data flow in a data processing path of a coprocessor. Among the multiple execution bodies in the data processing path, the second execution body with the second designated component only uses the header corresponding to the output data block stored in the output data cache of the third execution body as its upstream execution body The data is moved to the local output data cache, and a message that the data can be read is sent to one or more first executable bodies having the first designated component among the plurality of executable bodies. One or more of the plurality of execution bodies in the data processing path, one or more first execution bodies having the first designated component, based on the message from the second execution body, output data from the second execution body The header data is read from the cache, and a predetermined operation is performed. The second executor sends a message to the third executor of the second executor while moving the header data to the local output data cache, so that the third executor puts its own output data cache in an empty state . The first execution body acquires data similar to the content data of the data block generated by the third execution body from the output data cache of the fourth execution body located upstream to perform a predetermined operation. The second executive body puts its own output data buffer in an empty state after receiving all the feedback messages from the first executive body.

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本公开的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本公开的说明的情况下运用他们的基本编程技能就能实现的。The basic principles of the present disclosure have been described above in conjunction with specific embodiments. However, it should be pointed out that those of ordinary skill in the art can understand that all or any steps or components of the methods and devices of the present disclosure can be implemented on any computing device (including processors, storage media, etc.) or a network of computing devices, implemented with hardware, firmware, software, or a combination thereof, this is a person of ordinary skill in the art who uses their basic knowledge after reading the descriptions of the present disclosure. programming skills will do.

因此,本公开的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本公开的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本公开,并且存储有这样的程序产品的存储介质也构成本公开。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。Therefore, the object of the present disclosure can also be achieved by running a program or a group of programs on any computing device. The computing device may be a known general-purpose device. Therefore, the object of the present disclosure can also be achieved only by providing a program product including program codes for realizing the method or device. That is, such a program product also constitutes the present disclosure, and a storage medium storing such a program product also constitutes the present disclosure. Obviously, the storage medium may be any known storage medium or any storage medium developed in the future.

还需要指出的是,在本公开的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。It should also be pointed out that, in the apparatus and method of the present disclosure, obviously, each component or each step can be decomposed and/or reassembled. These decompositions and/or recombinations should be considered equivalents of the present disclosure. Also, the steps for performing the above series of processes may naturally be performed in chronological order in the order described, but need not necessarily be performed in chronological order. Certain steps may be performed in parallel or independently of each other.

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。The specific implementation manners described above do not limit the protection scope of the present disclosure. It should be apparent to those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present disclosure shall be included within the protection scope of the present disclosure.

Claims (8)

1.一种执行体创建系统,包括:1. An executive creation system, comprising: 任务拓扑图生成组件,用于将所需完成的作业分解为一系列由异构架构中执行体来执行的任务,并在作业分解的同时,基于所分解的任务之间的固有关系,生成任务关系拓扑图,所述任务拓扑图的任务节点含有执行对应任务所需的全部节点属性,所述任务拓扑图生成组件包括指定组元节点选择单元,用于在生成任务关系拓扑图过程中根据具体任务选择具有包含附加节点属性的指定组元的具体任务节点,所述附加节点属性改变该具体任务节点执行对应任务的方式;以及The task topology map generation component is used to decompose the required job into a series of tasks executed by the executive in the heterogeneous architecture, and generate tasks based on the inherent relationship between the decomposed tasks while the job is decomposed A relational topology diagram, the task nodes of the task topology diagram contain all the node attributes required to perform corresponding tasks, and the task topology diagram generation component includes a specified component node selection unit, which is used in the process of generating the task relationship topology diagram according to the specific a task selects a task-specific node having a specified component that includes an additional node attribute that changes the manner in which the task-specific node performs the corresponding task; and 执行体创建组件,基于任务关系拓扑图以及每个任务节点的全部节点属性或含有指定组元的全部节点属性在计算资源中为每个任务节点创建对应的执行体,并使得与有附加节点属性的具体任务节点对应的具体执行体按照附加节点属性执行对应的任务。Executor creation component, based on the task relationship topology graph and all node attributes of each task node or all node attributes containing specified components, creates a corresponding executor for each task node in the computing resource, and makes it associated with additional node attributes The specific execution body corresponding to the specific task node executes the corresponding task according to the additional node attributes. 2.如权利要求1所述的执行体创建系统,其中所述指定组元包含的附加节点属性为数据操作节点属性,用于使得所创建的具体执行体仅仅对被处理数据的头部数据执行操作。2. The execution body creation system according to claim 1, wherein the additional node attribute contained in the designated component is a data operation node attribute, which is used to make the created specific execution body execute only on the header data of the processed data operate. 3.如权利要求1所述的执行体创建系统,其中所述指定组元包含的附加节点属性为数据存储节点属性,用于使得所创建的具体执行体仅仅存储被处理数据的头部数据。3. The execution body creation system according to claim 1, wherein the additional node attribute contained in the specified component is a data storage node attribute, which is used to make the created specific execution body only store the header data of the processed data. 4.如权利要求1所述的执行体创建系统,其中所述指定组元包含的附加节点属性为数据修改节点属性,用于使得所创建的具体执行体能够修改被处理数据的头部数据。4. The execution body creation system according to claim 1, wherein the additional node attribute included in the specified component is a data modification node attribute, which is used to enable the created specific execution body to modify the header data of the processed data. 5.一种执行体创建方法,包括:5. A method for creating an executive body, comprising: 将所需完成的作业分解为一系列由异构架构中执行体来执行的任务,并在作业分解的同时,基于所分解的任务之间的固有关系,生成任务关系拓扑图,所述任务拓扑图的任务节点含有执行对应任务所需的全部节点属性;Decompose the job to be completed into a series of tasks performed by the executive in the heterogeneous architecture, and generate a task relationship topology map based on the inherent relationship between the decomposed tasks while the job is decomposed. The task topology The task node of the graph contains all the node attributes required to execute the corresponding task; 在生成任务关系拓扑图过程中,根据具体任务选择具有包含附加节点属性的指定组元的具体任务节点,所述附加节点属性改变该具体任务节点执行对应任务的方式;以及In the process of generating the task relationship topology diagram, selecting a specific task node with a specified component including an additional node attribute according to the specific task, and the additional node attribute changes the way the specific task node executes the corresponding task; and 基于任务关系拓扑图以及每个任务节点的全部节点属性或含有指定组元的全部节点属性在计算资源中为每个任务节点创建对应的执行体,并使得与有附加节点属性的具体任务节点对应的具体执行体按照附加节点属性执行对应的任务。Based on the task relationship topology graph and all node attributes of each task node or all node attributes containing specified components, create a corresponding execution body for each task node in computing resources, and make it correspond to specific task nodes with additional node attributes The specific executor executes the corresponding task according to the additional node attributes. 6.如权利要求5所述的执行体创建方法,其中所述指定组元包含的附加节点属性为数据操作节点属性,用于使得所创建的具体执行体仅仅对被处理数据的头部数据执行操作。6. The execution body creation method according to claim 5, wherein the additional node attribute contained in the designated component is a data operation node attribute, which is used to make the created specific execution body execute only on the header data of the processed data operate. 7.如权利要求5所述的执行体创建方法,其中所述指定组元包含的附加节点属性为数据存储节点属性,用于使得所创建的具体执行体仅仅存储被处理数据的头部数据。7. The execution body creation method according to claim 5, wherein the additional node attribute contained in the designated component is a data storage node attribute, which is used to make the created specific execution body only store the header data of the processed data. 8.如权利要求5所述的执行体创建方法,其中所述指定组元包含的附加节点属性为数据修改节点属性,用于使得所创建的具体执行体能够修改被处理数据的头部数据。8. The execution body creation method according to claim 5, wherein the additional node attribute contained in the designated component is a data modification node attribute, which is used to enable the created specific execution body to modify the header data of the processed data.
CN201910633638.1A 2019-07-15 2019-07-15 Executive body creation system and executive body creation method Pending CN110262995A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910633638.1A CN110262995A (en) 2019-07-15 2019-07-15 Executive body creation system and executive body creation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910633638.1A CN110262995A (en) 2019-07-15 2019-07-15 Executive body creation system and executive body creation method

Publications (1)

Publication Number Publication Date
CN110262995A true CN110262995A (en) 2019-09-20

Family

ID=67926099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910633638.1A Pending CN110262995A (en) 2019-07-15 2019-07-15 Executive body creation system and executive body creation method

Country Status (1)

Country Link
CN (1) CN110262995A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245108A (en) * 2019-07-15 2019-09-17 北京一流科技有限公司 It executes body creation system and executes body creation method
CN110955511A (en) * 2020-02-13 2020-04-03 北京一流科技有限公司 Executive body and its data processing method
CN110955734A (en) * 2020-02-13 2020-04-03 北京一流科技有限公司 Distributed signature decision system and method for logic node
CN111666151A (en) * 2020-02-13 2020-09-15 北京一流科技有限公司 Topological map conversion system and method thereof
WO2021147876A1 (en) * 2020-01-20 2021-07-29 北京一流科技有限公司 Memory resource in-situ sharing decision-making system and method
WO2021213076A1 (en) * 2020-04-24 2021-10-28 中科寒武纪科技股份有限公司 Method and device for constructing communication topology structure on basis of multiple processing nodes

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983324B1 (en) * 2000-10-23 2006-01-03 International Business Machines Corporation Dynamic modification of cluster communication parameters in clustered computer system
US20090219835A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation Optimizing A Physical Data Communications Topology Between A Plurality Of Computing Nodes
US20090300154A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Managing performance of a job performed in a distributed computing system
US20090307703A1 (en) * 2008-06-09 2009-12-10 International Business Machines Corporation Scheduling Applications For Execution On A Plurality Of Compute Nodes Of A Parallel Computer To Manage temperature of the nodes during execution
US20120278365A1 (en) * 2011-04-28 2012-11-01 Intuit Inc. Graph databases for storing multidimensional models of softwqare offerings
US20150205888A1 (en) * 2014-01-17 2015-07-23 International Business Machines Corporation Simulation of high performance computing (hpc) application environment using virtual nodes
CN106648859A (en) * 2016-12-01 2017-05-10 北京奇虎科技有限公司 Task scheduling method and device
CN106681820A (en) * 2016-12-30 2017-05-17 西北工业大学 Message combination based extensible big data computing method
CN107005421A (en) * 2014-09-30 2017-08-01 慧与发展有限责任合伙企业 Utilize the management based on topology of stage and version policy
CN107005422A (en) * 2014-09-30 2017-08-01 慧与发展有限责任合伙企业 Topology-Based Management for Day-Day Operations
CN108121330A (en) * 2016-11-26 2018-06-05 沈阳新松机器人自动化股份有限公司 A kind of dispatching method, scheduling system and map path planing method
CN108388474A (en) * 2018-02-06 2018-08-10 北京易沃特科技有限公司 Intelligent distributed management of computing system and method based on DAG
US20180262392A1 (en) * 2017-03-08 2018-09-13 Linkedin Corporation Automatically detecting roles of nodes in layered network topologies
CN110245108A (en) * 2019-07-15 2019-09-17 北京一流科技有限公司 It executes body creation system and executes body creation method

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983324B1 (en) * 2000-10-23 2006-01-03 International Business Machines Corporation Dynamic modification of cluster communication parameters in clustered computer system
US20090219835A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation Optimizing A Physical Data Communications Topology Between A Plurality Of Computing Nodes
US20090300154A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Managing performance of a job performed in a distributed computing system
US20090307703A1 (en) * 2008-06-09 2009-12-10 International Business Machines Corporation Scheduling Applications For Execution On A Plurality Of Compute Nodes Of A Parallel Computer To Manage temperature of the nodes during execution
US20120278365A1 (en) * 2011-04-28 2012-11-01 Intuit Inc. Graph databases for storing multidimensional models of softwqare offerings
US20150205888A1 (en) * 2014-01-17 2015-07-23 International Business Machines Corporation Simulation of high performance computing (hpc) application environment using virtual nodes
CN107005422A (en) * 2014-09-30 2017-08-01 慧与发展有限责任合伙企业 Topology-Based Management for Day-Day Operations
CN107005421A (en) * 2014-09-30 2017-08-01 慧与发展有限责任合伙企业 Utilize the management based on topology of stage and version policy
CN108121330A (en) * 2016-11-26 2018-06-05 沈阳新松机器人自动化股份有限公司 A kind of dispatching method, scheduling system and map path planing method
CN106648859A (en) * 2016-12-01 2017-05-10 北京奇虎科技有限公司 Task scheduling method and device
CN106681820A (en) * 2016-12-30 2017-05-17 西北工业大学 Message combination based extensible big data computing method
US20180262392A1 (en) * 2017-03-08 2018-09-13 Linkedin Corporation Automatically detecting roles of nodes in layered network topologies
CN108388474A (en) * 2018-02-06 2018-08-10 北京易沃特科技有限公司 Intelligent distributed management of computing system and method based on DAG
CN110245108A (en) * 2019-07-15 2019-09-17 北京一流科技有限公司 It executes body creation system and executes body creation method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245108A (en) * 2019-07-15 2019-09-17 北京一流科技有限公司 It executes body creation system and executes body creation method
WO2021147876A1 (en) * 2020-01-20 2021-07-29 北京一流科技有限公司 Memory resource in-situ sharing decision-making system and method
CN110955511A (en) * 2020-02-13 2020-04-03 北京一流科技有限公司 Executive body and its data processing method
CN110955734A (en) * 2020-02-13 2020-04-03 北京一流科技有限公司 Distributed signature decision system and method for logic node
CN110955511B (en) * 2020-02-13 2020-08-18 北京一流科技有限公司 Executive body and data processing method thereof
CN111666151A (en) * 2020-02-13 2020-09-15 北京一流科技有限公司 Topological map conversion system and method thereof
WO2021159928A1 (en) * 2020-02-13 2021-08-19 北京一流科技有限公司 Distributed signature decision-making system and method for logical nodes
CN111666151B (en) * 2020-02-13 2023-11-03 北京一流科技有限公司 Topology map conversion system and method
US11818231B2 (en) 2020-02-13 2023-11-14 Beijing Oneflow Technology Co., Ltd Logical node distributed signature decision system and a method thereof
WO2021213076A1 (en) * 2020-04-24 2021-10-28 中科寒武纪科技股份有限公司 Method and device for constructing communication topology structure on basis of multiple processing nodes
US12050545B2 (en) 2020-04-24 2024-07-30 Cambricon (Xi'an) Semiconductor Co., Ltd. Method and device for constructing communication topology structure on basis of multiple processing nodes

Similar Documents

Publication Publication Date Title
CN110209629A (en) Data flowing acceleration means and its method in the data handling path of coprocessor
CN110245108A (en) It executes body creation system and executes body creation method
US12147829B2 (en) Data processing system and method for heterogeneous architecture
CN113010302A (en) Multi-task scheduling method and system under quantum-classical hybrid architecture and quantum computer system architecture
US12602348B2 (en) Data actor and data processing method thereof
CN109144374A (en) Method for processing business, system and relevant device based on visualization regulation engine
CN108388474A (en) Intelligent distributed management of computing system and method based on DAG
CN110428054A (en) Business Rule Engine pattern matching system and implementation method based on technique of compiling
CN106681820A (en) Message combination based extensible big data computing method
Wang et al. Enhanced ant colony algorithm for cost-aware data-intensive service provision
CN120654778A (en) Large language model reasoning method based on distributed KV cache pool
WO2025055556A1 (en) Method and apparatus for executing plurality of computing tasks
Xu et al. Living with artificial intelligence: A paradigm shift toward future network traffic control
CN114240632A (en) Batch job execution method, apparatus, apparatus, medium and product
CN107797852A (en) The processing unit and processing method of data iteration
Ashcroft Dataflow and education: Data-driven and demand-driven distributed computation
Ghooshchi et al. Visualisation of compliant declarative business processes
CN109636299A (en) Node time limit mechanism based on workflow band
Šišejkovic Evolution of scheduling heuristics for the resource constrained scheduling problem
Wang Analysis of Interval Flow Calculation Algorithm of Multi-Loop Complex Power Network Based on Knowledge Mapping
AlZubi Modified hierarchical method for task scheduling in grid systems
Cheng et al. Researches on asynchronous pipeline Web service composition method
Idan Effective Reward Schemes for Tardiness Optimization
Zhang et al. Heterogeneous Graph Reinforcement Learning for Dynamic Scheduling in a Multibranch Panel-Furniture Workshop
Yao et al. DOPPLER: Dual-Policy Learning for Device Assignment in Asynchronous Dataflow Graphs

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
TA01 Transfer of patent application right

Effective date of registration: 20260717

Address after: 100084 Beijing City Haidian District Zhongguancun East Road No. 1 Courtyard 8 Building D 23rd Floor 2301

Applicant after: Beijing Silicon Flow Technology Co.,Ltd.

Country or region after: China

Address before: 100083 Beijing City Haidian District Wangzhuang Road No. 1 B Building 6th Floor 7-C

Applicant before: Beijing First-class Technology Co.,Ltd.

Country or region before: China