CN109388733B - 一种面向图数据处理引擎的优化方法 - Google Patents

一种面向图数据处理引擎的优化方法 Download PDF

Info

Publication number
CN109388733B
CN109388733B CN201810916036.2A CN201810916036A CN109388733B CN 109388733 B CN109388733 B CN 109388733B CN 201810916036 A CN201810916036 A CN 201810916036A CN 109388733 B CN109388733 B CN 109388733B
Authority
CN
China
Prior art keywords
graph
node
nodes
computing
messages
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
Application number
CN201810916036.2A
Other languages
English (en)
Other versions
CN109388733A (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.)
State Grid Zhejiang Xianju Power Supply Co ltd
State Grid Zhejiang Electric Power Co Ltd
Zhejiang Huayun Information Technology Co Ltd
Original Assignee
State Grid Zhejiang Xianju Power Supply Co ltd
State Grid Zhejiang Electric Power Co Ltd
Zhejiang Huayun Information 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 State Grid Zhejiang Xianju Power Supply Co ltd, State Grid Zhejiang Electric Power Co Ltd, Zhejiang Huayun Information Technology Co Ltd filed Critical State Grid Zhejiang Xianju Power Supply Co ltd
Priority to CN201810916036.2A priority Critical patent/CN109388733B/zh
Publication of CN109388733A publication Critical patent/CN109388733A/zh
Application granted granted Critical
Publication of CN109388733B publication Critical patent/CN109388733B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Abstract

本发明提出一种新的图数据处理引擎优化方法,其特征在于,采用本地迭代,全局通信的处理方式,所述处理方式首先在同一计算节点上开展计算,直到该计算节点上的所有图节点的数据都完成更新则停止局部迭代;在同一计算节点上开展计算的同时,边缘图节点缓存并合并消息,待局部迭代停止后批量传输计算节点间发送的消息,所述边缘图节点为跨两个或多个计算节点的图节点。

Description

一种面向图数据处理引擎的优化方法
技术领域
本发明涉及一种面向图数据处理引擎的优化方法,主要涉及到面向分布式图数据处理引擎的优化与性能提升、降低处理时间、减少通信开销的方法。
背景技术
图(Graph)是公认的世界上最复杂的数据结构。在数学和计算科学领域,图论是专门研究图的一门科学,其也可以认为是研究事物及事物间关系的一门科学。近年来,图算法及图计算引擎的研究取得了较大的进步,并在应用领域取得了较好的进展。以电网为例,电网可以认为是最为复杂的人造网络之一,学术界将电网看做一种特定类型的图,并以其为研究对象,探索了电网的图属性和各种性质,并研发了面向电网的图计算算法和引擎,解决实际应用中存在的各种问题。
然而,随着图规模的增大,图算法运行时间也不断增加,且由于图算法的复杂度通常较高,导致难以在单机上进行计算。例如,庞大的图数据结构超出了内存范围,虽然可通过外存进行中转和缓存,但也使得计算时间变得不可接受。在这一背景下,分布式图计算引擎应用而生,通过多台计算节点并行完成同一计算任务,从而大大节省了任务执行时间。
虽然分布式图计算引擎使得原本在单机上无法完成的图计算任务在分布式环境中得以运行,但仍然面临着分布式节点间通信开销过大以及多节点计算并行度较低的问题。例如,知名图计算引擎Graphlab在运行Pagerank算法时的并行加速比仅为0.45。这意味着该算法在Graphlab上并未能充分利用多节点的并行处理能力。其本质原因在于图计算任务难以在多计算节点实现横向扩展,以及图节点间同步等待以及计算节点间的通信开销过大问题。
发明内容
针对以上问题,本发明提出了一种面向图数据处理引擎的优化方法,该方法适用于点中心模式的图数据处理引擎。本发明中,单个计算节点中的多个图节点通过多轮计算和通信后达到不动点,之后多计算节点间执行批量信息交换,全局更新数据,然后再重复上述过程,直到获得最终计算结果。与现有技术相比,本发明能有效提升图数据处理引擎的并行度,减少通信开销,因此大幅提高现有图计算引擎的性能和计算效率。
附图说明
图1为本发明进行图数据处理的整体流程图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提出了一种新的图数据处理引擎优化方法,采用“本地迭代、全局通信”处理方法,当前基于点中心方式的图计算引擎,其计算任务在图节点上执行,图节点间通过消息传递更新数据,并采用步长迭代(Step Iteration)方式获得最终计算结果。执行每一步,图节点间都要传递消息,并根据消息更新图节点上的数据。对于跨计算节点间的消息传递,涉及到大量的网络传输开销,显著拖慢了计算效率。本发明提出的“本地迭代、全局通信”机制,首先在同一计算节点上开展计算,直到该计算节点上的所有图节点的数据都完成更新则停止局部迭代,同时边缘图节点(跨两个或多个计算节点的图节点)缓存并合并消息,待局部迭代停止后批量传输计算节点间发送的消息,因此显著降低了网络数据传输量,提高了整体效率。
本发明在单计算节点内进行分区独立迭代计算的方法,如图1所示,具体方法如下:
步骤1,迭代计算开始:计算节点内的图节点开始执行计算任务,计算任务完成后会生成中间计算结果,图节点会根据预设的消息触发条件将中间计算结果发送给相邻图节点。
步骤2,迭代计算进行:图节点收到来自相邻图节点的消息后,会根据自身的计算任务和来自相邻图节点的消息输入,进行新一轮迭代计算。
步骤3,迭代计算停止:在单个计算节点内部,每个图节点按此计算模式进行多轮迭代,当计算节点上的所有图节点的数据不再更新时,则表示分区独立迭代结束。
为了提升数据传输效率,减少计算节点间的通信开销,本发明提出的面向图数据处理引擎的批量消息通信机制,具体步骤如下:
步骤1,边缘节点消息缓存:在单个计算节点迭代的过程中,计算节点中运行的图节点将聚集并缓存来自其它图节点的消息。按照“聚集-更新-扩展”模式,图计算引擎中的每个图节点再汇聚来自其它节点的消息后,将根据消息更新自身状态,并将新产生的消息扩散给其它节点。通过在边缘图节点缓存待传递消息,直到整个计算节点完成迭代后,再批量传递消息。
步骤2,边缘节点消息同步:步骤1会导致消息被延迟发送,这也导致计算节点间的消息传递不同步。为了保持同步,本发明设置了“计步器”来标志消息传递的进程。在进行全局消息同步时,会根据消息的“计步器”来进行消息同步。
步骤3,消息合并及图节点状态更新:当位于不同计算节点的边缘图节点接收到批量发来的消息后,会根据“计步器”来进行消息合并,即位于相同步内的消息合并。完成合并后,再按“计步器”顺序更新图节点状态。
计步器记录了迭代计算和消息同步的进程。在单个计算节点内,每进行一轮“收集消息”、“图节点执行计算任务并更新数值”、“消息同步扩散”,则计步器增加1。当所有计算节点执行完本地计算任务,其上的图计算节点的数据不再更新,此时将进行多计算节点间的消息同步。在消息同步过程中,会根据计步器确定,哪些消息会被合并,即只有处于同一“step”的消息才会被合并。
本发明提出的一种图数据处理引擎优化方法,该方法可降低网络传输开销、提升图处理引擎的整体效率。本发明的图数据处理引擎的优化框架,该框架包含一种“本地迭代、全局通信”机制,确保计算节点首先完成内部迭代计算,然后再进行节点间的批量通讯。与现有技术的单步迭代方式相比,有效降低了网络带宽消耗,同时也显著降低了消息同步的次数,因此整体提高了计算效率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (2)

1.一种图数据处理引擎优化方法,其特征在于,采用本地迭代,全局通信的处理方式,所述处理方式首先在同一计算节点上开展计算,直到该计算节点上的所有图节点的数据都完成更新则停止局部迭代;在同一计算节点上开展计算的同时,边缘图节点缓存并合并消息,待局部迭代停止后批量传输计算节点间发送的消息,所述边缘图节点为跨两个或多个计算节点的图节点;在所述本地迭代的具体步骤为:步骤1,计算节点内的图节点开始执行计算任务,计算任务完成后会生成中间计算结果,图节点会根据预设的消息触发条件将中间计算结果发送给相邻图节点;步骤2 ,图节点收到来自相邻图节点的消息后,根据自身的计算任务和来自相邻图节点的消息输入,进行新一轮迭代计算;步骤3 ,在单个计算节点内部,每个图节点按此计算模式进行多轮迭代,当计算节点上的所有图节点的数据不再更新时,则表示分区独立迭代结束。
2.如权利要求1所述的方法,其特征在于,所述全局通信的具体步骤如下:步骤1 ,在单个计算节点迭代的过程中,计算节点中运行的图节点将聚集并缓存来自其它图节点的消息,通过在边缘图节点缓存待传递消息,直到整个计算节点完成迭代后,再批量传递消息;步骤2 ,通过计步器来标志消息传递的进程,在进行全局消息同步时,根据消息的计步器来进行消息同步;步骤3 ,当位于不同计算节点的边缘图节点接收到批量发来的消息后,根据计步器来进行消息合并,即位于相同步内的消息合并,完成合并后,再按计步器顺序更新图节点状态。
CN201810916036.2A 2018-08-13 2018-08-13 一种面向图数据处理引擎的优化方法 Active CN109388733B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810916036.2A CN109388733B (zh) 2018-08-13 2018-08-13 一种面向图数据处理引擎的优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810916036.2A CN109388733B (zh) 2018-08-13 2018-08-13 一种面向图数据处理引擎的优化方法

Publications (2)

Publication Number Publication Date
CN109388733A CN109388733A (zh) 2019-02-26
CN109388733B true CN109388733B (zh) 2022-01-07

Family

ID=65418414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810916036.2A Active CN109388733B (zh) 2018-08-13 2018-08-13 一种面向图数据处理引擎的优化方法

Country Status (1)

Country Link
CN (1) CN109388733B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113392280B (zh) * 2021-06-10 2023-08-04 东北大学 一种面向跨区域的多主模型分布式图计算方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914556A (zh) * 2014-04-15 2014-07-09 西北工业大学 大规模图数据处理方法
CN103970604A (zh) * 2013-01-31 2014-08-06 国际商业机器公司 基于MapReduce架构实现图处理的方法和装置
CN104780213A (zh) * 2015-04-17 2015-07-15 华中科技大学 一种主从分布式图处理系统负载动态优化方法
CN105590321A (zh) * 2015-12-24 2016-05-18 华中科技大学 一种基于块的子图构建及分布式图处理方法
CN106776858A (zh) * 2016-11-28 2017-05-31 华中科技大学 一种基于scc‑dag的图计算迭代处理方法
CN106815080A (zh) * 2017-01-09 2017-06-09 北京航空航天大学 分布式图数据处理方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7388886B2 (en) * 2003-04-16 2008-06-17 Motorola, Inc. Method and device for distributing communication signals
US10209913B2 (en) * 2017-01-31 2019-02-19 International Business Machines Corporation System, method and computer program product for accelerating iterative graph algorithms by memory layout optimization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970604A (zh) * 2013-01-31 2014-08-06 国际商业机器公司 基于MapReduce架构实现图处理的方法和装置
CN103914556A (zh) * 2014-04-15 2014-07-09 西北工业大学 大规模图数据处理方法
CN104780213A (zh) * 2015-04-17 2015-07-15 华中科技大学 一种主从分布式图处理系统负载动态优化方法
CN105590321A (zh) * 2015-12-24 2016-05-18 华中科技大学 一种基于块的子图构建及分布式图处理方法
CN106776858A (zh) * 2016-11-28 2017-05-31 华中科技大学 一种基于scc‑dag的图计算迭代处理方法
CN106815080A (zh) * 2017-01-09 2017-06-09 北京航空航天大学 分布式图数据处理方法和装置

Also Published As

Publication number Publication date
CN109388733A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
CN109902818B (zh) 一种面向深度学习训练任务的分布式加速方法及系统
CN107343302B (zh) 一种基于多核处理器的传感网路由结构优化方法
CN111027708A (zh) 一种面向分布式机器学习的参数通信优化方法
CN106095552B (zh) 一种基于i/o去重的多任务图处理方法及系统
CN102855153B (zh) 面向片式多核处理器的流编译优化方法
CN112862088A (zh) 一种基于流水线环形参数通信的分布式深度学习方法
CN110929878A (zh) 一种分布式随机梯度下降方法
Zhang et al. Online scheduling optimization for DAG-based requests through reinforcement learning in collaboration edge networks
Li et al. Scalable Graph500 design with MPI-3 RMA
CN115277454B (zh) 用于分布式深度学习训练的聚合通信方法
CN109388733B (zh) 一种面向图数据处理引擎的优化方法
CN102427420B (zh) 基于图模式匹配的虚拟网络映射方法及装置
CN115186806A (zh) 一种支持跨节点自动微分的分布式图神经网络训练方法
CN108173760B (zh) 一种基于改进模拟退火算法的片上网络映射方法
CN109857562A (zh) 一种众核处理器上访存距离优化的方法
Itsubo et al. Accelerating deep learning using multiple GPUs and FPGA-based 10GbE switch
CN109840306A (zh) 一种基于递归的并行快速傅里叶变换通信优化方法和系统
CN116303219A (zh) 一种网格文件的获取方法、装置及电子设备
CN115345285B (zh) 基于gpu的时序图神经网络训练方法、系统及电子设备
CN110135067B (zh) 一种双时间步方法下的直升机流场重叠混合网格并行方法
CN115129471A (zh) 面向大规模gpu集群的分布式局部随机梯度下降方法
Zhang et al. FRANK: A fast node ranking approach in large-scale networks
CN110704693A (zh) 分布式图计算系统和分布式图计算方法
CN117573375B (zh) 一种面向自适应解耦方程的动态负载平衡并行计算方法
Yang et al. Parameter-optimized simulated annealing for application mapping on networks-on-chip

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