DCAIDSFeb 8, 2024

Rhizomes and Diffusions for Processing Highly Skewed Graphs on Fine-Grain Message-Driven Systems

arXiv:2402.06086v21 citationsh-index: 11
Originality Incremental advance
AI Analysis

This work addresses inefficiencies in graph processing for systems with skewed data distributions, though it appears incremental as it builds on existing vertex-centric and message-driven paradigms.

The paper tackled the problem of processing graphs with highly skewed degree distributions on fine-grained message-driven systems by co-designing a programming model, language constructs, and a novel vertex-centric data structure called Rhizomes, resulting in performance gains for BFS, SSSP, and PageRank on large chip sizes as shown in simulated experiments.

The paper provides a unified co-design of 1) a programming and execution model that allows spawning tasks from within the vertex data at runtime, 2) language constructs for \textit{actions} that send work to where the data resides, combining parallel expressiveness of local control objects (LCOs) to implement asynchronous graph processing primitives, 3) and an innovative vertex-centric data-structure, using the concept of Rhizomes, that parallelizes both the out and in-degree load of vertex objects across many cores and yet provides a single programming abstraction to the vertex objects. The data structure hierarchically parallelizes the out-degree load of vertices and the in-degree load laterally. The rhizomes internally communicate and remain consistent, using event-driven synchronization mechanisms, to provide a unified and correct view of the vertex. Simulated experimental results show performance gains for BFS, SSSP, and Page Rank on large chip sizes for the tested input graph datasets containing highly skewed degree distribution. The improvements come from the ability to express and create fine-grain dynamic computing task in the form of \textit{actions}, language constructs that aid the compiler to generate code that the runtime system uses to optimally schedule tasks, and the data structure that shares both in and out-degree compute workload among memory-processing elements.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes