BOBA: A Parallel Lightweight Graph Reordering Algorithm with Heavyweight Implications

06/17/2023
by   Matthew Drescher, et al.
0

We describe a simple parallel-friendly lightweight graph reordering algorithm for COO graphs (edge lists). Our “Batched Order By Attachment” (BOBA) algorithm is linear in the number of edges in terms of reads and linear in the number of vertices for writes through to main memory. It is highly parallelizable on GPUs. We show that, compared to a randomized baseline, the ordering produced gives improved locality of reference in sparse matrix-vector multiplication (SpMV) as well as other graph algorithms. Moreover, it can substantially speed up the conversion from a COO representation to the compressed format CSR, a very common workflow. Thus, it can give end-to-end speedups even in SpMV. Unlike other lightweight approaches, this reordering does not rely on explicitly knowing the degrees of the vertices, and indeed its runtime is comparable to that of computing degrees. Instead, it uses the structure and edge distribution inherent in the input edge list, making it a candidate for default use in a pragmatic graph creation pipeline. This algorithm is suitable for road-type networks as well as scale-free. It improves cache locality on both CPUs and GPUs, achieving hit rates similar to the heavyweight techniques (e.g., for SpMV, 7–52% and 11–67% in the L1 and L2 caches, respectively). Compared to randomly labeled graphs, BOBA-reordered graphs achieve end-to-end speedups of up to 3.45. The reordering time is approximately one order of magnitude faster than existing lightweight techniques and up to 2.5 orders of magnitude faster than heavyweight techniques.

READ FULL TEXT
research
01/10/2023

InstaGraM: Instance-level Graph Modeling for Vectorized HD Map Learning

The construction of lightweight High-definition (HD) maps containing geo...
research
01/31/2020

Semi-dynamic Algorithms for Strongly Chordal Graphs

There is an extensive literature on dynamic algorithms for a large numbe...
research
03/31/2020

A+ Indexes: Lightweight and Highly Flexible Adjacency Lists for Graph Database Management Systems

Graph database management systems (GDBMSs) are highly optimized to perfo...
research
09/14/2020

NextDoor: GPU-Based Graph Sampling for Graph Machine Learning

Representation learning is a fundamental task in machine learning. It co...
research
01/23/2020

A Closer Look at Lightweight Graph Reordering

Graph analytics power a range of applications in areas as diverse as fin...
research
04/23/2018

Parallel and I/O-efficient Randomisation of Massive Networks using Global Curveball Trades

Graph randomisation is an important task in the analysis and synthesis o...
research
05/04/2015

Activity recognition from videos with parallel hypergraph matching on GPUs

In this paper, we propose a method for activity recognition from videos ...

Please sign up or login with your details

Forgot password? Click here to reset