[论文解读] GRE: A Graph Runtime Engine for Large-Scale Distributed Graph-Parallel Applications
GRE 提出了一种新颖的图运行时引擎,通过采用散列-合并计算模型和 Agent-图数据模型,显著提升了大规模分布式图并行计算的性能。通过利用主动消息实现细粒度边级并行性,并通过顶点因子分解优化有向图划分,GRE 在 768GB 内存下可处理高达 10 亿个顶点和 170 亿条边的图,性能比 PowerGraph 提高 2.5–17 倍,同时在速度和内存效率方面均优于现有框架。
Large-scale distributed graph-parallel computing is challenging. On one hand, due to the irregular computation pattern and lack of locality, it is hard to express parallelism efficiently. On the other hand, due to the scale-free nature, real-world graphs are hard to partition in balance with low cut. To address these challenges, several graph-parallel frameworks including Pregel and GraphLab (PowerGraph) have been developed recently. In this paper, we present an alternative framework, Graph Runtime Engine (GRE). While retaining the vertex-centric programming model, GRE proposes two new abstractions: 1) a Scatter-Combine computation model based on active message to exploit massive fined-grained edge-level parallelism, and 2) a Agent-Graph data model based on vertex factorization to partition and represent directed graphs. GRE is implemented on commercial off-the-shelf multi-core cluster. We experimentally evaluate GRE with three benchmark programs (PageRank, Single Source Shortest Path and Connected Components) on real-world and synthetic graphs of millions billion of vertices. Compared to PowerGraph, GRE shows 2.5~17 times better performance on 8~16 machines (192 cores). Specifically, the PageRank in GRE is the fastest when comparing to counterparts of other frameworks (PowerGraph, Spark,Twister) reported in public literatures. Besides, GRE significantly optimizes memory usage so that it can process a large graph of 1 billion vertices and 17 billion edges on our cluster with totally 768GB memory, while PowerGraph can only process less than half of this graph scale.
研究动机与目标
- 解决由于不规则数据访问和局部性差,导致大规模图并行工作负载中难以表达不规则、细粒度并行性的问题。
- 克服在度分布偏斜的无标度图中实现负载均衡图划分的困难,该问题常导致高通信开销。
- 设计一种新的计算模型,在保留顶点中心模型简洁性的同时,支持高效且大规模的边级并行性。
- 开发一种分布式数据模型,通过将顶点因子分解为代理(agents)来表示有向图,从而降低通信开销和内存使用。
- 在商用多核集群上实现对包含数十亿个顶点和边的真实图与合成图的高性能和可扩展性。
提出的方法
- 引入散列-合并计算模型,将传统 GAS(Gather-Apply-Scatter)模型中的双边边操作转换为单边主动消息,以充分挖掘细粒度边级并行性。
- 采用主动消息传递作为通信原语,相比传统消息传递或共享内存模型,实现更高效、低开销的消息传输。
- 提出 Agent-图数据模型,通过将顶点因子分解为代理来表示有向图,从而支持更高效的划分并减少分布式系统中的边切割(edge-cut)。
- 在 Agent-图模型上实现基于顶点切割的划分策略,类似于 PowerGraph 的方法,但针对有向图进行了适配,并优化了通信开销。
- 集成底层优化技术,如 vLock 实现细粒度同步,以及 FastForward 实现线程级通信,以提升多核机器上的本地性能。
- 在商用现成多核集群上构建完整的运行时系统,支持 PageRank、SSSP 和连通分量等迭代图算法。
实验结果
研究问题
- RQ1在具有不规则访问模式的大规模分布式图并行应用中,如何高效表达并利用细粒度边级并行性?
- RQ2基于顶点因子分解的数据模型在无标度有向图中,能在多大程度上减少通信开销并改善负载均衡?
- RQ3基于主动消息的新计算模型是否能在性能和内存效率方面超越传统的 GAS 和消息传递模型?
- RQ4在真实图上,所提出的 Agent-图模型与边切割和顶点切割划分方法相比,在通信开销和可扩展性方面表现如何?
- RQ5在处理百亿规模图时,GRE 相较于 PowerGraph、Spark 和 Twister 等现有框架,其端到端性能和内存效率如何?
主要发现
- 在 8 至 16 台机器(共 192 个核心)上,GRE 在 PageRank、单源最短路径和连通分量三个基准工作负载上,性能比 PowerGraph 提高 2.5 至 17 倍。
- GRE 中的 PageRank 是公开文献中报告的最快实现,优于 PowerGraph、Spark 和 Twister 的对应版本。
- GRE 显著降低了内存使用,使得在 768GB 内存集群上处理 10 亿顶点、170 亿条边的图成为可能,而 PowerGraph 仅能处理其规模的一半以下。
- Agent-图模型通过顶点因子分解最小化边切割,显著降低通信开销,尤其在度分布偏斜的有向图中效果显著。
- 散列-合并模型能够高效利用大规模边级并行性,相比传统模型,主动消息传递显著减少了同步和通信开销。
- 运行时系统展现出强大的可扩展性和效率,在真实图与合成图上均表现优异,验证了所提出抽象在实践中的有效性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。