vix.ing · top · new · best · stats · spec

GraFS: Graph Analytics Fusion and Synthesis

2020/05/27 by Farzin Houshmand, Houshmand, Farzin, Mohsen Lesani +3
Computer Science · #Advanced Graph Neural Networks #Distributed #FOS: Computer and information sciences #Graph Theory and Algorithms #Parallel #Programming Languages (cs.PL) #Web Data Mining and Analysis #and Cluster Computing (cs.DC)

paper · pdf · doi:10.48550/arxiv.2005.13632

openalex publication_date 2020/05/27 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

Graph analytics elicits insights from large graphs to inform critical decisions for business, safety and security. Several large-scale graph processing frameworks feature efficient runtime systems; however, they often provide programming models that are low-level and subtly different from each other. Therefore, end users can find implementation and specially optimization of graph analytics time-consuming and error-prone. This paper regards the abstract interface of the graph processing frameworks as the instruction set for graph analytics, and presents Grafs, a high-level declarative specification language for graph analytics and a synthesizer that automatically generates efficient code for five high-performance graph processing frameworks. It features novel semantics-preserving fusion transformations that optimize the specifications and reduce them to three primitives: reduction over paths, mapping over vertices and reduction over vertices. Reductions over paths are commonly calculated based on push or pull models that iteratively apply kernel functions at the vertices. This paper presents conditions, parametric in terms of the kernel functions, for the correctness and termination of the iterative models, and uses these conditions as specifications to automatically synthesize the kernel functions. Experimental results show that the generated code matches or outperforms hand-optimized code, and that fusion accelerates execution.

Citations

Related