论文标题

GRAFS:图分析融合和合成

GraFS: Graph Analytics Fusion and Synthesis

论文作者

Houshmand, Farzin, Lesani, Mohsen, Vora, Keval

论文摘要

图形分析引起了从大图的见解,以为业务,安全和保障提供关键决策。几个大规模的图形处理框架具有有效的运行时系统;但是,它们通常提供低级且彼此微妙的编程模型。因此,最终用户可以找到图形分析时间耗时和容易出错的实现和特殊优化。本文将图形处理框架的抽象接口视为图形分析的指令集,并介绍GRAFS,GRAFS是图形分析的高级声明规范语言和合成器,该语言自动为五个高性能的高性能图形处理框架生成有效的代码。它具有新颖的语义传播融合转换,可优化规格并将其减少到三个原始素:减少路径,映射顶点和对顶点的降低。降低路径上的减少通常是基于推送或拉动模型计算的,该模型在顶点上迭代地应用内核函数。本文介绍了条件,从内核函数方面参数为迭代模型的正确性和终止,并将这些条件作为规格自动合成内核函数。实验结果表明,生成的代码匹配或优于手工优化的代码,并且融合会加速执行。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源