A Closer Look at Lightweight Graph Reordering

by   Priyank Faldu, et al.

Graph analytics power a range of applications in areas as diverse as finance, networking and business logistics. A common property of graphs used in the domain of graph analytics is a power-law distribution of vertex connectivity, wherein a small number of vertices are responsible for a high fraction of all connections in the graph. These richly-connected (hot) vertices inherently exhibit high reuse. However, their sparse distribution in memory leads to a severe underutilization of on-chip cache capacity. Prior works have proposed lightweight skew-aware vertex reordering that places hot vertices adjacent to each other in memory, reducing the cache footprint of hot vertices. However, in doing so, they may inadvertently destroy the inherent community structure within the graph, which may negate the performance gains achieved from the reduced footprint of hot vertices. In this work, we study existing reordering techniques and demonstrate the inherent tension between reducing the cache footprint of hot vertices and preserving original graph structure. We quantify the potential performance loss due to disruption in graph structure for different graph datasets. We further show that reordering techniques that employ fine-grain reordering significantly increase misses in the higher level caches, even when they reduce misses in the last-level cache. To overcome the limitations of existing reordering techniques, we propose Degree-Based Grouping (DBG), a novel lightweight reordering technique that employs a coarse-grain reordering to largely preserve graph structure while reducing the cache footprint of hot vertices. Our evaluation on 40 combinations of various graph applications and datasets shows that, compared to a baseline with no reordering, DBG yields an average application speed-up of 16.8 11.6


page 1

page 9

page 10

page 11


Domain-Specialized Cache Management for Graph Analytics

Graph analytics power a range of applications in areas as diverse as fin...

A Structure-aware Approach for Efficient Graph Processing

With the advent of the big data, graph are processed in an iterative man...

Locality-based Graph Reordering for Processing Speed-Ups and Impact of Diameter

Graph analysis involves a high number of random memory access patterns. ...

HoLiSwap: Reducing Wire Energy in L1 Caches

This paper describes HoLiSwap a method to reduce L1 cache wire energy, a...

BOBA: A Parallel Lightweight Graph Reordering Algorithm with Heavyweight Implications

We describe a simple parallel-friendly lightweight graph reordering algo...

GraphTango: A Hybrid Representation Format for Efficient Streaming Graph Updates and Analysis

Streaming graph processing involves performing updates and analytics on ...

SGCN: Exploiting Compressed-Sparse Features in Deep Graph Convolutional Network Accelerators

Graph convolutional networks (GCNs) are becoming increasingly popular as...

Please sign up or login with your details

Forgot password? Click here to reset