DeepAI AI Chat
Log In Sign Up

PriorityGraph: A Unified Programming Model for Optimizing Ordered Graph Algorithms

by   Yunming Zhang, et al.
Carnegie Mellon University

Many graph problems can be solved using ordered parallel graph algorithms that achieve significant speedup over their unordered counterparts by reducing redundant work. This paper introduces PriorityGraph, a new programming framework that simplifies writing high-performance parallel ordered graph algorithms. The key to PriorityGraph is a novel priority-based abstraction that enables vertices to be processed in a dynamic order while hiding low-level implementation details from the user. PriorityGraph is implemented as a language and compiler extension to GraphIt. The PriorityGraph compiler extension leverages new program analyses, transformations, and code generation to produce fast implementations of ordered parallel graph algorithms. We also introduce bucket fusion, a new performance optimization that fuses together different rounds of ordered algorithms to reduce synchronization overhead, resulting in 1.2× to 3× speedup over the fastest existing ordered algorithm implementations on road networks with large diameters. PriorityGraph achieves up to 3× speedup on six ordered graph algorithms over state-of-the-art frameworks and hand-optimized implementations (Julienne, Galois, and GAPBS) that support ordered algorithms.


page 1

page 2

page 3

page 4


Optimizing Ordered Graph Algorithms with GraphIt

Many graph problems can be solved using ordered parallel graph algorithm...

Compilation Techniques for Graph Algorithms on GPUs

The performance of graph programs depends highly on the algorithm, the s...

GraphIt - A High-Performance DSL for Graph Analytics

The performance bottlenecks of graph applications depend not only on the...

Mapping of CNNs on multi-core RRAM-based CIM architectures

RRAM-based multi-core systems improve the energy efficiency and performa...

Stream Processing With Dependency-Guided Synchronization

Real-time data processing applications with low latency requirements hav...

GraFS: Graph Analytics Fusion and Synthesis

Graph analytics elicits insights from large graphs to inform critical de...

Fast exact computation of the k most abundant isotope peaks with layer-ordered heaps

The theoretical computation of isotopic distribution of compounds is cru...