CN110955734A - 逻辑节点的分布式签名决策***及其方法 - Google Patents
逻辑节点的分布式签名决策***及其方法 Download PDFInfo
- Publication number
- CN110955734A CN110955734A CN202010090335.2A CN202010090335A CN110955734A CN 110955734 A CN110955734 A CN 110955734A CN 202010090335 A CN202010090335 A CN 202010090335A CN 110955734 A CN110955734 A CN 110955734A
- Authority
- CN
- China
- Prior art keywords
- distributed
- node
- logic
- logical
- signature
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000005540 biological transmission Effects 0.000 claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 66
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 28
- 238000009826 distribution Methods 0.000 claims description 47
- 230000036961 partial effect Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 102100037907 High mobility group protein B1 Human genes 0.000 description 7
- 101001025337 Homo sapiens High mobility group protein B1 Proteins 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于分布式数据处理***的逻辑节点分布式签名决策***,包括:初始逻辑节点生成组件,接收用户输入的任务配置数据,生成用于初始逻辑节点拓扑图,其中源逻辑节点具有指定的逻辑分布式签名以及每个初始逻辑节点基于所述任务配置数据附有候选逻辑分布式签名集合;以及逻辑分布式签名选择组件,根据已经确定逻辑分布式签名的上游逻辑节点的输出端的分布式描述符,针对当前逻辑节点的每一个候选逻辑分布式签名,计算将每个上游逻辑节点输出端的张量的分布式描述符变换为当前逻辑节点的对应输入端的的张量的分布式描述符所需的传输数据的代价,并选择与代价最小值所对应候选逻辑分布式签名作为所述当前逻辑节点的确定逻辑分布式签名。
Description
技术领域
本公开涉及一种数据处理技术。更具体地说,本公开涉及一种用于分布式数据处理***的逻辑节点的分布式签名决策***及其方法。
背景技术
随着分布式计算的普及,大型的作业或大张量会通过分割而将不同部分的数据部署到不同的分布式数据处理***的各个计算设备上进行处理,并在各个部分计算过程需要进行中间参数的交互。这样,在具体作业的处理过程中,部署在一个计算设备上的计算中间参数或结果会称为另一个计算设备上的计算任务的输入数据,这会引起计算设备之间的数据传输开销。在作业数据很大的情况下,这种不同计算设备之间的传输开销对于分布式数据处理***而言将造成极大的计算负担。因此,在支持数据并行、模型并行和混合并行、流式并行的分布式数据处理***中,如何降低这种不同计算设备之间的数据传输开销是人们所需要面对的一个问题。
发明内容
本发明的目的在于提供一种本发明的一个目的是解决至少上述问题,具体而言,本公开提供一种在神经网络中为配置一种逻辑节点以减少作业数据的中间参数在不同分布式数据处理***的不同计算设备之间传输的数据量提供指引的解决方案。具体而言,根据本公开的一个方面,提供了一种用于分布式数据处理***的逻辑节点分布式签名决策***,包括:初始逻辑节点生成组件,接收用户输入的任务配置数据,生成用于所述分布式数据处理***的初始逻辑节点拓扑图,其中源逻辑节点具有指定的逻辑分布式签名以及每个初始逻辑节点基于所述任务配置数据附有候选逻辑分布式签名集合,所述候选逻辑分布式签名集合中的每个逻辑分布式签名指定了其所属的初始逻辑节点的每个输入张量的分布式描述符以及每个输出张量的分布式描述符;以及逻辑分布式签名选择组件,根据每个已经确定逻辑分布式签名的上游逻辑节点的输出端的分布式描述符,针对当前逻辑节点的每一个候选逻辑分布式签名,基于每个上游逻辑节点将要并行分布的设备集的数据量、当前逻辑节点将要并行分布的设备集的数据量以及每个上游逻辑节点分布在每个设备上的逻辑数据块的大小,计算将每个上游逻辑节点输出端的张量的分布式描述符变换为当前逻辑节点的对应输入端的张量的分布式描述符所需的传输数据的代价,并选择与代价最小值所对应候选逻辑分布式签名作为所述当前逻辑节点的确定逻辑分布式签名。
根据本公开的用于分布式数据处理***的逻辑节点分布式签名决策***,其中所述逻辑分布式签名选择组件对具有多个输入端的逻辑节点的每个输入端计算所需传输数据的代价并将所有输入端的所需传输数据的代价的总和作为该当前逻辑节点使用对应候选逻辑分布签名时的传输数据的总代价。
根据本公开的用于分布式数据处理***的逻辑节点分布式签名决策***,其中所确定的逻辑分布式签名确定了当前逻辑节点的所有输入端的输入张量的分布方式。
根据本公开的用于分布式数据处理***的逻辑节点分布式签名决策***,其中所述分布式描述符包括分割张量描述符、广播张量分布描述符以及部分和张量描述符。
根据本公开的用于分布式数据处理***的逻辑节点分布式签名决策***,其中所述分割张量描述符指明了张量的分割方式。
根据本公开的另一个方面,提供了一种用于分布式数据处理***的逻辑节点分布式签名决策方法,包括:初始逻辑节点生成步骤,接收用户输入的任务配置数据,生成用于所述分布式数据处理***的初始逻辑节点拓扑图,其中源逻辑节点具有指定的逻辑分布式签名以及每个初始逻辑节点基于所述任务配置数据附有候选逻辑分布式签名集合,所述候选逻辑分布式签名集合中的每个逻辑分布式签名指定了其所属的初始逻辑节点的每个输入张量的分布式描述符以及每个输出张量的分布式描述符;以及逻辑分布式签名选择步骤,根据每个已经确定逻辑分布式签名的上游逻辑节点的输出端的分布式描述符,针对当前逻辑节点的每一个候选逻辑分布式签名,基于每个上游逻辑节点将要并行分布的设备集的数据量、当前逻辑节点将要并行分布的设备集的数据量以及每个上游逻辑节点分布在每个设备上的逻辑数据块的大小,计算将每个上游逻辑节点输出端的张量的分布式描述符变换为当前逻辑节点的对应输入端的张量的分布式描述符所需的传输数据的代价,并选择与代价最小值所对应候选逻辑分布式签名作为所述当前逻辑节点的确定逻辑分布式签名。
根据本公开的用于分布式数据处理***的逻辑节点分布式签名决策方法,其中所述逻辑分布式签名选择步骤包括对具有多个输入端的逻辑节点的每个输入端计算所需传输数据的代价并将所有输入端的所需传输数据的代价的总和作为该当前逻辑节点使用对应候选逻辑分布签名时的传输数据的总代价。
根据本公开的用于分布式数据处理***的逻辑节点分布式签名决策方法,其中所确定的逻辑分布式签名确定了当前逻辑节点的所有输入端的输入张量的分布方式。
根据本公开的用于分布式数据处理***的逻辑节点分布式签名决策方法,其中所述分布式描述符包括分割张量描述符、广播张量分布描述符以及部分和张量描述符。
根据本公开的用于分布式数据处理***的逻辑节点分布式签名决策方法,其中所述分割张量描述符指明了张量的分割方式。
通过根据本公开的分布式数据处理***的逻辑节点分布式签名决策***,能够从全局角度讲静态分布式数据处理***在处理数据过程中的不同计算设备之间的数据交换量最小化,从而减少的数据交互过程产生的开销,这样有效地降低了数据交换对实际运算操作带来的不良影响。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1所示的是根据本公开的用于分布式数据处理***的逻辑节点分布式签名决策***100的原理示意图。
图2所示的是根据本公开的分布式数据处理***的逻辑节点分布式签名决策***100决策SBP签名的一种示意结构图。
图3图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第一示意图。
图4图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第二示意图。
图5图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第三示意图。
图6图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第四示意图。
图7图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第五示意图。
图8图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第六示意图。
具体实施方式
下面结合实施例和附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,在下文中,两个可能设备之一可以被称为第一逻辑分布式签名也可以被称为第二逻辑分布式签名,类似地,两个可能设备的另一个可以被称为第二逻辑分布式签名也可以被称为第一逻辑分布式签名。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本领域技术人员更好地理解本公开,下面结合附图和具体实施方式对本公开作进一步详细说明。
深度学习本质上属于特征学习的一种,从这个角度考虑,可以将深度学习直接应用于从原始数据提取特征。而自动编码器是实现特征提取这一功能的重要模型之一。
图1所示的是根据本公开的用于静态分布式数据处理***的逻辑节点分布式签名决策***100的原理示意图。如图1所示,所述分布式签名决策***100包括初始逻辑节点生成组件110和逻辑分布式签名选择组件120。所述初始逻辑节点生成组件110接收用户输入的任务配置数据,生成用于所述静态分布式数据处理***的初始逻辑节点拓扑图111。在作业输入以后,静态分布式数据处理***会基于用户输入的作业描述,自动将作业分解成众多微小的作业任务,这些众多的微小作业任务由各种操作组元构成,这些操作组元作为逻辑节点彼此前后互联形成初步张量处理神经网络拓扑图。这些神经网络的每层网络包含了众多的逻辑节点,相邻两层神经网络之间彼此连接,从而为分布式数据处理***中执行实际作业处理的执行体的布置(PLACEMENT)提供了指引。图1中仅仅示意性地给出了一个简单的初始逻辑节点拓扑图111,其中显示了节点A、B、C、D、E、F、L以及K。其他未显示的采用省略方式替代。在实际的数据处理中,初始节点拓扑图111会更复杂。初始逻辑节点拓扑图111包含实现用户所描述的计算任务的基本运算节点。这种初始逻辑节点拓扑图111的生成方式属于本领域常规技术,因此不在此赘述。
在初始逻辑节点拓扑图111的各个初始逻辑节点每个包含多个SBP签名。作为已经由用户配置了SBP签名的源逻辑节点或基于用户的任务描述而确定了唯一SBP签名的初始逻辑节点,例如初始逻辑节点A、E以及C,其仅仅具有唯一的SBP签名,例如初始逻辑节点A的SBP-5,初始逻辑节点C的SBP-2以及初始逻辑节点E的SBP-3。在未确定唯一SBP签名的情况下,初始逻辑节点通常包含有其固有的一些候选SBP签名。如图1中的初始逻辑节点B,其具有多个候选SBP签名,例如三个,包括SBP-1、SBP-2以及SBP-3。其他初始逻辑节点也各自具有不同的候选SBP签名,在此不一一列出。不同的初始逻辑节点根据其具体执行的运算操作不同,会有不同的固定的候选SBP签名。
根据本公开的SBP签名是应用在一种分布式数据处理***中的签名。分布式数据处理***中,由于经常存在数据并行、模型并行以及混合并行以及流式并行等的情形,因此,经常会存在相邻的逻辑节点的任务将被同时部署到不同的计算设备上,因此在实际数据处理过程中,各个计算设备之间会对中间参数进行交换,会导致大量的传输开销。为此,为了减少数据传输开销,需要在初始逻辑节点拓扑图111的基础上,进一步生成更多的逻辑节点,以便完善逻辑节点拓扑图,尤其是减少上下游逻辑节点之间的传输开销,需要使得上下游逻辑节点的数据分布方式所带来的变化最小。为此,本公开为了获得比较好的下游逻辑节点,针对每个逻辑节点指定了逻辑分布式签名。所述逻辑分布式签名是采用张量的分布式描述符对逻辑节点的签名,每个张量的分布式描述符描述了每个张量的在整个计算***中的分布方式,主要包括分割(SPLIT)张量描述符、广播(BROADCAST)张量描述符以及部分值(PARTIAL VALUE)张量描述符。
具体而言,分割(SPLIT)张量描述符就是描述一个张量的分割方式,例如将一个数据块根据用户的描述在指定的维度上进行分割,并分布到不同的计算设备上进行指定的计算处理。如果一个数据块为二维数据块,则该数据块在其第0维被切割时,则该数据块所形成的一批数据的数据张量的分布式描述符为S(0),则每个逻辑数据块在其输入端获得这种数据张量的分布式描述符都为S(0)。同样,如果一个数据块为二维数据块,则该数据块在其第1维被切割时,则该数据块所形成的一批数据的数据张量的分布式描述符为S(1),则每个逻辑数据块在其输入端获得这种数据张量的分布式描述符都为S(1)。类似地,如果待处理的任务数据的维度为更多维度,则会有更多的分布式描述符,例如S(2)、S(3)…等等。这类所提到的数据可以是被处理的数据或模型。如果数据本身被切割,则在分布式数据处理***上形成数据并行处理,如果模型被分割,则在分布式数据处理***上会形成模型并行处理。如果逻辑节点的输入为这种分割(SPLIT)张量描述符,则在实际数据处理过程中,如果一个张量的数据大小为T,而该张量将被分布到四张计算卡上进行数据并行计算,则每张卡上分配到的数据量为四分之一的数据,整个四张卡上的数据量则为T。
广播(BROADCAST)张量描述符是用来描述一个张量以广播方式在分布式***中进行发布的方式。通常,对于仅仅进行数据并行的数据处理***,模型数据通常被广播到各个计算设备,因此对于被输入到逻辑节点的广播数据采用广播张量描述符进行描述。在实际数据处理过程中,被广播的数据,在每张实际计算卡上的数据块大小都是相同的。
部分值(PARTIAL VALUE)张量描述符表示一个逻辑节点的输入或输出张量为多个同类张量的部分值。这些部分值包括部分和(Ps)、部分积(Pm)、部分“与”结果、部分最大以及部分最小。由于通常会为了对数据进行数据并行处理,因此,在不同设备上对数据的处理是对部分数据的处理。例如有些张量为S(0)或S(1),则在一些计算设备上获得结果张量为S(0),这些部分计算设备上的结果张量合并起来就是部分值张量。将所有设备上的同类数据合并起来才是最后的输出结果。
上述各种张量的分布式描述符代表了这些张量在分布式计算***中的分布方式,而这些张量无论是作为逻辑节点的输入和输出,其各自的分布方式也描述了逻辑节点对操作数据的分布描述。为了描述方便,本公开将这种分布式描述符简称为“SBP描述符”。
为此,随着初始逻辑节点拓扑图111的生成,本公开的初始逻辑节点,也就是一些运算节点也具备了各个输入和输出的数据分布式描述符,这些输入和输出分布式描述符形成了对逻辑节点的一种签名,即采用张量的分布式描述符对运算逻辑节点的签名。为了方便表述,采用这三种分布式描述符的英文首字母来简称这种签名为“SBP签名”。
根据每个分布式计算***中用户对计算任务的描述和数据并行的要求,这种描述符会包括至少三种S(0)、B以及P。如果对数据和模型存在多种分割方式,则每增加一种分割方式,则增加一种描述符。针对每个逻辑节点,其签名都包含了这些描述符的各种组合方式。因此,在根据本公开分布***中,至少有三种分布式描述符,通常为有四种分布式描述符,例如如下四种SBP描述符,S(0)、S(1)、P以及B。根据张量维度数量不同,可以有更多分布式描述符。如果为四种SBP描述符,则可以按照输入输出的排列组合方式形成多种SBP签名。下面列出了一些SBP签名的实例: (S(0), B)→S(0),(S(1), B)→S(1),P→P,B→B,(S(0),S(1))→P,S(0)→P,S(0)→S(0),S(0)→S(1),P→B等等。所有SBP签名是各种SBP描述符组合结果。对于矩阵乘法逻辑节点,如果其输入张量是在第一维上面切割,其输出结果张量也是得到第一维上切割。综上所述,S、B、P是用于描述数据块在数据处理***中的分布的描述符,而SBP签名利用多个SBP描述符描述逻辑节点的任务操作。每个数据块可以有多种SBP描述符,而每个逻辑节点所代表的运算方式可以多种SBP 签名的情形。例如,图1所示的SBP-1可以是(S(0), B)→S(0)这种签名形式,而SBP-2可以是(S(1), B)→S(1)这种签名形式。实际应用中,不同签名形式可以具有不同的编号,这里给出的编号仅仅是为了描述的方便,并不意味着需要对每个签名都赋予一个编号,可以完全没有编号,签名的不同形式彼此之间不需要编号就可以彼此区分。
可以基于用于的任务描述赋予每个初始逻辑节点如上所述的SBP签名。通常的任务逻辑节点是一些运算操作节点,其执行特定的运算操作,因此其具有特定的候选SBP签名。需要指出的是,并不是每个任务逻辑节点所具备的SBP签名都一样,通常进行乘法操作的任务逻辑节点其SBP签名的输入张量不包含部分和张量,因此其输入张量的SBP描述符不包含分布式描述符P。对于执行加法操作的任务逻辑节点的候选SBP签名则可以包括各种SBP描述符彼此之间或自己之间的任意组合。例如执行矩阵乘法的任务逻辑节点,在仅有数据并行的情况下,其候选SBP签名通常为(S(0), B)→S(0),(S(1), B)→S(1), (S(0), S(1))→P等,但不仅此这些,随着技术的发展,以前一些不适合矩阵乘法的签名也可以应用到矩阵乘法,此处仅仅是举例。因此,每个初始逻辑节点基于所述任务配置数据附有候选逻辑分布式签名集合。所述候选逻辑分布式签名集合中的每个逻辑分布式签名指定了其所属的初始逻辑节点的每个输入张量的分布式描述符以及每个输出的张量的分布式描述符。
尽管初始逻辑节点生成组件110生成了初始逻辑节点拓扑图111,但是初始逻辑节点拓扑图111中每个逻辑节点将使用哪种SBP签名所确定的张量或者说使用哪种分布式张量以及输入何种分布式张量,需要进一步确定。
因此,根据本公开的逻辑节点分布式签名决策***100的逻辑分布式签名选择组件120从初始逻辑节点拓扑图111中的源逻辑节点开始,在当前逻辑节点(例如逻辑节点B)的所有上游逻辑节点(例如逻辑节点A和E)的逻辑标签或SBP标签已经被确定时,传输数据量估算单元121基于所述逻辑节点B的所有上游逻辑节点的与逻辑节点B的输入端对应的输出端的分布式描述符,针对逻辑节点B的每一个候选逻辑分布式签名,计算将每个上游逻辑节点输出端的张量的分布式描述符变换为逻辑节点B的对应输入端的候选逻辑分布式签名之一的张量的分布式描述符所需的传输的数据的代价。如图1所示,逻辑节点B,其具有很多候选SBP签名,例如SBP-1、SBP-2以及SBP-3。举例而言, SBP-1其可能形式为 (S(1), B)→S(1)或(S(1), P)→S(1)的签名,初始逻辑节点A的签名SBP-5其可能形式举例而言为 (S(0), B)→S(0)的签名,初始逻辑节点E的签名SBP-3可能形式举例而言为B→B或S(0)→P。每个签名形式中,箭头左侧为输入张量的分布式描述符,箭头右侧为输出张量的分布式描述符。为了描述方便,下面将“分布描述符为S(0)的张量”简称为“S(0)张量”,将“分布描述符为B的张量”简称为“B张量”,将“分布描述符为P的张量”简称为“P张量”,以此类推。
如图1所示,初始逻辑节点拓扑图111中逻辑节点E的标签SBP-3的形式如果为“S(0)→S(0)”,则其输出张量分布描述符则为S(0),因此其输出张量为S(0)张量。如果逻辑节点E的签名SBP-3的形式为“B→B”或 “P→P”,则其输出的张量的分布描述符为B或P,因此其输出张量为B张量或P张量。如果逻辑节点B的候选签名SBP-1(即“(S(0), S(1))→P”)被选择为确定的签名,则其对应节点E的输出端的第一输入端的输入张量的分布描述符则必须是S(0),即第一输入端必须获得一个S(1)张量,而其对应于节点A的输出端的第二输入端的输入张量的分布描述符则必须是S(0),即第二输入端必须获得一个S(0)张量。很显然,此时节点A的输出张量分布描述符的P与节点B的第一输入端的输入张量的分布描述符S(0)不符,因此,要使得逻辑节点B执行正确的运算操作,就需要将节点A输出的分布描述符为P的张量变换为分布描述符为S(0)的张量。同样,如果节点E输出的张量的分布描述符为S(0),则与节点B的第二输入端的量输入张的分布描述符S(1)不一致,因此,要使得逻辑节点B执行正确的运算操作,就需要将节点E输出的分布描述符为S(0)的张量变换为分布描述符为S(1)的张量。
在分布式计算***中,由于各个逻辑节点的操作任务尤其是运算任务被切割分布到各个计算设备(例如计算卡CPU、GPU或TPU)上,因此为了最终获得正确的结果,需要不断对中间参数进行同步,这就会涉及到不同计算设备之间的中间参数的交换。当上一逻辑节点的SBP签名所含有的输出张量的SBP描述符与当前节点的SBP签名的对应输入张量的SBP描述符不一致时,通常在实际运行过程中进行输出转换,而这个转换过程通常需要获取位于另一个计算设备上的部分数据,以便与本地能够获得的数据一起构成当前逻辑节点输入端所需的数据,从而符合当前逻辑节点的输入端的数据张量的分布式描述符。这种从另一个设备上获取部分数据的过程将会产生比较大的数据传输开销或传输代价。因此,为当前逻辑节点选择不同的签名会产生不同的数据传输开销或代价。为此,传输数据量估算单元121会对每个未确定签名的逻辑节点估算每个候选签名将会产生的数据传输开销。例如,针对逻辑节点B,针对其三个候选SBP签名分别估算逻辑节点B在采用其中一个SBP签名的情况下会产生的数据传输代价。对于逻辑节点B而言,选择任意一个候选SBP签名都可以实现其操作任务。但是其采用不同的SBP签名情况下,其运行所产生的数据传输代价不同。因此,为了在数据处理过程中使得数据传输代价最小化,需要从各个逻辑节点的候选签名中选择数据传输量最小的签名作为其实际运行过程中的签名。
在初始逻辑节点拓扑图111中处于上下游关系的逻辑节点A和逻辑节点B之间,逻辑节点A可能是源节点,其SBP签名可以由用户配置生成,也可以基于用户的对任务的描述自然生成,或者逻辑节点A的SBP签名已经基本按照本公开的方案进行了决策选择确定,例如逻辑节点A的SBP签名的输出张量的描述符为S(0)。而作为初始逻辑节点拓扑图111中的逻辑节点B,其具有很多候选SBP签名,其可能包括(S(1),B)→S(1) , B→P , S(1))→P,以及P→B等等但是,从逻辑节点A到逻辑节点B,由于逻辑节点A的输出张量的分布描述符为S(0),节点B可以选择的对应输入张量分布描述符可以为S(1)、B以及P。
因此,当前面一些逻辑节点的签名被确定下来以后,其下游的逻辑节点的SBP签名也基于上游逻辑节点的输出张量的逻辑分布式描述符(SBP描述符)和下游上游逻辑节点的候选逻辑分布式签名的对应输入张量的逻辑分布式描述符(SBP描述符)之间的数据传输的代价而最终被选择确定。通过这种方式,对这样当一个逻辑节点的候选SBP签名一旦被选定进行计算,意味着该逻辑节点的各个输入端和输出端的数据块的各自的SBP描述符也确定下来,从而计算或估算出当前逻辑节点的数据传输的总代价,并将总代价最小的候选逻辑分布式签名作为该当前逻辑节点的逻辑分布式签名。需要指出的是,如果当前逻辑节点的候选签名中有哪些签名的输入端的逻辑分布式描述符与其上游逻辑节点的输出张量的逻辑分布式描述符一致,则可以优先选择含有该逻辑分布式描述符的候选逻辑分布式签名,除非该候选逻辑分布式签名的其他输入端张量的逻辑分布式描述符会导致最后的总代价更大。
图2所示的是根据本公开的分布式数据处理***的逻辑节点分布式签名决策***100决策SBP签名的一种示意结构图。图2是对图1中节点A、B以及E之间的关系的放大示意图。如图2所示,假设逻辑节点E的已经确定的SBP签名SBP-3的输出张量的分布描述符为S(0),逻辑节点A的已经确定的SBP签名SBP-5的输出张量的分布描述符为输入张量的分布描述符为P,逻辑节点B的候选SBP签名之一SBP-2为(S(1), S(0))→P。因此逻辑节点B的与逻辑节点E的输出张量的SBP描述符S(0)对应的输入张量的SBP描述符为S(1),而逻辑节点B的与逻辑节点A的输出张量的SBP描述符P对应的输入张量的SBP描述符为S(0)。因此,要符合逻辑节点B的候选SBP签名的输入逻辑数据块分布要求,则需要使得其一个输入的张量分布从逻辑节点E的输出张量的SBP描述符S(0)变换为S(1)以及使得其另一个输入的张量分布从逻辑节点A的输出张量的SBP描述符P变换为S(0)。这中变换将会在实际数据处理过程中产生数据交换。
图3图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第一示意图。针对图2所示的任务节点B的候选SBP签名SBP-2,假设为(S(1), S(0))→P。为了描述方便,输入源任务节点A和E与接收的汇节点B的任务都分布在同一设备集上。如图3所示,都分布在计算卡GUP 0和GPU 1上。尽管这里只是显示了两张计算卡,实际上源任务节点和汇任务节点可以分布到更多张卡上,也可以分布到不同设备集上。图3显示了图2中的任务节点E的任务的S(0)描述符张量分布在两张计算卡上的情况下任务节点B的输入端要获得S(0)描述符的张量的情况下的数据交换过程。
任务节点B的分布在GPU 0的任务节点要获得S(1),则除了需要直接从获得任务节点E的S(0)描述符所描述的分布在GPU 0上的张量一半外(采用实线箭头显示了这种数据部分的获取过程),还需要补充从任务节点E的S(0)描述符所描述的分布在GPU 1上的张量的另外一半(采用虚线箭头显示了这种数据部分的获取过程)。如果逻辑数据块的大小为T1,则从GPU 1上的任务节点E的逻辑数据块上传输到任务节点B的分布在GPU 0的任务节点的数据量为T1/2。与此同时,任务节点B的分布在GPU 1的任务节点要获得S(1),则除了需要直接从获得任务节点E的S(0)描述符所描述的分布在GPU 1上的张量一半外(采用实线箭头显示了这种数据部分的获取过程),还需要补充从任务节点E的S(0)描述符所描述的分布在GPU 0上的张量的另外一半(采用虚线箭头显示了这种数据部分的获取过程)。如果逻辑数据块的大小为T1,则从GPU 0的任务节点E的逻辑数据块上传输到任务节点B的分布在GPU 1的任务节点的数据量为T1/2。因此,将任务节点E的S(0)描述符张量变换为任务节点B的输入端要获得S(0)描述符的张量,总的数据传输代价为T1=(T1/2+T1/2)。T1是源节点上所分布的逻辑数据块的大小。在图3中,逻辑数据块的大小为S(0)分布在每张卡上阴影部分的数据块的大小也就是整个张量的二分之一。在设备集的数据卡的数量为3、4或5的情况下,其传输代价也还是T1。
图4图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第二示意图。同样,针对图2所示的任务节点B的候选SBP签名SBP-2,假设为(S(1), S(0))→P。为了描述方便,输入源任务节点A和E与接收的汇节点B的任务都分布在同一设备集上,如图4所示,都分布在计算卡GPU 0、GPU 1以及GPU 2上。尽管这里显示了三张计算卡,这仅仅是为了举例。其也可以与图3所示的那样可以是两张卡。实际上源任务节点和汇任务节点可以分布到更多张卡上,也可以分布到不同设备集上。图4显示了图2中的任务节点A的任务的P描述符张量分布在两张计算卡上的情况下任务节点B的输入端要获得S(0)描述符的张量的情况下的数据交换过程。
任务节点B的分布在GPU 0的任务节点要获得S(0),则除了需要直接从获得任务节点A的P描述符所描述的分布在GPU 0上的张量三分之一外(采用实线箭头显示了这种数据部分的获取过程),还需要补充任务节点A的P描述符所描述的分布在GPU 1上的张量的三分之一(采用虚线箭头显示了这种数据部分的获取过程)以及任务节点A的P描述符所描述的分布在GPU 2上的张量的三分之一。为此,在三张卡上每个分布有部分值张量P,举例而言,这里采用Ps来表示为一种部分和张量作为一种描述实例。如果A任务节点分布在每张GPU卡上的逻辑数据块的大小为T2,则分布在GPU 0上的任务节点B要获得S(0)张量,还需要补充从GPU 1上的任务节点A的逻辑数据块上向任务节点B的分布在GPU 0的任务节点传输数据量T2/3以及从GPU 2上的任务节点A的逻辑数据块上向任务节点B的分布在GPU 0的任务节点传输数据量T2/3。同样,分布在GPU 1上的任务节点B要获得S(0)张量,还需要补充从GPU0上的任务节点A的逻辑数据块向任务节点B的分布在GPU 1的任务节点传输数据量T2/3以及从GPU 2上的任务节点A的逻辑数据块向任务节点B的分布在GPU 1的任务节点传输数据量T2/3。类似地,分布在GPU 2上的任务节点B要获得S(0)张量,还需要补充从GPU 1上的任务节点A的逻辑数据块向任务节点B的分布在GPU 2的任务节点传输数据量T2/3以及从GPU0上的任务节点A的逻辑数据块向任务节点B的分布在GPU 2的任务节点传输数据量T2/3。因此,图4所示的从P分布式张量变换成S(0)分布式张量在实际数据处理过程中的数据传输量为2T2=(T2/3+T2/3+T2/3+T2/3+T2/3+T2/3)。可选择地,如果任务节点所分布的计算卡的数量为2。则数据的传输量为T2=(T2/2+T2/2)。以此类推,在源节点和汇节点具有相同的设备集的情况下,如果设备集中的卡数量k,则数据的传输量为(k-1)·T2。
很显然,如上所述,对于逻辑节点B要执行体运算操作,选择签名SBP-2签名(例如签名(S(1), S(0))→P)所需要的数据传输代价是两个输入端的传输代价的总和。综合图3和图4(如果图4中为两张计算卡的情况下),任务节点在候选签名SBP-2情况下,其需要传输的总的数据量为T1 +T2。为此,传输数据量估算单元121针对逻辑节点B的候选签名SBP-1所估算的传输代价需要包含针对该候选签名的两个输入端的传输代价。
根据针对源任务节点和汇任务节点的设备集之间的完全相同的情况可以归纳总结各种SBP描述符彼此之间存在的数据交换量的计算表,如下表1:
表1(源任务节点和汇任务节点的分布设备集完全相同,卡数为K)
变换模式 | 源任务节点分布张量的数据量 | 数据交换量 | 备注 |
S(i) →S(j) | T<sub>1</sub> | 0 | i=j |
S(i) →S(j) | T<sub>1</sub> | T<sub>1</sub> | i≠j |
S→B | T<sub>2</sub> | (K-1) ·T<sub>2</sub> | |
S→P | T<sub>3</sub> | T<sub>3</sub> | |
B→S | T<sub>4</sub> | 0 | |
B→B | T<sub>5</sub> | 0 | |
B→P | T<sub>6</sub> | 0 | |
P→S | T<sub>7</sub> | (K-1) · T<sub>7</sub> | |
P→B | T<sub>8</sub> | 2(K-1) · T<sub>8</sub> | |
P→P | T<sub>9</sub> | 0 |
图5图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第三示意图。其中的源节点的设备集与汇节点的设备集完全不同。即源任务节点E分布在GPU 0和GPU1上,汇任务节点B分布在计算卡GPU 2和GPU 3上。如果分布在各个计算卡上的逻辑数据块大小为T3,在需要传输的数据量为2T3。
图6图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第四示意图。其中的源节点的设备集与汇节点的设备集完全不同。即源任务节点A分布在GPU 0、 GPU1和GPU 2上,汇任务节点B分布在计算卡GPU 3、 GPU4和GPU 5上。举例而言,在三张卡上每个分布有部分值张量P,这里采用Ps来表示为一种部分和张量作为一种描述实例。如果分布在各个源任务节点的各个计算卡上的逻辑数据块大小为T4,在需要传输的数据量为9个1/3 T4,即,3T4。如果源任务节点所分布的任务集的计算卡的数量为2, 则需要传输的数据量为2T4。如果源任务节点A所分布的任务集的计算卡的数量为Ks,则数据的传输量则为Ks ·T4。
根据针对源任务节点和汇任务节点的设备集之间的完全不同的情况可以归纳总结各种SBP描述符彼此之间存在的数据交换量的计算表,如下表2:
表2(源任务节点(卡数为Ks)和汇任务节点(卡数为Kd)各自的分布设备集完全不同)
变换模式 | 源任务节点分布张量的数据量 | 数据交换量 | 备注 |
S(i) →S(j) | T<sub>1</sub> | T<sub>1</sub> | i≠j |
S→B | T<sub>2</sub> | K<sub>d</sub> ·T<sub>2</sub> | |
S→P | T<sub>3</sub> | T<sub>3</sub> | |
B→S | T<sub>4</sub> | 1 | |
B→B | T<sub>5</sub> | K<sub>d</sub> ·T<sub>5</sub> | |
B→P | T<sub>6</sub> | T<sub>6</sub> | |
P→S | T<sub>7</sub> | K<sub>s</sub> ·T<sub>7</sub> | |
P→B | T<sub>8</sub> | K<sub>s</sub> ·K<sub>d</sub> ·T<sub>8</sub> | |
P→P | T<sub>9</sub> | K<sub>s</sub> ·T<sub>9</sub> |
图7图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第五示意图。其中的源节点的设备集与汇节点的设备集不完全相同。即源任务节点E分布在GPU 0和GPU1上,汇任务节点B分布在计算卡GPU 1和GPU 2。如果分布在各个源任务节点所分布的计算卡上的逻辑数据块大小为T5,在需要传输的数据量为3/2T3=(1/2 T3+1/2 T3+1/2 T3)。这种情况下,计算没有固定规律,需要根据实际设备集的具体构成以及彼此之间的交集情况进行计算。
图8图示了根据本公开的传输数据量估算单元121估算不同分布式描述符的张量之间产生的数据传输量的第六示意图。其中的源节点的设备集与汇节点的设备集不完全相同。即源任务节点A分布在GPU 0、 GPU1和GPU 2上,汇任务节点B分布在计算卡GPU 1、 GPU2和GPU 3上。举例而言,在三张卡上每个分布有部分值张量P,这里采用Ps来表示为一种部分和张量作为一种描述实例。如果分布在各个源任务节点的各个计算卡上的逻辑数据块大小为T6,在需要传输的数据量为在需要传输的数据量为7个1/3 T4,即,7/3T4。这种情况下,计算没有固定规律,需要根据实际设备集的具体构成以及彼此之间的交集情况进行计算。
如上所述,传输数据量估算单元121按照上述方式遍历逻辑节点B的所有候选签名SBP-1、SBP-2以及SBP-3,并针对每个签名获取其传输代价。随后,传输数据总量比较单元122会比较每个候选签名下的传输代价,并获取待确定逻辑节点,例如逻辑节点B,的最小传输代价。最后由SBP签名确定单元123将最小传输代价所对应的候选SBP签名确定为该逻辑节点B的最终SBP签名。
最后逻辑节点拓扑图输出组件130基于SBP签名确定单元123针对每个逻辑节点确定的SBP签名,输出最终的逻辑节点拓扑图131,构成该逻辑节点拓扑图131的每个逻辑节点都只附带有一个SBP签名,或者说每个逻辑节点都明确指定了其每个输入张量的分布方式或分布描述符,并且唯一地确定了其输入张量的分布方式或分布描述符。
尽管上面给出了如何在一些候选SBP签名确定最终SBP签名的常规情况,但是在一些特定的情况下,对于某些逻辑节点,在用户有特殊的配置的情况下或有用户指定的情况下,这些逻辑节点只有用户指定的SBP签名,因此其下游的逻辑节点将基于这种特别指定的上游逻辑节点进行SBP签名的确定。
通过根据本公开的分布式数据处理***的逻辑节点分布式签名决策***,能够从全局角度使得分布式数据处理***在处理数据过程中的不同计算设备之间的数据交换量最小化,从而减少的数据交互过程产生的开销,这样有效地降低了数据交换对实际运算操作带来的不良影响,降低了运算操作的等待时间,从而加快了数据处理速度。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本公开的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本公开的说明的情况下运用他们的基本编程技能就能实现的。
因此,本公开的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本公开的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本公开,并且存储有这样的程序产品的存储介质也构成本公开。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
还需要指出的是,在本公开的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (10)
1.一种用于分布式数据处理***的逻辑节点分布式签名决策***,包括:
初始逻辑节点生成组件,接收用户输入的任务配置数据,生成用于所述分布式数据处理***的初始逻辑节点拓扑图,其中源逻辑节点具有指定的逻辑分布式签名以及每个初始逻辑节点基于所述任务配置数据附有候选逻辑分布式签名集合,所述候选逻辑分布式签名集合中的每个逻辑分布式签名指定了其所属的初始逻辑节点的每个输入张量的分布式描述符以及每个输出张量的分布式描述符;以及
逻辑分布式签名选择组件,根据每个已经确定逻辑分布式签名的上游逻辑节点的输出端的分布式描述符,针对当前逻辑节点的每一个候选逻辑分布式签名,基于每个上游逻辑节点将要并行分布的设备集的数据量、当前逻辑节点将要并行分布的设备集的数据量以及每个上游逻辑节点分布在每个设备上的逻辑数据块的大小,计算将每个上游逻辑节点输出端的张量的分布式描述符变换为当前逻辑节点的对应输入端的张量的分布式描述符所需的传输数据的代价,并选择与代价最小值所对应候选逻辑分布式签名作为所述当前逻辑节点的确定逻辑分布式签名。
2.根据权利要求1所述的用于分布式数据处理***的逻辑节点分布式签名决策***,其中所述逻辑分布式签名选择组件对具有多个输入端的逻辑节点的每个输入端计算所需传输数据的代价并将所有输入端的所需传输数据的代价的总和作为该当前逻辑节点使用对应候选逻辑分布签名时的传输数据的总代价。
3.根据权利要求1或2所述的用于分布式数据处理***的逻辑节点分布式签名决策***,其中所确定的逻辑分布式签名确定了当前逻辑节点的所有输入端的输入张量的分布方式。
4.根据权利要求3所述的用于分布式数据处理***的逻辑节点分布式签名决策***,其中所述分布式描述符包括分割张量描述符、广播张量分布描述符以及部分值张量描述符。
5.根据权利要求4所述的用于分布式数据处理***的逻辑节点分布式签名决策***,其中所述分割张量描述符指明了张量的分割方式。
6.一种用于分布式数据处理***的逻辑节点分布式签名决策方法,包括:
初始逻辑节点生成步骤,接收用户输入的任务配置数据,生成用于所述分布式数据处理***的初始逻辑节点拓扑图,其中源逻辑节点具有指定的逻辑分布式签名以及每个初始逻辑节点基于所述任务配置数据附有候选逻辑分布式签名集合,所述候选逻辑分布式签名集合中的每个逻辑分布式签名指定了其所属的初始逻辑节点的每个输入张量的分布式描述符以及每个输出张量的分布式描述符;以及
逻辑分布式签名选择步骤,根据每个已经确定逻辑分布式签名的上游逻辑节点的输出端的分布式描述符,针对当前逻辑节点的每一个候选逻辑分布式签名,基于每个上游逻辑节点将要并行分布的设备集的数据量、当前逻辑节点将要并行分布的设备集的数据量以及每个上游逻辑节点分布在每个设备上的逻辑数据块的大小,计算将每个上游逻辑节点输出端的张量的分布式描述符变换为当前逻辑节点的对应输入端的张量的分布式描述符所需的传输数据的代价,并选择与代价最小值所对应候选逻辑分布式签名作为所述当前逻辑节点的确定逻辑分布式签名。
7.根据权利要求6所述的用于分布式数据处理***的逻辑节点分布式签名决策方法,其中所述逻辑分布式签名选择步骤包括对具有多个输入端的逻辑节点的每个输入端计算所需传输数据的代价并将所有输入端的所需传输数据的代价的总和作为该当前逻辑节点使用对应候选逻辑分布签名时的传输数据的总代价。
8.根据权利要求6或7所述的用于分布式数据处理***的逻辑节点分布式签名决策方法,其中所确定的逻辑分布式签名确定了当前逻辑节点的所有输入端的输入张量的分布方式。
9.根据权利要求8所述的用于分布式数据处理***的逻辑节点分布式签名决策方法,其中所述分布式描述符包括分割张量描述符、广播张量分布描述符以及部分值张量描述符。
10.根据权利要求9所述的用于分布式数据处理***的逻辑节点分布式签名决策方法,其中所述分割张量描述符指明了张量的分割方式。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090335.2A CN110955734B (zh) | 2020-02-13 | 2020-02-13 | 逻辑节点的分布式签名决策***及其方法 |
PCT/CN2021/072786 WO2021159928A1 (zh) | 2020-02-13 | 2021-01-20 | 逻辑节点的分布式签名决策***及其方法 |
US18/076,171 US11818231B2 (en) | 2020-02-13 | 2022-12-06 | Logical node distributed signature decision system and a method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090335.2A CN110955734B (zh) | 2020-02-13 | 2020-02-13 | 逻辑节点的分布式签名决策***及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955734A true CN110955734A (zh) | 2020-04-03 |
CN110955734B CN110955734B (zh) | 2020-08-21 |
Family
ID=69985654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010090335.2A Active CN110955734B (zh) | 2020-02-13 | 2020-02-13 | 逻辑节点的分布式签名决策***及其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11818231B2 (zh) |
CN (1) | CN110955734B (zh) |
WO (1) | WO2021159928A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930519A (zh) * | 2020-09-22 | 2020-11-13 | 北京一流科技有限公司 | 用于分布式数据处理的并行决策***及其方法 |
CN112764940A (zh) * | 2021-04-12 | 2021-05-07 | 北京一流科技有限公司 | 多级分布式数据处理部署***及其方法 |
CN112799852A (zh) * | 2021-04-12 | 2021-05-14 | 北京一流科技有限公司 | 逻辑节点的多维sbp分布式签名决策***及其方法 |
WO2021159928A1 (zh) * | 2020-02-13 | 2021-08-19 | 北京一流科技有限公司 | 逻辑节点的分布式签名决策***及其方法 |
CN114035968A (zh) * | 2022-01-10 | 2022-02-11 | 北京一流科技有限公司 | 用于多流并行的冲突处理***及其方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317716A (zh) * | 2014-10-30 | 2015-01-28 | 华为技术有限公司 | 分布式节点间的数据传输方法及分布式节点设备 |
CN104954483A (zh) * | 2015-06-30 | 2015-09-30 | 深圳清华大学研究院 | 云计算平台中使用竞价节点部署分布式服务的方法 |
CN106656798A (zh) * | 2016-12-30 | 2017-05-10 | 先锋支付有限公司 | 一种计算决策路径的方法及分布式节点 |
CN108199868A (zh) * | 2017-12-25 | 2018-06-22 | 北京理工大学 | 一种基于战术云的集群***分布式控制方法 |
CN108876702A (zh) * | 2018-06-21 | 2018-11-23 | 北京邮电大学 | 一种加速分布式深度神经网络的训练方法及装置 |
CN109189589A (zh) * | 2018-08-14 | 2019-01-11 | 北京博睿宏远数据科技股份有限公司 | 一种分布式大数据计算引擎及架构方法 |
CN110222005A (zh) * | 2019-07-15 | 2019-09-10 | 北京一流科技有限公司 | 用于异构架构的数据处理***及其方法 |
CN110262995A (zh) * | 2019-07-15 | 2019-09-20 | 北京一流科技有限公司 | 执行体创建***和执行体创建方法 |
US20190332437A1 (en) * | 2018-04-27 | 2019-10-31 | Microsoft Technology Licensing, Llc | Nested tenants |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245108A (zh) * | 2019-07-15 | 2019-09-17 | 北京一流科技有限公司 | 执行体创建***和执行体创建方法 |
CN110955734B (zh) * | 2020-02-13 | 2020-08-21 | 北京一流科技有限公司 | 逻辑节点的分布式签名决策***及其方法 |
US11271816B2 (en) * | 2020-02-24 | 2022-03-08 | At&T Intellectual Property I, L.P. | Network topology management using network element differential history |
US20210119882A1 (en) * | 2020-04-13 | 2021-04-22 | Intel Corporation | Methods and apparatus to determine topologies for networks |
US11424989B2 (en) * | 2020-06-15 | 2022-08-23 | Cisco Technology, Inc. | Machine-learning infused network topology generation and deployment |
US11431580B2 (en) * | 2020-07-13 | 2022-08-30 | Dell Products L.P. | Automated generation of a visualization of a system topology |
-
2020
- 2020-02-13 CN CN202010090335.2A patent/CN110955734B/zh active Active
-
2021
- 2021-01-20 WO PCT/CN2021/072786 patent/WO2021159928A1/zh active Application Filing
-
2022
- 2022-12-06 US US18/076,171 patent/US11818231B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317716A (zh) * | 2014-10-30 | 2015-01-28 | 华为技术有限公司 | 分布式节点间的数据传输方法及分布式节点设备 |
CN104954483A (zh) * | 2015-06-30 | 2015-09-30 | 深圳清华大学研究院 | 云计算平台中使用竞价节点部署分布式服务的方法 |
CN106656798A (zh) * | 2016-12-30 | 2017-05-10 | 先锋支付有限公司 | 一种计算决策路径的方法及分布式节点 |
CN108199868A (zh) * | 2017-12-25 | 2018-06-22 | 北京理工大学 | 一种基于战术云的集群***分布式控制方法 |
US20190332437A1 (en) * | 2018-04-27 | 2019-10-31 | Microsoft Technology Licensing, Llc | Nested tenants |
CN108876702A (zh) * | 2018-06-21 | 2018-11-23 | 北京邮电大学 | 一种加速分布式深度神经网络的训练方法及装置 |
CN109189589A (zh) * | 2018-08-14 | 2019-01-11 | 北京博睿宏远数据科技股份有限公司 | 一种分布式大数据计算引擎及架构方法 |
CN110222005A (zh) * | 2019-07-15 | 2019-09-10 | 北京一流科技有限公司 | 用于异构架构的数据处理***及其方法 |
CN110262995A (zh) * | 2019-07-15 | 2019-09-20 | 北京一流科技有限公司 | 执行体创建***和执行体创建方法 |
Non-Patent Citations (1)
Title |
---|
李凤华: "分布式信息***安全的理论与关键技术研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021159928A1 (zh) * | 2020-02-13 | 2021-08-19 | 北京一流科技有限公司 | 逻辑节点的分布式签名决策***及其方法 |
US11818231B2 (en) | 2020-02-13 | 2023-11-14 | Beijing Oneflow Technology Co., Ltd | Logical node distributed signature decision system and a method thereof |
CN111930519A (zh) * | 2020-09-22 | 2020-11-13 | 北京一流科技有限公司 | 用于分布式数据处理的并行决策***及其方法 |
CN111930519B (zh) * | 2020-09-22 | 2020-12-15 | 北京一流科技有限公司 | 用于分布式数据处理的并行决策***及其方法 |
WO2022062529A1 (zh) * | 2020-09-22 | 2022-03-31 | 北京一流科技有限公司 | 用于分布式数据处理的并行决策***及其方法 |
CN112764940A (zh) * | 2021-04-12 | 2021-05-07 | 北京一流科技有限公司 | 多级分布式数据处理部署***及其方法 |
CN112799852A (zh) * | 2021-04-12 | 2021-05-14 | 北京一流科技有限公司 | 逻辑节点的多维sbp分布式签名决策***及其方法 |
CN112799852B (zh) * | 2021-04-12 | 2021-07-30 | 北京一流科技有限公司 | 逻辑节点的多维sbp分布式签名决策***及其方法 |
CN114035968A (zh) * | 2022-01-10 | 2022-02-11 | 北京一流科技有限公司 | 用于多流并行的冲突处理***及其方法 |
CN114035968B (zh) * | 2022-01-10 | 2022-03-18 | 北京一流科技有限公司 | 用于多流并行的冲突处理***及其方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230097489A1 (en) | 2023-03-30 |
US11818231B2 (en) | 2023-11-14 |
WO2021159928A1 (zh) | 2021-08-19 |
CN110955734B (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955734B (zh) | 逻辑节点的分布式签名决策***及其方法 | |
CN110928697B (zh) | 拓扑图转换***及其方法 | |
CN111930519B (zh) | 用于分布式数据处理的并行决策***及其方法 | |
Thibeault | On the Comparison of IDDQ and IDDQ Testing | |
CN112764940B (zh) | 多级分布式数据处理部署***及其方法 | |
JPH05290005A (ja) | 並列処理の負荷均一化方法 | |
Ozfatura et al. | Gradient coding with clustering and multi-message communication | |
CN112799852B (zh) | 逻辑节点的多维sbp分布式签名决策***及其方法 | |
CN112183668A (zh) | 并行训练业务模型的方法及装置 | |
CN114327844A (zh) | 内存分配方法、相关设备及计算机可读存储介质 | |
Phuong | Distributed SGD with flexible gradient compression | |
CN113449842A (zh) | 一种分布式自动微分方法及相关装置 | |
Kim et al. | An invariance relation and a unified method to derive stationary queue-length distributions | |
CN114091686A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
Ghatpande et al. | Divisible load scheduling with result collection on heterogeneous systems | |
CN112184299A (zh) | 套利用户识别方法、装置、电子设备及介质 | |
Ren et al. | A provably communication-efficient asynchronous distributed inference method for convex and nonconvex problems | |
CN115730681B (zh) | 模型训练方法、装置、设备以及存储介质 | |
US20150169301A1 (en) | Program specification estimation device, method of the same, and non-transitory computer readable medium | |
Buchholz et al. | Aggregation of Markovian Models--An Alternating Least Squares Approach | |
CN111291893A (zh) | 调度方法、调度***、存储介质和电子装置 | |
CN118228767A (zh) | 模型运行方法、装置、设备以及存储介质 | |
Zhang et al. | PiPar: Pipeline parallelism for collaborative machine learning | |
CN117608820A (zh) | 用于分布式数据处理***的数据通信***及其方法 | |
CN116524066A (zh) | 图任务流处理***及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |