GPOP: A cache- and work-efficient framework for Graph Processing Over Partitions

06/21/2018
by   Kartik Lakhotia, et al.
0

The past decade has seen development of many shared-memory graph processing frameworks intended to reduce the effort for creating high performance parallel applications. However, their programming models, based on Vertex-centric or Edge-centric paradigms suffer from several issues, such as poor cache utilization, irregular memory accesses, heavy use of synchronization primitives or theoretical inefficiency, that deteriorate the performance and scalability of applications. Recently, a cache-efficient partition-centric paradigm was proposed for computing PageRank. In this paper, we generalize this approach to develop a novel Partition-centric Programming Model(PPM) that is cache-efficient, scalable and work-efficient. We implement PPM as part of Graph Processing over Partitions(GPOP) framework that can efficiently execute a variety of algorithms. GPOP dramatically improves the cache performance by exploiting locality of partitioning. It achieves high scalability by enabling completely lock and atomic free computation. Its built-in analytical performance models enable it to use a hybrid of source and destination centric communication modes in a way that ensures work-efficiency of each iteration and simultaneously boosts high bandwidth sequential memory accesses. GPOP framework completely abstracts away underlying parallelism and programming model details from the user. It provides an easy to program set of APIs with the ability to selectively continue the active vertex set across iterations, which is not intrinsically supported by the current frameworks. We extensively evaluate the performance of GPOP for a variety of graph algorithms, using several large datasets. We observe that GPOP incurs upto 8.6x and 5.2x less L2 cache misses compared to Ligra and GraphMat, respectively. In terms of execution time, GPOP is upto 19x and 6.1x faster than Ligra and GraphMat, respectively.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/27/2021

Cache-Efficient Fork-Processing Patterns on Large Graphs

As large graph processing emerges, we observe a costly fork-processing p...
research
09/21/2017

Accelerating PageRank using Partition-Centric Processing

PageRank is a fundamental link analysis algorithm and a key representati...
research
10/09/2020

A Vertex Cut based Framework for Load Balancing and Parallelism Optimization in Multi-core Systems

High-level applications, such as machine learning, are evolving from sim...
research
10/04/2020

iPregel: Strategies to Deal with an Extreme Form of Irregularity in Vertex-Centric Graph Processing

Over the last decade, the vertex-centric programming model has attracted...
research
10/28/2020

Substream-Centric Maximum Matchings on FPGA

Developing high-performance and energy-efficient algorithms for maximum ...
research
06/28/2019

Pruned Landmark Labeling Meets Vertex Centric Computation: A Surprisingly Happy Marriage!

In this paper, we study how the Pruned Landmark Labeling (PPL) algorithm...
research
04/15/2021

SISA: Set-Centric Instruction Set Architecture for Graph Mining on Processing-in-Memory Systems

Simple graph algorithms such as PageRank have been the target of numerou...

Please sign up or login with your details

Forgot password? Click here to reset