Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable

05/14/2018
by   Laxman Dhulipala, et al.
0

There has been significant interest in parallel graph processing recently due to the need to quickly analyze the large graphs available today. Many graph codes have been designed for distributed memory or external memory. However, today even the largest publicly-available real-world graph (the Hyperlink Web graph with over 3.5 billion vertices and 128 billion edges) can fit in the memory of a single commodity multicore server. Nevertheless, most experimental work in the literature report results on much smaller graphs, and the ones that use the Hyperlink graph are done in distributed or external memory. Therefore it is natural to ask whether we can efficiently solve a broad class of graph problems on this graph in memory. With a graph of this size it is important to use theoretically-efficient parallel algorithms as even minor inefficiencies in the work or parallelism of an algorithm can lead to a significant increase in running time. This paper shows that theoretically-efficient parallel graph algorithms can scale to the largest publicly-available graphs using a single machine with a terabyte of RAM, processing them in minutes. We give implementations of theoretically-efficient parallel algorithms for 13 important graph problems. We also present the optimizations and techniques that we used in our implementations, which were crucial in enabling us to process these large graphs quickly. We show that the running times of our implementations outperform existing state-of-the-art implementations on the largest real-world graphs. For many of the problems that we consider, this is the first time they have been solved on graphs at this scale. We have created a problem-based benchmark suite containing these problems that will be made publicly-available.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/27/2019

Semi-Asymmetric Parallel Graph Algorithms for NVRAMs

Emerging non-volatile main memory (NVRAM) technologies provide novel fea...
research
03/10/2020

Optimizations to the Parallel Breath First Search on Distributed Memory

Graphs and their traversal is becoming significant as it is applicable t...
research
08/16/2017

A Survey of Parallel A*

A* is a best-first search algorithm for finding optimal-cost paths in gr...
research
04/12/2022

Single-Purpose Algorithms vs. a Generic Graph Summarizer for Computing k-Bisimulations on Large Graphs

We investigate whether a generic graph summarization approach BRS can ou...
research
08/31/2023

MS-BioGraphs: Sequence Similarity Graph Datasets

Progress in High-Performance Computing in general, and High-Performance ...
research
07/07/2019

Graphyti: A Semi-External Memory Graph Library for FlashGraph

Graph datasets exceed the in-memory capacity of most standalone machines...
research
01/04/2023

COST of Graph Processing Using Actors

Graph processing is an increasingly important domain of computer science...

Please sign up or login with your details

Forgot password? Click here to reset