paperbot · PL 论文追踪

全部论文 待读 收藏

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

Fregel:一种面向顶点中心大规模图处理的函数式领域特定语言
JFP vol.322022匹配度 1/10 · 该论文属于函数式DSL与图计算编译优化,不涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户当前核心研究方向基本无关。引用 7 inbox
HIDEYA IWASAKI, KENTO EMOTO, AKIMASA MORIHATA, KIMINORI MATSUZAKI, ZHENJIANG HU
crossref: 2026-09-10

AI 速览

一句话:提出纯函数式DSL Fregel,以组合式图函数编写顶点中心程序,并编译到Giraph/Pregel+。

现有顶点中心图处理系统采用命令式、显式消息传递风格,导致顶点程序编写不直观且困难,且优化通常依赖手工完成。本文提出Fregel,一种用于大规模图处理的纯函数式领域特定语言,并介绍其模型、设计与实现。Fregel是Haskell的子集,可借助Haskell工具测试和调试;它通过Fregel提供的图上二阶函数,以组合式编程抽象顶点中心计算。Fregel程序可编译为Giraph和Pregel+中的命令式程序,其无副作用的函数特性支持编译期变换与优化,从而免除程序员手工优化负担。典型示例实验表明,编译后的代码具有合理且有前景的性能。

问题
现有顶点中心图处理系统的命令式、显式消息传递风格使顶点程序难以直观编写,且程序优化往往需要手工完成。
方法
设计纯函数式DSL Fregel,作为Haskell子集,用图上二阶函数的组合式编程抽象顶点中心计算,并将程序编译为Giraph/Pregel+的命令式代码,利用无副作用特性进行变换与优化。
评估
通过典型图处理示例进行实验,结果表明编译生成的代码可以以合理且有前景的性能执行。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot1626,
  title = {Fregel: a functional domain-specific language for vertex-centric large-scale graph processing},
  author = {HIDEYA IWASAKI and KENTO EMOTO and AKIMASA MORIHATA and KIMINORI MATSUZAKI and ZHENJIANG HU},
  journal = {Journal of Functional Programming},
  volume = {32},
  year = {2022},
  doi = {10.1017/s0956796821000277}
}