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 条
  • [21] DFA-G: A Unified Programming Model for Vertex-centric Parallel Graph Processing
    Suo, Bo
    Su, Jing
    Chen, Qun
    Li, Zhanhuai
    Pan, Wei
    2016 IEEE 16TH INTERNATIONAL CONFERENCE ON DATA MINING WORKSHOPS (ICDMW), 2016, : 1328 - 1331
  • [22] Palgol: A High-Level DSL for Vertex-Centric Graph Processing with Remote Data Access
    Zhang, Yongzhe
    Ko, Hsiang-Shang
    Hu, Zhenjiang
    PROGRAMMING LANGUAGES AND SYSTEMS (APLAS 2017), 2017, 10695 : 301 - 320
  • [23] JAMOOS: A domain-specific language for language processing
    Gil, Joseph Yossi
    Tsoglin, Yuri
    2001, University of Zagreb, Faculty of Political Sciences (09)
  • [24] ScaleG: A Distributed Disk-based System for Vertex-centric Graph Processing (Extended Abstract)
    Wang, Xubo
    Wen, Dong
    Qin, Lu
    Chang, Lijun
    Zhang, Wenjie
    2022 IEEE 38TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE 2022), 2022, : 1511 - 1512
  • [25] Creation and Interaction with Large-scale Domain-Specific Knowledge Bases
    Bharadwaj, S.
    Chiticariu, L.
    Danilevsky, M.
    Dhingra, S.
    Divekar, S.
    Carreno-Fuentes, A.
    Gupta, H.
    Gupta, N.
    Han, S. -D.
    Hernandez, M.
    Ho, H.
    Jain, P.
    Joshi, S.
    Karanam, H.
    Krishnan, S.
    Krishnamurthy, R.
    Li, Y.
    Manivannan, S.
    Mittal, A.
    Ozcan, F.
    Quamar, A.
    Raman, P.
    Saha, D.
    Sankaranarayanan, K.
    Sen, J.
    Sen, P.
    Vaithyanathan, S.
    Vasa, M.
    Wang, H.
    Zhu, H.
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2017, 10 (12): : 1965 - 1968
  • [26] FAMILIAR: A domain-specific language for large scale management of feature models
    Acher, Mathieu
    Collet, Philippe
    Lahire, Philippe
    France, Robert B.
    SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (06) : 657 - 681
  • [27] A First View of Exedra: A Domain-Specific Language for Large Graph Analytics Workflows
    Dayarathna, Miyuru
    Suzumura, Toyotaro
    PROCEEDINGS OF THE 22ND INTERNATIONAL CONFERENCE ON WORLD WIDE WEB (WWW'13 COMPANION), 2013, : 509 - 516
  • [28] Memory Centric Computation (mc2) for Large-scale Graph Processing
    Ekanadham, Kattamuri
    Cong, Guojing
    2015 27TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 2015, : 49 - 56
  • [29] A Domain-Specific Language For Visualizing Software Dependencies as a Graph
    Bergel, Alexandre
    Maass, Sergio
    Ducasse, Stephane
    Girba, Tudor
    2014 SECOND IEEE WORKING CONFERENCE ON SOFTWARE VISUALIZATION (VISSOFT), 2014, : 45 - 49
  • [30] Extracting Domain-specific Concepts from Large-scale Linked Open Data
    Kume, Satoshi
    Kozaki, Kouji
    PROCEEDINGS OF THE 10TH INTERNATIONAL JOINT CONFERENCE ON KNOWLEDGE GRAPHS (IJCKG 2021), 2021, : 28 - 37