Meerkat: A framework for Dynamic Graph Algorithms on GPUs

05/28/2023
by   Kevin Jude Concessao, et al.
0

Graph algorithms are challenging to implement due to their varying topology and irregular access patterns. Real-world graphs are dynamic in nature and routinely undergo edge and vertex additions, as well as, deletions. Typical examples of dynamic graphs are social networks, collaboration networks, and road networks. Applying static algorithms repeatedly on dynamic graphs is inefficient. Unfortunately, we know little about how to efficiently process dynamic graphs on massively parallel architectures such as GPUs. Existing approaches to represent and process dynamic graphs are either not general or inefficient. In this work, we propose a library-based framework for dynamic graph algorithms that proposes a GPU-tailored graph representation and exploits the warp-cooperative execution model. The library, named Meerkat, builds upon a recently proposed dynamic graph representation on GPUs. This representation exploits a hashtable-based mechanism to store a vertex's neighborhood. Meerkat also enables fast iteration through a group of vertices, such as the whole set of vertices or the neighbors of a vertex. Based on the efficient iterative patterns encoded in Meerkat, we implement dynamic versions of the popular graph algorithms such as breadth-first search, single-source shortest paths, triangle counting, weakly connected components, and PageRank. Compared to the state-of-the-art dynamic graph analytics framework Hornet, Meerkat is 12.6×, 12.94×, and 6.1× faster, for query, insert, and delete operations, respectively. Using a variety of real-world graphs, we observe that Meerkat significantly improves the efficiency of the underlying dynamic graph algorithm. Meerkat performs 1.17× for BFS, 1.32× for SSSP, 1.74× for PageRank, and 6.08× for WCC, better than Hornet on average.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/14/2023

GraphVine: A Data Structure to Optimize Dynamic Graph Processing on GPUs

Graph processing on GPUs is gaining momentum due to the high throughputs...
research
06/21/2021

Recolouring weakly chordal graphs and the complement of triangle-free graphs

For a graph G, the k-recolouring graph ℛ_k(G) is the graph whose vertice...
research
02/21/2019

Reconfiguration Graph for Vertex Colourings of Weakly Chordal Graphs

The reconfiguration graph R_k(G) of the k-colourings of a graph G contai...
research
06/15/2020

Algorithmic Aspects of Temporal Betweenness

The betweenness centrality of a graph vertex measures how often this ver...
research
05/05/2023

StarPlat: A Versatile DSL for Graph Analytics

Graphs model several real-world phenomena. With the growth of unstructur...
research
03/21/2023

Dynamic Vertex Replacement Grammars

Context-free graph grammars have shown a remarkable ability to model str...
research
03/03/2020

Dynamic Graph Operations: A Consistent Non-blocking Approach

Graph algorithms enormously contribute to the domains such as blockchain...

Please sign up or login with your details

Forgot password? Click here to reset