Skip to main navigation Skip to search Skip to main content

Distributed Graph Processing System and Processing-in-memory Architecture with Precise Loop-carried Dependency Guarantee

  • Youwei Zhuo
  • , Jingji Chen
  • , Gengyu Rao
  • , Qinyi Luo
  • , Yanzhi Wang
  • , Hailong Yang*
  • , Depei Qian
  • , Xuehai Qian
  • *Corresponding author for this work
  • University of Southern California
  • Northeastern University

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Article number3453681
JournalACM Transactions on Computer Systems
Volume37
Issue number1-4
DOIs
StatePublished - Jun 2021

Keywords

  • Graph analytics
  • big data
  • compilers
  • graph algorithms

Fingerprint

Dive into the research topics of 'Distributed Graph Processing System and Processing-in-memory Architecture with Precise Loop-carried Dependency Guarantee'. Together they form a unique fingerprint.

Cite this