CN109388733A - 一种面向图数据处理引擎的优化方法 - Google Patents
一种面向图数据处理引擎的优化方法 Download PDFInfo
- Publication number
- CN109388733A CN109388733A CN201810916036.2A CN201810916036A CN109388733A CN 109388733 A CN109388733 A CN 109388733A CN 201810916036 A CN201810916036 A CN 201810916036A CN 109388733 A CN109388733 A CN 109388733A
- Authority
- CN
- China
- Prior art keywords
- node
- graph
- message
- calculate
- calculate node
- 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
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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种新的图数据处理引擎优化方法,其特征在于,采用本地迭代,全局通信的处理方式,所述处理方式首先在同一计算节点上开展计算,直到该计算节点上的所有图节点的数据都完成更新则停止局部迭代;在同一计算节点上开展计算的同时,边缘图节点缓存并合并消息,待局部迭代停止后批量传输计算节点间发送的消息,所述边缘图节点为跨两个或多个计算节点的图节点。
Description
技术领域
本发明涉及一种面向图数据处理引擎的优化方法,主要涉及到面向分布式图数据处理引擎的优化与性能提升、降低处理时间、减少通信开销的方法。
背景技术
图(Graph)是公认的世界上最复杂的数据结构。在数学和计算科学领域,图论是专门研究图的一门科学,其也可以认为是研究事物及事物间关系的一门科学。近年来,图算法及图计算引擎的研究取得了较大的进步,并在应用领域取得了较好的进展。以电网为例,电网可以认为是最为复杂的人造网络之一,学术界将电网看做一种特定类型的图,并以其为研究对象,探索了电网的图属性和各种性质,并研发了面向电网的图计算算法和引擎,解决实际应用中存在的各种问题。
然而,随着图规模的增大,图算法运行时间也不断增加,且由于图算法的复杂度通常较高,导致难以在单机上进行计算。例如,庞大的图数据结构超出了内存范围,虽然可通过外存进行中转和缓存,但也使得计算时间变得不可接受。在这一背景下,分布式图计算引擎应用而生,通过多台计算节点并行完成同一计算任务,从而大大节省了任务执行时间。
虽然分布式图计算引擎使得原本在单机上无法完成的图计算任务在分布式环境中得以运行,但仍然面临着分布式节点间通信开销过大以及多节点计算并行度较低的问题。例如,知名图计算引擎Graphlab在运行Pagerank算法时的并行加速比仅为0.45。这意味着该算法在Graphlab上并未能充分利用多节点的并行处理能力。其本质原因在于图计算任务难以在多计算节点实现横向扩展,以及图节点间同步等待以及计算节点间的通信开销过大问题。
发明内容
针对以上问题,本发明提出了一种面向图数据处理引擎的优化方法,该方法适用于点中心模式的图数据处理引擎。本发明中,单个计算节点中的多个图节点通过多轮计算和通信后达到不动点,之后多计算节点间执行批量信息交换,全局更新数据,然后再重复上述过程,直到获得最终计算结果。与现有技术相比,本发明能有效提升图数据处理引擎的并行度,减少通信开销,因此大幅提高现有图计算引擎的性能和计算效率。
附图说明
图1为本发明进行图数据处理的整体流程图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提出了一种新的图数据处理引擎优化方法,采用“本地迭代、全局通信”处理方法,当前基于点中心方式的图计算引擎,其计算任务在图节点上执行,图节点间通过消息传递更新数据,并采用步长迭代(Step Iteration)方式获得最终计算结果。执行每一步,图节点间都要传递消息,并根据消息更新图节点上的数据。对于跨计算节点间的消息传递,涉及到大量的网络传输开销,显著拖慢了计算效率。本发明提出的“本地迭代、全局通信”机制,首先在同一计算节点上开展计算,直到该计算节点上的所有图节点的数据都完成更新则停止局部迭代,同时边缘图节点(跨两个或多个计算节点的图节点)缓存并合并消息,待局部迭代停止后批量传输计算节点间发送的消息,因此显著降低了网络数据传输量,提高了整体效率。
本发明在单计算节点内进行分区独立迭代计算的方法,如图1所示,具体方法如下:
步骤1,迭代计算开始:计算节点内的图节点开始执行计算任务,计算任务完成后会生成中间计算结果,图节点会根据预设的消息触发条件将中间计算结果发送给相邻图节点。
步骤2,迭代计算进行:图节点收到来自相邻图节点的消息后,会根据自身的计算任务和来自相邻图节点的消息输入,进行新一轮迭代计算。
步骤3,迭代计算停止:在单个计算节点内部,每个图节点按此计算模式进行多轮迭代,当计算节点上的所有图节点的数据不再更新时,则表示分区独立迭代结束。
为了提升数据传输效率,减少计算节点间的通信开销,本发明提出的面向图数据处理引擎的批量消息通信机制,具体步骤如下:
步骤1,边缘节点消息缓存:在单个计算节点迭代的过程中,计算节点中运行的图节点将聚集并缓存来自其它图节点的消息。按照“聚集-更新-扩展”模式,图计算引擎中的每个图节点再汇聚来自其它节点的消息后,将根据消息更新自身状态,并将新产生的消息扩散给其它节点。通过在边缘图节点缓存待传递消息,直到整个计算节点完成迭代后,再批量传递消息。
步骤2,边缘节点消息同步:步骤1会导致消息被延迟发送,这也导致计算节点间的消息传递不同步。为了保持同步,本发明设置了“计步器”来标志消息传递的进程。在进行全局消息同步时,会根据消息的“计步器”来进行消息同步。
步骤3,消息合并及图节点状态更新:当位于不同计算节点的边缘图节点接收到批量发来的消息后,会根据“计步器”来进行消息合并,即位于相同步内的消息合并。完成合并后,再按“计步器”顺序更新图节点状态。
计步器记录了迭代计算和消息同步的进程。在单个计算节点内,每进行一轮“收集消息”、“图节点执行计算任务并更新数值”、“消息同步扩散”,则计步器增加1。当所有计算节点执行完本地计算任务,其上的图计算节点的数据不再更新,此时将进行多计算节点间的消息同步。在消息同步过程中,会根据计步器确定,哪些消息会被合并,即只有处于同一“step”的消息才会被合并。
本发明提出的一种图数据处理引擎优化方法,该方法可降低网络传输开销、提升图处理引擎的整体效率。本发明的图数据处理引擎的优化框架,该框架包含一种“本地迭代、全局通信”机制,确保计算节点首先完成内部迭代计算,然后再进行节点间的批量通讯。与现有技术的单步迭代方式相比,有效降低了网络带宽消耗,同时也显著降低了消息同步的次数,因此整体提高了计算效率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (3)
1.一种新的图数据处理引擎优化方法,其特征在于,采用本地迭代,全局通信的处理方式,所述处理方式首先在同一计算节点上开展计算,直到该计算节点上的所有图节点的数据都完成更新则停止局部迭代;在同一计算节点上开展计算的同时,边缘图节点缓存并合并消息,待局部迭代停止后批量传输计算节点间发送的消息,所述边缘图节点为跨两个或多个计算节点的图节点。
2.如权利要求1所述的方法,其特征在于,在所述本地迭代的具体步骤为:步骤1,计算节点内的图节点开始执行计算任务,计算任务完成后会生成中间计算结果,图节点会根据预设的消息触发条件将中间计算结果发送给相邻图节点;步骤2,图节点收到来自相邻图节点的消息后,根据自身的计算任务和来自相邻图节点的消息输入,进行新一轮迭代计算;步骤3,在单个计算节点内部,每个图节点按此计算模式进行多轮迭代,当计算节点上的所有图节点的数据不再更新时,则表示分区独立迭代结束。
3.如权利要求1所述的方法,其特征在于,所述全局通信的具体步骤如下:步骤1,在单个计算节点迭代的过程中,计算节点中运行的图节点将聚集并缓存来自其它图节点的消息,通过在边缘图节点缓存待传递消息,直到整个计算节点完成迭代后,再批量传递消息;步骤2,通过计步器来标志消息传递的进程,在进行全局消息同步时,根据消息的计步器来进行消息同步;步骤3,当位于不同计算节点的边缘图节点接收到批量发来的消息后,根据计步器来进行消息合并,即位于相同步内的消息合并,完成合并后,再按计步器顺序更新图节点状态。
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 true CN109388733A (zh) | 2019-02-26 |
CN109388733B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392280A (zh) * | 2021-06-10 | 2021-09-14 | 东北大学 | 一种面向跨区域的多主模型分布式图计算方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1774939A (zh) * | 2003-04-16 | 2006-05-17 | 摩托罗拉公司 | 用于分布通信信号的方法和设备 |
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 | 北京航空航天大学 | 分布式图数据处理方法和装置 |
US20180217775A1 (en) * | 2017-01-31 | 2018-08-02 | International Business Machines Corporation | System, method and computer program product for accelerating iterative graph algorithms by memory layout optimization |
-
2018
- 2018-08-13 CN CN201810916036.2A patent/CN109388733B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1774939A (zh) * | 2003-04-16 | 2006-05-17 | 摩托罗拉公司 | 用于分布通信信号的方法和设备 |
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 | 北京航空航天大学 | 分布式图数据处理方法和装置 |
US20180217775A1 (en) * | 2017-01-31 | 2018-08-02 | International Business Machines Corporation | System, method and computer program product for accelerating iterative graph algorithms by memory layout optimization |
Non-Patent Citations (1)
Title |
---|
冷芳玲等: "BSP模型下基于边聚簇的大图划分与迭代处理", 《计算机研究与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392280A (zh) * | 2021-06-10 | 2021-09-14 | 东北大学 | 一种面向跨区域的多主模型分布式图计算方法 |
CN113392280B (zh) * | 2021-06-10 | 2023-08-04 | 东北大学 | 一种面向跨区域的多主模型分布式图计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109388733B (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902183B (zh) | 一种基于多样图注意力机制的知识图谱嵌入方法 | |
CN109902818A (zh) | 一种面向深度学习训练任务的分布式加速方法及*** | |
CN113128702A (zh) | 一种基于强化学习的神经网络自适应分布式并行训练方法 | |
CN110830292B (zh) | 面向医疗大数据的云雾混合路径确定方法 | |
CN113159287B (zh) | 一种基于梯度稀疏的分布式深度学习方法 | |
CN106095552A (zh) | 一种基于i/o去重的多任务图处理方法及*** | |
Chen et al. | Tetrahedral mesh improvement by shell transformation | |
Kim et al. | Minimizing GPU kernel launch overhead in deep learning inference on mobile GPUs | |
Wang et al. | Traveling wave of a reaction–diffusion vector-borne disease model with nonlocal effects and distributed delay | |
Chen et al. | Improved boundary constrained tetrahedral mesh generation by shell transformation | |
CN109388733A (zh) | 一种面向图数据处理引擎的优化方法 | |
Xu et al. | Living with artificial intelligence: A paradigm shift toward future network traffic control | |
CN114817648A (zh) | 一种高能效协同图计算方法及装置 | |
US20230394320A1 (en) | Federated learning | |
CN111275173A (zh) | 一种神经网络训练方法、装置及其设备 | |
CN115345285B (zh) | 基于gpu的时序图神经网络训练方法、***及电子设备 | |
CN115587222B (zh) | 分布式图计算方法、***及设备 | |
CN116680301A (zh) | 一种面向人工智能大模型高效训练的并行策略搜索方法 | |
Zhang et al. | Joint optimization of multi-user computing offloading and service caching in mobile edge computing | |
CN113392280B (zh) | 一种面向跨区域的多主模型分布式图计算方法 | |
CN114980160A (zh) | 一种无人机辅助的太赫兹通信网络联合优化方法和装置 | |
CN105843706A (zh) | 一种基于mpi高性能计算分层回卷恢复协议的动态分组*** | |
Zhang | Efficient incremental pagerank of evolving graphs on GPU | |
WO2019127492A1 (zh) | 节点流量占比预测方法及装置 | |
CN116016212B (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 |