CN106033476B - 一种云计算环境中分布式计算模式下的增量式图计算方法 - Google Patents
一种云计算环境中分布式计算模式下的增量式图计算方法 Download PDFInfo
- Publication number
- CN106033476B CN106033476B CN201610338716.1A CN201610338716A CN106033476B CN 106033476 B CN106033476 B CN 106033476B CN 201610338716 A CN201610338716 A CN 201610338716A CN 106033476 B CN106033476 B CN 106033476B
- Authority
- CN
- China
- Prior art keywords
- data
- history
- vertex
- constant part
- merger
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种云计算环境中分布式计算模式下的增量式图计算方法,包括:201、归并服务器生成增量图;202、归并服务器将增量图与历史图进行对比,找出历史图中链接结构的不变部分的顶点集合并将其分发至各子节点数据交换器;203、作业开始前,各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换;204、各计算任务过滤不变部分的顶点并加载相应的历史计算数据;205、各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完成时保存本次作业的计算数据。本发明对于图文件中链接结构的不变部分顶点对应的计算消息进行复用,从而减少原系统中重复计算对资源的浪费并提高性能。
Description
技术领域
本发明属于计算机技术领域,具体涉及集群环境下一种云计算环境中分布式计算模式下的增量式图计算方法。
背景技术
近年来,图计算被越来越多的应用于社会关系计算、网络搜索、自然语言处理、机器学习以及推荐系统等领域。随着图数据集的规模和复杂性不断增长,如何设计高效的面向分布式环境的图计算模型越来越受到人们的关注。针对该问题,Google提出了Pregel模型,其借鉴了BSP(Bulk Synchronous Parallel,BSP)模型中的大同步计算和通信思想,提出“以顶点为中心”,通过将顶点计算表达为一系列的超步(super-step),在每次超步计算中,各顶点收到前次超步发送的消息,使用基于用户自定义的顶点更新函数更新顶点值,并向其邻居顶点发送消息。超步间通过全局路障以进行任务同步。Hama是Apache组织开发的一个基于Pregel模型的开源分布式并行图计算平台,其利用Hadoop RPC进行节点间通信,借助于ZooKeeper进行同步,通过对消息进行收集和合并发送来降低网络开销和竞争。
然而,在目前图计算中,负载的一个重要特征表现为数据随时间增长而缓慢更新,如搜索引擎会周期性的抓取网页并计算Pagerank等指标或进行日常链接分析以监控用户行为。而现有图计算框架通常基于批处理模型,没有考虑数据增量变化的特点,处理效率有待提高。
发明内容
本发明的目的在于提供一种云计算环境中分布式计算模式下的增量式图计算方法,使得在图数据增量变化的场景下,作业计算时能够复用不变部分顶点的历史计算数据,从而提高作业的执行时间和集群的资源利用率。
为达到上述目的,本发明采用的技术方案如下:
一种云计算环境中分布式计算模式下的增量式图计算方法,包括以下步骤:
201、归并服务器生成增量图;
202、归并服务器将增量图与历史图进行对比,找出历史图中链接结构的不变部分的顶点集合并将其分发至各子节点数据交换器;
203、作业开始前,各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换;
204、各计算任务过滤不变部分的顶点并加载相应的历史计算数据;
205、各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完成时保存本次作业的计算数据。
进一步的,步骤201中用户由分布式客户端上传新增图文件后,各数据子节点将内存中的图数据发送至归并服务器,归并服务器对乱序到达的各部分图数据进行排序并合并成增量图。
进一步的,步骤202中归并服务器使用宽度优先搜索将增量图同历史图进行链接结构对比,找出历史图中链接结构的不变部分的顶点集合,并将其分发至各计算子节点的数据交换器;对比完成后,将增量图和历史图合并作为历史图进行保存。
进一步的,历史图为最近一次存储的图结构。
进一步的,步骤203中各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换,主要包括以下两步:1)主节点的任务调度器在完成任务分配后,将任务与对应子节点的分配信息分发给各计算子节点的数据交换器;2)数据交换器根据步骤202中收到的不变部分的顶点集合和任务分配信息,将不变部分的顶点的历史计算数据封装为可复用消息后进行同步交换。
进一步的,步骤204中各计算任务根据本地数据交换器中获取的不变部分顶点集合,对其输入数据进行过滤,然后加载不变部分顶点的历史计算数据;
步骤205中各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完成时保存本次作业计算数据。
进一步的,复用历史计算数据时,对其值进行函数转换以获取正确结果。
进一步的,步骤201中图文件包括图的顶点集合和边集合;归并服务器包括一组用于监听远程请求的服务线程和一个归并线程;用户上传新增图文件时,分布式客户端首先向归并服务器发送归并请求,归并服务器启动一个归并线程进行等待直至所有分布式文件系统中涉及到该图文件的数据子节点均将其数据送达;归并线程首先将乱序到达的各部分数据进行排序并合并组成新增图,然后执行宽度优先搜索找出历史图受新增图影响的链接部分,包括在历史图中和新增图中存在边关联的顶点集合及其链接后继;归并服务器中的新增图和历史图均采用邻接链表形式保存。
进一步的,数据交换器,包括一组用于监听远程请求的服务线程和一个用于和其他数据交换器进行数据交换的线程;当数据交换器执行交换时,所有的数据交换器需要进行同步以保障交换结果的正确性。
进一步的,步骤204中的历史计算数据,包括各顶点的ID、出度边集合,以及该顶点在每轮超步中所发送的中间消息值和最终的计算结果值。
现对于现有技术,本发明具有以下有益效果:本发明一种云计算环境中分布式计算模式下的增量式图计算方法,在图数据增量变化的场景下,避免了传统图计算方法造成的冗余计算和通信问题。通过复用内存中不变部分顶点的历史计算数据,能够减少冗余的顶点计算及其带来的繁重的消息通信过程;同时减轻了集群节点的计算负载和带宽利用率;此外,传统的图计算系统在在执行固定数量的超步后,会保存部分超步的消息以便于容错。本发明能够减轻消息的传输量,进而减轻检查点进程保存超步消息的开销。
附图说明
图1是本发明的云计算环境中分布式计算模式下集群计算节点和存储节点组成示意图;
图2是云计算环境中分布式计算模式下的增量式图计算方法流程示意图;
图3是新增图与历史图对比过程示意图;
图4是数据交换器交换历史计算数据的示意图;
图5是增量式图计算方法的复用计算流程图;
图6是历史计算数据封装后的可复用消息结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案。下面结合附图对本发明作详细描述。显然,下述的实施例仅是本申请一部分实施例阐述,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
环境条件:
本发明所需满足的设备环境条件见图1,云环境中分布式集群的组成结构主要包括:一个主节点和多个子节点,子节点既可以是物理机,也可以是虚拟机,对主节点透明,节点间通过网络互联。云环境下,考虑到数据本地性的需求,子节点通常既可以作为计算节点,也可以作为分布式文件系统存储的数据节点。主节点与子节点通过远程过程调用(RPC)方式交互。主节点中设置归并服务器,子节点中设置数据交换器。
本发明在软件条件方面,要求各节点采用Linux操作系统,安装有Java开发工具包1.6及以上版本,同时各节点能够通过ssh无密码登录。
请参阅图2所示,本发明一种云计算环境中分布式计算模式下的增量式图计算方法,主要包括以下步骤:
201、归并服务器生成增量图;
202、归并服务器将增量图与历史图进行对比,找出历史图中链接结构的不变部分的顶点集合并将其分发至各子节点数据交换器;
203、作业开始前,各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换;
204、各计算任务过滤不变部分的顶点并加载相应的历史计算数据;
205、各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完成时保存本次作业的计算数据。
下面以一具体实例对本申请所述方法进行说明:
步骤201、202中所述的具体流程如图3所示,
步骤301:用户由分布式客户端上传新增图文件后,各数据子节点将内存中的图数据发送至归并服务器,归并服务器对乱序到达的各部分图数据进行排序并合并成增量图。
步骤302:归并服务器对增量图和历史图(最近一次存储的图结构)进行对比,使用宽度优先搜索找出历史图中链接结构的不变部分顶点集合并将其分发至各子节点数据交换器。对比完成后,将增量图和历史图合并作为历史图进行保存。如果之前没有历史图,则保存该增量图作为历史图。
数据交换器(Data Exchanger),包括一组用于监听远程请求的服务线程(RPCHandler)和一个用于和其他数据交换器进行数据交换的线程。当数据交换器执行交换时,所有的数据交换器需要进行同步(Synchronization)以保障交换结果的正确性。
步骤201中图文件包括图的顶点集合和边集合;归并服务器包括一组用于监听远程请求的服务线程(RPC Handler)和一个归并线程;用户上传新增图文件时,分布式客户端(DFS_Client)首先向归并服务器发送归并请求,归并服务器启动一个归并线程进行等待直至所有分布式文件系统中涉及到该图文件的数据子节点均将其数据送达;归并线程首先将乱序到达的各部分数据进行排序并合并组成新增图,然后执行宽度优先搜索(BreadthFirst Search,BFS)以找出历史图受新增图影响的链接部分,主要包括在历史图中和新增图中存在边关联的顶点集合及其链接后继。归并服务器中的新增图和历史图均采用邻接链表形式保存。
步骤203所述的数据交换器进行历史计算数据交换的示意图如图4所示,对于任意一个顶点,顶点Id取模计算子节点数就可以求出在新的增量作业计算中点所属的任务,同时根据调度结果中的任务和子节点的对应信息,可以获取该任务所属的子节点,进而将所需复用消息发送给对应子节点,使得后续增量计算任务能够顺利读取并复用。为了保证交换结果的正确性,所有子节点数据交换器在进行数据交换时,需要进行同步(Synchronization)以保证交换结果的正确性。在数据发送过程中,为了提高发送效率,采用了多socket并发通信的方式,并对属于同一顶点数据进行了合并以减少数据传输量,对于任务所属子节点即为当前子节点的则无需传输。同时设置了压缩选项,根据数据量的大小决定是否对消息进行压缩以减轻网络负载。
步骤204、205中所述的复用计算过程如图5所示,包括以下步骤:
步骤401:作业启动后,各计算任务根据本地数据交换器中的不变部分顶点集合过滤各自任务输入的图数据,只保留变化顶点,同时加载可复用部分的历史计算数据。
步骤402:计算过程中,各计算任务根据变化部分的顶点需求,加载转换后的可复用消息并执行迭代计算。
步骤403:计算完成时,各计算任务将变化部分的计算结果写入分布式文件系统,同时将本次作业的计算数据存入本地数据交换器,对于不变部分顶点的计算结果,由本地数据交换器根据转换函数进行转换后保存。
函数转换,需要由用户自行根据应用特点进行定义实现。如对于遍历类的图应用,其计算任务可以直接复用原计算的中间消息和数据,而随机行走类型的图应用如Pagerank等则需要对复用消息和结果进行适当比例的缩放。
历史计算数据封装后的可复用消息结构如图6所示,主要包括顶点的ID、顶点值、复用标志位、出度边集合以及各超步所发消息集合。其中,复用标志位用于标明当前顶点复用的类型,0表示只复用顶点值,1表示只复用消息,2表示顶点值和消息均复用。
Claims (7)
1.一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,包括以下步骤:
201、归并服务器生成增量图;
202、归并服务器将增量图与历史图进行对比,找出历史图中链接结构的不变部分的顶点集合并将其分发至各子节点数据交换器;
203、作业开始前,各子节点的数据交换器对不变部分的顶点的历史计算数据进行同步交换;
204、各计算任务过滤不变部分的顶点并加载相应的历史计算数据;
205、各计算任务在每轮超步计算时,复用不变部分的顶点的历史计算数据并在计算完成时保存本次作业的计算数据;
步骤201中用户由分布式客户端上传新增图文件后,各数据子节点将内存中的图数据发送至归并服务器,归并服务器对乱序到达的各部分图数据进行排序并合并成增量图;
步骤201中图文件包括图的顶点集合和边集合;归并服务器包括一组用于监听远程请求的服务线程和一个归并线程;用户上传新增图文件时,分布式客户端首先向归并服务器发送归并请求,归并服务器启动一个归并线程进行等待直至所有分布式文件系统中涉及到该图文件的数据子节点均将其数据送达;归并线程首先将乱序到达的各部分数据进行排序并合并组成新增图,然后执行宽度优先搜索找出历史图受新增图影响的链接部分,包括在历史图中和新增图中存在边关联的顶点集合及其链接后继;归并服务器中的新增图和历史图均采用邻接链表形式保存;
步骤202中归并服务器使用宽度优先搜索将增量图同历史图进行链接结构对比,找出历史图中链接结构的不变部分的顶点集合,并将其分发至各计算子节点的数据交换器;对比完成后,将增量图和历史图合并作为历史图进行保存。
2.根据权利要求1所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,历史图为最近一次存储的图结构。
3.根据权利要求1所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,步骤203中各子节点的数据交换器对不变部分的顶点的历史计算数据进行同步交换,主要包括以下两步:1)主节点的任务调度器在完成任务分配后,将任务与对应子节点的分配信息分发给各计算子节点的数据交换器;2)数据交换器根据步骤202中收到的不变部分的顶点集合和任务分配信息,将不变部分的顶点的历史计算数据封装为可复用消息后进行同步交换。
4.根据权利要求1所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,步骤204中各计算任务根据本地数据交换器中获取的不变部分的顶点集合,对其输入数据进行过滤,然后加载不变部分的顶点的历史计算数据;
步骤205中各计算任务在每轮超步计算时,复用不变部分的顶点的历史计算数据并在计算完成时保存本次作业计算数据。
5.根据权利要求4所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,复用历史计算数据时,对其值进行函数转换以获取正确结果。
6.根据权利要求1所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,数据交换器,包括一组用于监听远程请求的服务线程和一个用于和其他数据交换器进行数据交换的线程;当数据交换器执行交换时,所有的数据交换器需要进行同步以保障交换结果的正确性。
7.根据权利要求1所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,步骤204中的历史计算数据,包括各顶点的ID、出度边集合,以及该顶点在每轮超步中所发送的中间消息值和最终的计算结果值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610338716.1A CN106033476B (zh) | 2016-05-19 | 2016-05-19 | 一种云计算环境中分布式计算模式下的增量式图计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610338716.1A CN106033476B (zh) | 2016-05-19 | 2016-05-19 | 一种云计算环境中分布式计算模式下的增量式图计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106033476A CN106033476A (zh) | 2016-10-19 |
CN106033476B true CN106033476B (zh) | 2019-07-23 |
Family
ID=57149390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610338716.1A Active CN106033476B (zh) | 2016-05-19 | 2016-05-19 | 一种云计算环境中分布式计算模式下的增量式图计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106033476B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956485B2 (en) | 2011-08-31 | 2021-03-23 | Google Llc | Retargeting in a search environment |
US10630751B2 (en) | 2016-12-30 | 2020-04-21 | Google Llc | Sequence dependent data message consolidation in a voice activated computer network environment |
US10431209B2 (en) | 2016-12-30 | 2019-10-01 | Google Llc | Feedback controller for data transmissions |
US10614153B2 (en) | 2013-09-30 | 2020-04-07 | Google Llc | Resource size-based content item selection |
US9703757B2 (en) | 2013-09-30 | 2017-07-11 | Google Inc. | Automatically determining a size for a content item for a web page |
WO2018205246A1 (en) * | 2017-05-12 | 2018-11-15 | Shanghai Putu Technology Partnership (General Partnership) | Parallel computation engine for graph data |
CN108681482B (zh) * | 2018-05-16 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 基于图数据的任务调度方法和装置 |
CN108683738B (zh) | 2018-05-16 | 2020-08-14 | 腾讯科技(深圳)有限公司 | 图数据处理方法和图数据的计算任务发布方法 |
CN111723246B (zh) * | 2019-03-20 | 2024-04-05 | 京东科技控股股份有限公司 | 一种数据处理的方法、装置和存储介质 |
CN112528087B (zh) * | 2020-12-01 | 2023-06-20 | 南京邮电大学 | 一种网络系统中基于大同步模型的图顶点并行重编码方法 |
CN113434702A (zh) * | 2021-07-27 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种用于图计算的自适应控制方法和系统 |
CN114880272A (zh) * | 2022-03-31 | 2022-08-09 | 深圳清华大学研究院 | 全局高度数顶点集合通信的优化方法及应用 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468702A (zh) * | 2015-11-18 | 2016-04-06 | 中国科学院计算机网络信息中心 | 一种大规模rdf数据关联路径发现方法 |
-
2016
- 2016-05-19 CN CN201610338716.1A patent/CN106033476B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468702A (zh) * | 2015-11-18 | 2016-04-06 | 中国科学院计算机网络信息中心 | 一种大规模rdf数据关联路径发现方法 |
Non-Patent Citations (3)
Title |
---|
增量网络监测点的增量选取算法;丁三军等;《计算机应用》;20151210;全文 |
支持增量图数据的超图查询算法研究;孙勤红;《四川理工学院学报》;20150306;全文 |
面向模式图变化的增量图模式匹配;张丽霞等;《软件学报》;20151231;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN106033476A (zh) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106033476B (zh) | 一种云计算环境中分布式计算模式下的增量式图计算方法 | |
CN110737442B (zh) | 一种边缘应用管理方法及系统 | |
CN101973031B (zh) | 云机器人系统及实现方法 | |
CN110247954A (zh) | 一种分布式任务的调度方法及系统 | |
CN106534318B (zh) | 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法 | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN108920153A (zh) | 一种基于负载预测的Docker容器动态调度方法 | |
CN105045856A (zh) | 一种基于Hadoop的大数据遥感卫星数据处理系统 | |
CN111427678A (zh) | 汽车诊断云平台中的虚拟化资源调度系统、方法 | |
CN101652750A (zh) | 数据处理装置、分散处理系统、数据处理方法及数据处理程序 | |
CN113590576A (zh) | 数据库参数调整方法、装置、存储介质以及电子设备 | |
CN111966289A (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN104573428B (zh) | 一种提高服务器集群资源有效性的方法及系统 | |
CN115297008B (zh) | 基于智算网络的协同训练方法、装置、终端及存储介质 | |
CN113516331A (zh) | 一种建筑数据处理方法及装置 | |
CN114911617A (zh) | 一种资源配置方法、装置、设备和介质 | |
CN113014649B (zh) | 一种基于深度学习的云物联负载均衡方法、装置及设备 | |
CN116991558B (zh) | 算力资源的调度方法及多架构集群、装置、存储介质 | |
CN108196797B (zh) | 一种基于云计算的数据处理系统 | |
CN112148458A (zh) | 任务调度方法、装置 | |
CN110290206A (zh) | 一种用于网吧环境的分布式计算系统及方法 | |
CN103916428A (zh) | 私有云内部的数据传输方法、私有云平台及私有云系统 | |
CN111614702A (zh) | 一种边缘计算方法以及边缘计算系统 | |
CN114301980A (zh) | 容器集群的调度方法、装置、系统及计算机可读介质 | |
CN103269327A (zh) | 一种基于代理机制的通用文件数据服务的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |