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 条
  • [11] Fast Failure Recovery in Vertex-Centric Distributed Graph Processing Systems
    Lu, Wei
    Shen, Yanyan
    Wang, Tongtong
    Zhang, Meihui
    Jagadish, H. V.
    Du, Xiaoyong
    IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2019, 31 (04) : 733 - 746
  • [12] Pimiento: A Vertex-Centric Graph-Processing Framework on a Single Machine
    Huang, Jianqiang
    Qin, Wei
    Wang, Xiaoying
    Chen, Wenguang
    ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP 2019, PT II, 2020, 11945 : 42 - 56
  • [13] GraphD: Distributed Vertex-Centric Graph Processing Beyond the Memory Limit
    Yan, Da
    Huang, Yuzhen
    Liu, Miao
    Chen, Hongzhi
    Cheng, James
    Wu, Huanhuan
    Zhang, Chengcui
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2018, 29 (01) : 99 - 114
  • [14] Con2KG-A Large-scale Domain-Specific Knowledge Graph
    Goyal, Nidhi
    Sachdeva, Niharika
    Choudhary, Vijay
    Kar, Rijula
    Kumaraguru, Ponnurangam
    Rajput, Nitendra
    PROCEEDINGS OF THE 30TH ACM CONFERENCE ON HYPERTEXT AND SOCIAL MEDIA (HT '19), 2019, : 287 - 288
  • [15] iPregel: Strategies to Deal with an Extreme Form of Irregularity in Vertex-Centric Graph Processing
    Capelli, Ludovic Anthony Richard
    Brown, Nick
    Bull, Jonathan Mark
    2019 IEEE/ACM 9TH WORKSHOP ON IRREGULAR APPLICATIONS - ARCHITECTURES AND ALGORITHMS (IA3), 2019, : 45 - 50
  • [16] Mermaid: Integrating Vertex-Centric with Edge-Centric for Real-World Graph Processing
    Zhou, Jinhong
    Xu, Chongchong
    Chen, Xianglan
    Wang, Chao
    Zhou, Xuehai
    2017 17TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID), 2017, : 780 - 783
  • [17] ScaleG: A Distributed Disk-Based System for Vertex-Centric Graph Processing
    Wang, Xubo
    Wen, Dong
    Qin, Lu
    Chang, Lijun
    Zhang, Ying
    Zhang, Wenjie
    IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2023, 35 (02) : 2019 - 2033
  • [18] Composing Optimization Techniques for Vertex-Centric Graph Processing via Communication Channels
    Zhang, Yongzhe
    Hu, Zhenjiang
    2019 IEEE 33RD INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2019), 2019, : 428 - 438
  • [19] Performance Modeling of Computation and Communication Tradeoffs in Vertex-Centric Graph Processing Clusters
    Abdolrashidi, Amirreza
    Ramaswamy, Lakshmish
    Narron, David Seamus
    2014 INTERNATIONAL CONFERENCE ON COLLABORATIVE COMPUTING: NETWORKING, APPLICATIONS AND WORKSHARING (COLLABORATECOM), 2014, : 55 - 63
  • [20] SGL: A domain-specific language for large-scale analysis of open-source code
    Foo, Darius
    Yi, Ang Ming
    Yeo, Jason
    Sharma, Asankhaya
    2018 IEEE CYBERSECURITY DEVELOPMENT CONFERENCE (SECDEV 2018), 2018, : 61 - 68