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

被引:2
|
作者
Iwasaki, Hideya [1 ]
Emoto, Kento [2 ]
Morihata, Akimasa [3 ]
Matsuzaki, Kiminori [4 ]
Hu, Zhenjiang [5 ]
机构
[1] Univ Elect Commun, Tokyo, Japan
[2] Kyushu Inst Technol, Fukuoka, Japan
[3] Univ Tokyo, Tokyo, Japan
[4] Kochi Univ Technol, Kochi, Japan
[5] Peking Univ, Beijing, Peoples R China
关键词
THINK LIKE; ALGORITHMS; ANALYTICS; FRAMEWORK; SYSTEMS;
D O I
10.1017/S0956796821000277
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:69
相关论文
共 50 条
  • [1] Eliminating unnecesarry communications in the vertex-centric graph processing by the fregel compiler
    Kato N.
    Iwasaki H.
    Computer Software, 2019, 36 (02) : 28 - 46
  • [2] Thinking Like a Vertex: A Survey of Vertex-Centric Frameworks for Large-Scale Distributed Graph Processing
    McCune, Robert Ryan
    Weninger, Tim
    Madey, Greg
    ACM COMPUTING SURVEYS, 2015, 48 (02)
  • [3] Combining Vertex-Centric Graph Processing with SPARQL for Large-Scale RDF Data Analytics
    Abdelaziz, Ibrahim
    Harbi, Razen
    Salihoglu, Semih
    Kalnis, Panos
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2017, 28 (12) : 3374 - 3388
  • [4] Vertex-centric Graph Processing on FPGA
    Engelhardt, Nina
    So, Hayden Kwok-Hay
    2016 IEEE 24TH ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), 2016, : 92 - 92
  • [5] GraphU: A Unified Vertex-Centric Parallel Graph Processing Platform
    Su, Jing
    Chen, Qun
    Wang, Zhuo
    Ahmed, Murtadha
    Li, Zhanhuai
    2018 IEEE 38TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS), 2018, : 1533 - 1536
  • [6] GraVF: A Vertex-Centric Distributed Graph Processing Framework on FPGAs
    Engelhardt, Nina
    So, Hayden Kwok-Hay
    2016 26TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL), 2016,
  • [7] Vertex-centric Parallel Algorithms for Identifying Key Vertices in Large-scale Graphs
    Li, Bo
    Gao, Zhuangliang
    Niu, Jianwei
    Lv, YanFei
    Zhang, Hong
    2015 IEEE 17TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS, 2015 IEEE 7TH INTERNATIONAL SYMPOSIUM ON CYBERSPACE SAFETY AND SECURITY, AND 2015 IEEE 12TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS (ICESS), 2015, : 225 - 231
  • [8] Think Like a Vertex, Behave Like a Function! A Functional DSL for Vertex-Centric Big Graph Processing
    Emoto, Kento
    Matsuzaki, Kiminori
    Hu, Zhenjiang
    Morihata, Akimasa
    Iwasaki, Hideya
    ACM SIGPLAN NOTICES, 2016, 51 (09) : 200 - 213
  • [9] s6raph: Vertex-Centric Graph Processing Framework with Functional Interface
    Ruiz, Onofre Coll
    Matsuzaki, Kiminori
    Sato, Shigeyuki
    FHPC'16: PROCEEDINGS OF THE 5TH INTERNATIONAL WORKSHOP ON FUNCTIONAL HIGH-PERFORMANCE COMPUTING, 2016, : 58 - 64
  • [10] SPFC: An Effective Optimization for Vertex-Centric Graph Processing Systems
    Li, Jianxin
    Cao, Yingjie
    Zhang, Yangyang
    Bhuiyan, Zakirul Alam
    Li, Bo
    IEEE TRANSACTIONS ON SUSTAINABLE COMPUTING, 2019, 4 (01): : 118 - 131