Fregel: a functional domain-specific language for vertex-centric large-scale graph processing

Fregel: a functional domain-specific language for vertex-centric large-scale graph processing
复制标题

DOI:
10.1017/s0956796821000277
复制
发表时间:
2022-01
影响因子:
1.1
通讯作者:
H. Iwasaki;Kento Emoto;Akimasa Morihata;Kiminori Matsuzaki;Zhenjiang Hu
H. Iwasaki;Kento Emoto;Akimasa Morihata;Kiminori Matsuzaki;Zhenjiang Hu
中科院分区:
计算机科学2区
文献类型:
--
作者:
H. Iwasaki;Kento Emoto;Akimasa Morihata;Kiminori Matsuzaki;Zhenjiang Hu

文献摘要

相似文献

摘要现在广泛使用以顶点为中心的编程模型来处理大图。本文很困难使用COMPONTIC编程在Fregel提供的图表上使用二阶功能进行了抽象,可以将Fregel程序汇编为命令式程序,以在Giraph和Pregel+ Pregex中心框架中使用。在编译过程中进行的转换和优化,该程序员从程序优化的伯恩(Burnen)中释放出来,这是针对现有的命令式系统进行的。
Abstract The vertex-centric programming model is now widely used for processing large graphs. User-defined vertex programs are executed in parallel over every vertex of a graph, but the imperative and explicit message-passing style of existing systems makes defining a vertex program unintuitive and difficult. This article presents Fregel, a purely functional domain-specific language for processing large graphs and describes its model, design, and implementation. Fregel is a subset of Haskell, so Haskell tools can be used to test and debug Fregel programs. The vertex-centric computation is abstracted using compositional programming that uses second-order functions on graphs provided by Fregel. A Fregel program can be compiled into imperative programs for use in the Giraph and Pregel+ vertex-centric frameworks. Fregel’s functional nature without side effects enables various transformations and optimizations during the compilation process. Thus, the programmer is freed from the burden of program optimization, which is manually done for existing imperative systems. Experimental results for typical examples demonstrated that the compiled code can be executed with reasonable and promising performance.