当前位置: X-MOL 学术ACM Trans. Comput. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Distributed Graph Processing System and Processing-in-memory Architecture with Precise Loop-carried Dependency Guarantee
ACM Transactions on Computer Systems ( IF 1.5 ) Pub Date : 2021-07-01 , DOI: 10.1145/3453681
Youwei Zhuo 1 , Jingji Chen 1 , Gengyu Rao 1 , Qinyi Luo 1 , Yanzhi Wang 2 , Hailong Yang 3 , Depei Qian 3 , Xuehai Qian 1
Affiliation  

To hide the complexity of the underlying system, graph processing frameworks ask programmers to specify graph computations in user-defined functions (UDFs) of graph-oriented programming model. Due to the nature of distributed execution, current frameworks cannot precisely enforce the semantics of UDFs, leading to unnecessary computation and communication. It exemplifies a gap between programming model and runtime execution. This article proposes novel graph processing frameworks for distributed system and Processing-in-memory (PIM) architecture that precisely enforces loop-carried dependency; i.e., when a condition is satisfied by a neighbor, all following neighbors can be skipped. Our approach instruments the UDFs to express the loop-carried dependency, then the distributed execution framework enforces the precise semantics by performing dependency propagation dynamically. Enforcing loop-carried dependency requires the sequential processing of the neighbors of each vertex distributed in different nodes. We propose to circulant scheduling in the framework to allow different nodes to process disjoint sets of edges/vertices in parallel while satisfying the sequential requirement. The technique achieves an excellent trade-off between precise semantics and parallelism—the benefits of eliminating unnecessary computation and communication offset the reduced parallelism. We implement a new distributed graph processing framework SympleGraph, and two variants of runtime systems— GraphS and GraphSR —for PIM-based graph processing architecture, which significantly outperform the state-of-the-art.

中文翻译:

具有精确循环携带依赖保证的分布式图处理系统和内存处理架构

为了隐藏底层系统的复杂性,图处理框架要求程序员在面向图的编程模型的用户定义函数 (UDF) 中指定图计算。由于分布式执行的性质,当前的框架不能精确地执行 UDF 的语义,导致不必要的计算和通信。它举例说明了编程模型和运行时执行之间的差距。本文为分布式系统和内存处理(PIM)架构提出了新颖的图形处理框架,可以精确地执行循环携带依赖;即,当邻居满足条件时,可以跳过所有后续邻居。我们的方法使用 UDF 来表达循环携带的依赖,然后分布式执行框架通过动态执行依赖传播来强制执行精确的语义。执行循环携带依赖需要对分布在不同节点中的每个顶点的邻居进行顺序处理。我们建议在框架中进行循环调度,以允许不同的节点在满足顺序要求的同时并行处理不相交的边/顶点集。该技术在精确语义和并行性之间实现了出色的权衡——消除不必要的计算和通信的好处抵消了并行性的降低。我们实现了一个新的分布式图处理框架 SympleGraph,以及两个运行时系统的变体—— 执行循环携带依赖需要对分布在不同节点中的每个顶点的邻居进行顺序处理。我们建议在框架中进行循环调度,以允许不同的节点在满足顺序要求的同时并行处理不相交的边/顶点集。该技术在精确语义和并行性之间实现了出色的权衡——消除不必要的计算和通信的好处抵消了并行性的降低。我们实现了一个新的分布式图处理框架 SympleGraph,以及两个运行时系统的变体—— 执行循环携带依赖需要对分布在不同节点中的每个顶点的邻居进行顺序处理。我们建议在框架中进行循环调度,以允许不同的节点在满足顺序要求的同时并行处理不相交的边/顶点集。该技术在精确语义和并行性之间实现了出色的权衡——消除不必要的计算和通信的好处抵消了并行性的降低。我们实现了一个新的分布式图处理框架 SympleGraph,以及两个运行时系统的变体—— 该技术在精确语义和并行性之间实现了出色的权衡——消除不必要的计算和通信的好处抵消了并行性的降低。我们实现了一个新的分布式图处理框架 SympleGraph,以及两个运行时系统的变体—— 该技术在精确语义和并行性之间实现了出色的权衡——消除不必要的计算和通信的好处抵消了并行性的降低。我们实现了一个新的分布式图处理框架 SympleGraph,以及两个运行时系统的变体——图表GraphSR——用于基于 PIM 的图形处理架构,其性能明显优于最先进的技术。
更新日期:2021-07-01
down
wechat
bug