Generating Dynamic Graph Algorithms for Multiple Backends for a Graph DSL

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Behera, Nibedita, Kumar, Ashwina, Chougule, Atharva, S, Mohammed Shan P, Lalwani, Rushabh Nirdosh, Nasre, Rupesh
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866909689946570752
author Behera, Nibedita
Kumar, Ashwina
Chougule, Atharva
S, Mohammed Shan P
Lalwani, Rushabh Nirdosh
Nasre, Rupesh
author_facet Behera, Nibedita
Kumar, Ashwina
Chougule, Atharva
S, Mohammed Shan P
Lalwani, Rushabh Nirdosh
Nasre, Rupesh
contents With the rapid growth of unstructured and semistructured data, parallelizing graph algorithms has become essential for efficiency. However, due to the inherent irregularity in computation, memory access patterns, and communication, graph algorithms are notoriously difficult to parallelize. To address this challenge, several libraries, frameworks, and domain-specific languages (DSLs) have been proposed to ease the parallel programming burden for domain experts. Existing frameworks partially or fully abstract away parallelism intricacies, provide intuitive scheduling mnemonics, and employ program analysis to identify data races and generate synchronization code. Despite these advances, most frameworks are limited in their abstractions and runtime optimizations, especially when dealing with static graphs. In contrast, many real-world graphs are inherently dynamic, with evolving structures over time through insertions, deletions, and modifications of vertices, edges, and attributes. Generating efficient and correctly synchronized code for such dynamic graph algorithms remains a significant challenge. In this work, we introduce an abstraction scheme and runtime optimizations for the efficient processing of morph algorithms. Specifically, given an initial graph G and a set of updates $Δ$G involving edge insertions and deletions, we express the dynamic processing logic through a DSL and automatically generate parallel code targeting multicore, distributed, and many-core environments. We demonstrate the effectiveness of our approach by applying the DSL-generated code to ten large graphs with diverse characteristics and three widely used algorithms: Shortest Paths, PageRank, and Triangle Counting.
format Preprint
id arxiv_https___arxiv_org_abs_2507_11094
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Generating Dynamic Graph Algorithms for Multiple Backends for a Graph DSL
Behera, Nibedita
Kumar, Ashwina
Chougule, Atharva
S, Mohammed Shan P
Lalwani, Rushabh Nirdosh
Nasre, Rupesh
Distributed, Parallel, and Cluster Computing
With the rapid growth of unstructured and semistructured data, parallelizing graph algorithms has become essential for efficiency. However, due to the inherent irregularity in computation, memory access patterns, and communication, graph algorithms are notoriously difficult to parallelize. To address this challenge, several libraries, frameworks, and domain-specific languages (DSLs) have been proposed to ease the parallel programming burden for domain experts. Existing frameworks partially or fully abstract away parallelism intricacies, provide intuitive scheduling mnemonics, and employ program analysis to identify data races and generate synchronization code. Despite these advances, most frameworks are limited in their abstractions and runtime optimizations, especially when dealing with static graphs. In contrast, many real-world graphs are inherently dynamic, with evolving structures over time through insertions, deletions, and modifications of vertices, edges, and attributes. Generating efficient and correctly synchronized code for such dynamic graph algorithms remains a significant challenge. In this work, we introduce an abstraction scheme and runtime optimizations for the efficient processing of morph algorithms. Specifically, given an initial graph G and a set of updates $Δ$G involving edge insertions and deletions, we express the dynamic processing logic through a DSL and automatically generate parallel code targeting multicore, distributed, and many-core environments. We demonstrate the effectiveness of our approach by applying the DSL-generated code to ten large graphs with diverse characteristics and three widely used algorithms: Shortest Paths, PageRank, and Triangle Counting.
title Generating Dynamic Graph Algorithms for Multiple Backends for a Graph DSL
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2507.11094