CN110795256B - 一种Gaia系统中基于分布式环境下的消息传输方法 - Google Patents
一种Gaia系统中基于分布式环境下的消息传输方法 Download PDFInfo
- Publication number
- CN110795256B CN110795256B CN201911041563.4A CN201911041563A CN110795256B CN 110795256 B CN110795256 B CN 110795256B CN 201911041563 A CN201911041563 A CN 201911041563A CN 110795256 B CN110795256 B CN 110795256B
- Authority
- CN
- China
- Prior art keywords
- election
- node
- data
- message transmission
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/23—Updating
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种Gaia系统中基于分布式环境下的消息传输方法,属于大数据环境下的数据挖掘、机器学习和应用统计等分布式并行计算领域。技术方案:在分布式环境的所有节点中,经由选举机制得到的选举标记通过消息传输机制传输到同一个节点A,该节点收集选举标记;各个节点与该选举标记进行比较,判断是否进行消息传输;在计算的中间结果之中不断地发生选举,根据结果更新“选举标记”;通过算子完成消息传输之后,汇聚计算结果。有益效果是:本发明提供了在分布式环境下的一种消息传输策略,用于提高并行计算速度的计算方案,能够使得具有相同算子的节点在计算的过程中避免额外的开销完成并行计算,节省了大量的计算资源,有效地提高了计算的效率。
Description
技术领域
本发明属于大数据环境下的数据挖掘、机器学习和应用统计等分布式并行计算领域,尤其涉及一种Gaia系统中基于分布式环境下的消息传输方法。
背景技术
Gaia是一个面向多计算模型混合并存的高时效、可扩展的新一代大数据分析系统。在自适应、可伸缩的大数据存储、批流融合大数据计算、高维大规模机器学习和高时效大数据智能交互向导等大数据分析系统的几个核心层面,解决一系列关键技术问题,构建自主可控的高时效、可伸缩的新一代大数据分析系统,掌握国际领先的大数据分析系统核心技术。
该新型大数据计算系统针对批流混合任务具有全周期多尺度优化和统一计算引擎。现有大数据计算系统或依托自身计算引擎模拟另一类框架的行为,或定义一套通用接口屏蔽底层计算引擎的差异,对批流融合支持较弱。同时,其优化大多位于执行的特定时期或特定层级,且针对高复杂性任务的优化能力不足。针对以上问题,创新性地开发了基于统一计算引擎和全周期多尺度优化的高性能批流融合大数据计算技术。该技术为批流融合处理提供统一表达逻辑支持,通过统一表达建模融合批流处理的计算模型、数据模型、变换模型和动作模型,实现批、流处理的真正融合。针对作业的多样性、持久性、迭代性等特点,提供面向多作业、多任务、迭代计算、持久计算等优化策略,优化针对性更强。同时,提供执行前和执行中的全周期优化,并细分为作业级、任务级、变换级等多个尺度,以实现极速响应和海量吞吐。
Gaia是一个面向分布式数据流处理和批量处理的开源计算平台,支持分布式环境下批量数据处理和流分布式数据处理。并行数据处理是将单节点的庞大任务分派给分布式网络中各个节点进行处理。
Gaia是高可用、高并发的大规模数据处理引擎,立足于内存计算,具有高吞吐、高可用的有点。并行数据处理广泛应用于数据挖掘、机器学习和应用统计领域。随着数据量的日益增加,对海量数据的并行处理和分析具有巨大的应用价值。随着分布式系统的任务量逐渐增加,随之增加的对最终计算结果无影响的数据占用了大量的计算资源。良好的数据并行处理方法能够过滤“噪声”数据,是避免计算资源浪费的关键技术。
在现有的技术中,Gaia在并行处理批量任务时,分布式网络中的每个节点共同执行某个任务时,每个节点会各自进行计算任务,各个节点任务完成后汇总输出结果。Gaia在处理批计算任务时,使用Gaia的算子对每一条数据进行计算,当每个节点各自对所有数据进行计算后,系统得到最后的结果返回给用户。如果数据源中存在着大量对最终结果有影响的数据,这种数据处理方法保证了结果的可靠性。但是,现实世界的用例表明,多数数据源中有很大一部分数据对最终结果没有影响的情况更符合实际。对数据源每一条数据进行计算会占用系统的资源。故而,Gaia现有的并行数据处理方法在数据“噪声”较大的情况下,每个节点浪费大量的计算资源处理“噪声”数据,影响任务处理效率。然而,现有的并行计算方法并不能够高效处理。
发明内容
为了解决上述现有技术中存在的问题,本发明提出一种Gaia系统中基于分布式环境下的消息传输方法,该传输方法对计算引擎的中间结果进行优化,节省了大量的计算资源,有效提高了计算的效率。
技术方案如下:
一种Gaia系统中基于分布式环境下的消息传输方法,步骤如下:
S1、用户提交作业后,计算引擎根据用户定义的数据位置将数据读取到分布式环境之中,并且将数据传递到各个节点之上;
S2、多节点的函数申请自身的计算资源,并且将数据读取到相应的算子之中;
S2.1、Gaia判断定义的资源是否为第一次初始化,如果是则进入步骤S2.2,如果不是则直接进入步骤S2.3;
S2.2、初始化资源之后,系统建立用于同一节点之间相互传输消息的机制;
S2.3、各个节点进行计算之时得到中间结果,并在中间结果之中进行选举,并将所获得的选举结果作为选举标记传输到一个节点之上;
S2.4、在步骤S2.2和步骤S2.3中接收选举标记的这一节点开辟一块缓存,用于存储这一选举标记;
S2.5、在分布式环境的所有节点中,经由选举机制得到的选举标记通过消息传输机制传输到同一个节点A,该节点收集选举标记;
S2.6、各个节点“获取”节点A中的选举标记,并且与该选举标记进行比较,判断是否进行消息传输;
S2.7、各个节点获得数据之后与选举标记比较,通过用户自定义规则判断该数据是否可能成为最终数据,如果能够成为最终数据则进行消息传输,如果过不能则不进行消息传输;
S2.8、随着计算的不断进行,在计算的中间结果之中不断地发生选举,根据结果更新“选举标记”;
S2.9、通过算子完成消息传输之后,汇聚计算结果。
本发明的有益效果是:
本发明提供了在分布式环境下的一种消息传输策略,用于提高并行计算速度的计算方案,能够使得具有相同算子的节点在计算的过程中避免额外的开销完成并行计算。
本发明引入了一种自定义的消息传输机制,系统使用该机制会得到一种消息传输策略,此种机制可以通过消息传递策略,在不影响最终结果的情况下减小了计算的次数;这种策略提供了最佳的并行计算方案,该消息传输机制在不断地更新自身的缓存时,不断地与“选举标记”进行比较,如果可以替代该标记,则“选举标记”会更新,不符合“选举标记”更新条件的数据将会被丢弃;对于符合一定规则分布的数据,该消息传输策略有效地过滤对最终结果没有影响的中间数据;在最好的情况之下,大量对最终结果没有影响的数据不会被计算,节省了大量的计算资源,有效地提高了计算的效率;并且该机制运行占用资源较小,为Gaia系统中的消息传输提供了高效的解决方案,能够有效地提高并行计算的效率。
附图说明
图1是本发明资源初始化工具示意图;
图2是本发明Gaia系统的分布式并行计算流程示意图;
图3是本发明实施方式中Gaia系统的分布式环境下获取“选举标记”的流程示意图;
图4是本发明Gaia系统的分布式环境下“选举标记”更新的流程示意图。
具体实施方式
下面结合附图1-4对Gaia系统中基于分布式环境下的消息传输方法做进一步说明。
实施例1
一种Gaia中基于分布式环境的消息传输方法,该方法主要思路是利用计算得到的中间结果决定分布式环境下的消息传输策略。
消息策略传输的实现主要是在上游和下游算子之间实现,比如:flatMap和reduceGroup算子,mappartiton和reduceGroup算子等等。主要包括:(1)资源初始化工具(setup),确立上游算子中的数据资源初始化,确保获得的资源仅被初始化一次。(2)选举标记(curentFilter),上游算子如flatMap、mappartition等算子计算的中间结果进行比对得到该标记。(3)同种算子通讯机制,在同一次任务之中同一种算子将处理的中间结果发送给同一节点A,各个节点根据从节点A中获取的信息来决定是否将数据传递给下游算子节点。(4)传递中间结果,中间结果是通过各个节点的数据和选举标记比对思考是否传输的下一个算子节点。(5)最终结果,最终结果的输出是通过得到的选举标记在分布式的环境下对各个节点的消息传输进行过滤后减少了运算的次数,在保证结果准确的情况下提高了计算效率。(6)新型接口,通过该接口用户自定义对资源进行初始化,不会对资源进行浪费,该接口一般提供在mappartition和flatMap算子中。
本发明实施例以在mappartition算子中的接口进行描述,采用Gaia系统在分布式环境下部署对于消息不同的接口进行消息传输的过程,包括步骤如下:
步骤1:用户提交作业后,计算引擎会根据用户定义的数据位置将数据读取到分布式环境之中,并且将数据传递到各个节点之上。
步骤2:数据进入计算用的算子,如:flatMap之中,则多节点的flatMap会申请自身的计算资源,并且将数据读取到相应的算子之中。
步骤2-1:Gaia会对定义的资源进行判断是否是第一次初始化,如果不是则直接进行下一步,如果是则会初始化资源。
步骤2-2:初始化资源之后,系统建立了用于同一节点之间相互传输的消息的机制。
步骤2-3:各个节点进行计算之时得到的中间结果,并且在中间结果之中进行选举,并将所获得的选举结果作为选举标记传输到一个节点之上。
步骤2-4:在上述2-3步骤中接收选举标记的这一节点开辟一块缓存,用于存储这一选举标记。
步骤2-5:在分布式环境的所有节点之中通过选举机制得到的选举标记会通过消息传输机制传输到同一个节点A,该节点会收集选举标记。
步骤2-6:各个节点“获取”A中的选举标记,并且与其进行比较,判断是否进行消息传输,以便更新中间结果以及选举标记。
步骤2-7:各个节点获得数据之后与选举标记比较,以决定该数据是否可能成为最终数据,如果能够成为最终数据则进行消息传输,如果过不能则不进行消息传输。
步骤2-8:随着计算的不断进行,通过计算的中间结果之中不断地发生选举,根据结果更新“选举标记”。
步骤2-9:通过算子完成消息传输之后,汇聚计算结果。
实施例2
分布式环境下进行并行计算是大规模数据进行计算的一种重要的途径。在单机难以处理的大规模数据量条件下使用,对于新型的大数据计算平台更为重要,Gaia的一个重要的特性就是支持高并发,但是并行计算时,原有的计算的冗余过多,故每次进行并行计算的时候需要计算大量的对最终结果没有影响的数据,占据了计算资源。
Caia作为批流融合的计算系统,它的批处理作业首先生成了计划(Plan)并由优化器对其进行优化并生成优化后的计划。该计算将算子按照设置的并行度分布到集群种不同的节点中进行计算,相同的算子在分布式环境下进行计算,计算之后将中间结果进行汇总,但是大量的数据在计算的过程中实际并不影响最终结果,即每个算子进行的任务有很多是重复甚至是不必要的,影响了计算效率。
本发明采用的消息传输机制在计算的任务之中会使得各个节点通过该机制进行消息通信,通过消息通信每个节点会知道哪些数据不需要被计算,通过减少每个节点计算任务,并且不会对最终结果产生影响。在其中的选举机制,当出现可以替换选举标记的数据时,选举标记进行更新,并且各个节点获取选举标记,最终减少计算任务工作量。如图3所示选举标记更新过程,执行到需要更新选举标记的时候,更新选举标记的执行过程。
Gaia系统处理相应的并行任务时,初始数据集d(k)被划分为几组,每组数据被划分给不同的节点计算,多个节点能够并行处理,其中的分布式迭代数据流如图2所示。本发明提供消息传输机制在在并行计算过程中,数据集d(k)被Gaia系统计算产生中间结果,并将其中的一个中间结果设置为“选举标记”,其余数据在计算之前和选举标记进行比对,如果不能够对最终结果产生升影响则不对此数据进行计算,如果对此最终见过产生影响则计算并进行消息传输产生最后的数据之中,并且在计算的过程中,对选举标记不断进行更新,以此能够对消息传输是否优化。
本发明以分布式环境下求取最大的k个数算法(TopK算法)为实例,假设每个节点的数据如表一所示,求取其中最大的2个数的值,如果没有选举机制,中间结果为{20,22,11,12,14,18,17,21,34,36},但是拥有选举机制的消息传输策略则会出现一个被选举的标记为20,则中间结果就会是{20,22,21,34,36},通过消息传输策略,极大的减小了数据的运算量。
表一数据集
节点A | 节点B | 节点C | 节点D | 节点E |
1 | 4 | 7 | 10 | 30 |
2 | 5 | 8 | 13 | 31 |
3 | 6 | 9 | 15 | 33 |
20 | 11 | 14 | 17 | 34 |
22 | 12 | 18 | 21 | 36 |
基于“选举人”消息传输策略的并行计算,包括以下步骤:
步骤1:算子分布到各个节点开始进行并行计算,对分布在每个节点的数据进行计算。
步骤2:进入到flatMap算子之中。
步骤2-1:各个节点开始计算的时候开始进行判断,是否未经过初始化,如果否则对资源进行初始化,否则直接进行下一步,并且设置topk中的k值。
步骤2-2:建立消息的传输机制,A与B,C,D,E的消息传输机制。
步骤2-3:各个进行运算,选出最大的两个数字,并且获得选举标记20,传送到一个节点A之上。
步骤2-4:在节点A上开辟缓存,用于选举标记20存储。
步骤2-5:将选举标记传输到节点A之中进行存储。
步骤2-5:之后各个节点将数据开始与选举标记20进行比对,如果比20小则不会进行计算,若果比20大则进行计算。
步骤2-6:在其余节点对其进行比对的过程中,则将会对其进行计数i,计数的方式是产生比选举标记大的数字则i加1.
步骤2-7:当不断地与选举标记比较的过程中,随着数字i不断地增加,当数字i比k大的时候,则将刚刚进行比对的数字设置为新的选举标记,如果最后没有i比k大则进行下一步。
步骤2-8:通过算子完成消息传输之后,汇聚计算结果{34,36}。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (1)
1.一种Gaia系统中基于分布式环境下的消息传输方法,其特征在于,步骤如下:
S1、用户提交作业后,计算引擎根据用户定义的数据位置将数据读取到分布式环境之中,并且将数据传递到各个节点之上;
S2、多节点的函数申请自身的计算资源,并且将数据读取到相应的算子之中;
S2.1、Gaia判断定义的资源是否为第一次初始化,如果是则进入步骤S2.2,如果不是则直接进入步骤S2.3;
S2.2、初始化资源之后,系统建立用于同一节点之间相互传输消息的机制;
S2.3、各个节点进行计算之时得到中间结果,并在中间结果之中进行选举,并将所获得的选举结果作为选举标记传输到一个节点之上;
S2.4、在步骤S2.2和步骤S2.3中接收选举标记的这一节点开辟一块缓存,用于存储这一选举标记;
S2.5、在分布式环境的所有节点中,经由选举机制得到的选举标记通过消息传输机制传输到同一个节点A,该节点收集选举标记;
S2.6、各个节点“获取”节点A中的选举标记,并且与该选举标记进行比较;
S2.7、各个节点获得数据之后与选举标记比较,通过用户自定义规则判断该数据是否可能成为最终数据,如果能够成为最终数据则进行消息传输,如果过不能则不进行消息传输;
S2.8、随着计算的不断进行,在计算的中间结果之中不断地发生选举,根据结果更新“选举标记”;
S2.9、通过算子完成消息传输之后,汇聚计算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911041563.4A CN110795256B (zh) | 2019-10-30 | 2019-10-30 | 一种Gaia系统中基于分布式环境下的消息传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911041563.4A CN110795256B (zh) | 2019-10-30 | 2019-10-30 | 一种Gaia系统中基于分布式环境下的消息传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795256A CN110795256A (zh) | 2020-02-14 |
CN110795256B true CN110795256B (zh) | 2023-08-01 |
Family
ID=69441931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911041563.4A Active CN110795256B (zh) | 2019-10-30 | 2019-10-30 | 一种Gaia系统中基于分布式环境下的消息传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795256B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014102734A1 (en) * | 2012-12-27 | 2014-07-03 | Ramana Ch Venkata | Systems and methods for collecting, sorting and posting information on a social media profile |
-
2019
- 2019-10-30 CN CN201911041563.4A patent/CN110795256B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014102734A1 (en) * | 2012-12-27 | 2014-07-03 | Ramana Ch Venkata | Systems and methods for collecting, sorting and posting information on a social media profile |
Non-Patent Citations (1)
Title |
---|
分布式超级节点选举算法;杜丽娟;余镇危;;计算机工程与应用(第14期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110795256A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guo et al. | Cloud resource scheduling with deep reinforcement learning and imitation learning | |
CN108268638A (zh) | 一种基于Spark框架的生成对抗网络分布式实现方法 | |
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
CN108595267A (zh) | 一种基于深度强化学习的资源调度方法和系统 | |
CN113792924A (zh) | 一种基于Deep Q-network深度强化学习的单件作业车间调度方法 | |
CN104200045A (zh) | 一种流域大尺度水系分布式水动力模型的并行计算方法 | |
CN113312177B (zh) | 一种基于联邦学习的无线边缘计算系统、优化方法 | |
CN108038215A (zh) | 数据处理方法及系统 | |
CN110705716A (zh) | 一种多模型并行训练方法 | |
CN115543626A (zh) | 采用异构计算资源负载均衡调度的电力缺陷图像仿真方法 | |
CA3137748A1 (en) | Method and apparatus for determining configuration knob of database | |
CN110795256B (zh) | 一种Gaia系统中基于分布式环境下的消息传输方法 | |
CN110891083B (zh) | 一种Gaia中支持多作业并行执行的代理方法 | |
CN111368060B (zh) | 对话机器人的自学习方法、装置、系统、电子设备及介质 | |
CN107871055A (zh) | 一种数据分析方法和装置 | |
CN105868478A (zh) | 基于情境感知的旋转机械设备虚拟装配模型及装配方法 | |
CN110069565A (zh) | 一种分布式数据库数据批量处理的方法及装置 | |
CN112199154A (zh) | 一种基于分布式协同采样中心式优化的强化学习训练系统及方法 | |
CN116244612A (zh) | 一种基于自学习参数度量的http流量聚类方法及装置 | |
CN116089083A (zh) | 一种多目标数据中心资源调度方法 | |
CN109492744A (zh) | 一种离散二进制粒子群算法与模糊控制耦合的混合运行优化控制方法 | |
CN111290855B (zh) | 分布式环境中多gpu服务器的gpu卡管理方法、系统及存储介质 | |
CN108446165A (zh) | 一种云计算中的任务预取方法 | |
CN107967335A (zh) | 一种分布式sql处理方法及系统 | |
CN110868461B (zh) | 一种Gaia集群中面向节点间异构带宽的数据分发方法 |
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 |