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 significant attention in the world of graph processing, resulting in the emergence of a number of vertex-centric frameworks. Its simple programming interface, where computation is expressed from a vertex point of view, offers both ease of programming to the user and inherent parallelism for the underlying framework to leverage. However, vertex-centric programs represent an extreme form of irregularity, both inter and intra core. This is because they exhibit a variety of challenges from a workload that may greatly vary across supersteps, through fine-grain synchronisations, to memory accesses that are unpredictable both in terms of quantity and location. In this paper, we explore three optimisations which address these irregular challenges; a hybrid combiner carefully coupling lock-free and lock-based combinations, the partial externalisation of vertex structures to improve locality and the shift to an edge-centric representation of the workload. The optimisations were integrated into the iPregel vertex-centric framework, enabling the evaluation of each optimisation in the context of graph processing across three general purpose benchmarks common in the vertex-centric community, each run on four publicly available graphs covering all orders of magnitude from a million to a billion edges. The result of this work is a set of techniques which we believe not only provide a significant performance improvement in vertex-centric graph processing, but are also applicable more generally to irregular applications.

READ FULL TEXT
research
10/17/2020

iPregel: Vertex-centric programmability vs memory efficiency and performance, why choose?

The vertex-centric programming model, designed to improve the programmab...
research
06/21/2018

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

The past decade has seen development of many shared-memory graph process...
research
06/03/2018

An Efficient Dispatcher for Large Scale GraphProcessing on OpenCL-based FPGAs

High parallel framework has been proved to be very suitable for graph pr...
research
06/05/2017

QuickCSG: Fast Arbitrary Boolean Combinations of N Solids

QuickCSG computes the result for general N-polyhedron boolean expression...
research
06/01/2023

Bridging Control-Centric and Data-Centric Optimization

With the rise of specialized hardware and new programming languages, cod...
research
05/31/2018

Start Late or Finish Early: A Distributed Graph Processing System with Redundancy Reduction

Graph processing systems are important in the big data domain. However, ...
research
03/25/2021

Vertex-centric Parallel Computation of SQL Queries

We present a scheme for parallel execution of SQL queries on top of any ...

Please sign up or login with your details

Forgot password? Click here to reset