We identify the graph data structure, frontiers, operators, an iterative loop structure, and convergence conditions as essential components of graph analytics systems based on the native-graph approach. Using these essential components, we propose an abstraction that captures all the significant programming models within graph analytics, such as bulk-synchronous, asynchronous, shared-memory, message-passing, and push vs. pull traversals. Finally, we demonstrate the power of our abstraction with an elegant modern C++ implementation of single-source shortest path and its required components.
@article{arxiv.2212.08200,
title = {Essentials of Parallel Graph Analytics},
author = {Muhammad Osama and Serban D. Porumbescu and John D. Owens},
journal= {arXiv preprint arXiv:2212.08200},
year = {2022}
}
Comments
Proceedings of the Workshop on Graphs, Architectures, Programming, and Learning