Think like a vertex, behave like a function! a functional DSL for vertex-centric big graph processing

Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Akimasa Morihata, H. Iwasaki
{"title":"Think like a vertex, behave like a function! a functional DSL for vertex-centric big graph processing","authors":"Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Akimasa Morihata, H. Iwasaki","doi":"10.1145/2951913.2951938","DOIUrl":null,"url":null,"abstract":"The vertex-centric programming model, known as “think like a vertex”, is being used more and more to support various big graph processing methods through iterative supersteps that execute in parallel a user-defined vertex program over each vertex of a graph. However, the imperative and message-passing style of existing systems makes defining a vertex program unintuitive. In this paper, we show that one can benefit more from “Thinking like a vertex” by “Behaving like a function” rather than “Acting like a procedure” with full use of side effects and explicit control of message passing, state, and termination. We propose a functional approach to vertex-centric graph processing in which the computation at every vertex is abstracted as a higher-order function and present Fregel, a new domain-specific language. Fregel has clear functional semantics, supports declarative description of vertex computation, and can be automatically translated into Pregel, an emerging imperative-style distributed graph processing framework, and thereby achieve promising performance. Experimental results for several typical examples show the promise of this functional approach.","PeriodicalId":336660,"journal":{"name":"Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming","volume":"6 6","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2951913.2951938","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 14

Abstract

The vertex-centric programming model, known as “think like a vertex”, is being used more and more to support various big graph processing methods through iterative supersteps that execute in parallel a user-defined vertex program over each vertex of a graph. However, the imperative and message-passing style of existing systems makes defining a vertex program unintuitive. In this paper, we show that one can benefit more from “Thinking like a vertex” by “Behaving like a function” rather than “Acting like a procedure” with full use of side effects and explicit control of message passing, state, and termination. We propose a functional approach to vertex-centric graph processing in which the computation at every vertex is abstracted as a higher-order function and present Fregel, a new domain-specific language. Fregel has clear functional semantics, supports declarative description of vertex computation, and can be automatically translated into Pregel, an emerging imperative-style distributed graph processing framework, and thereby achieve promising performance. Experimental results for several typical examples show the promise of this functional approach.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
像顶点一样思考,像函数一样行动!一个以顶点为中心的大图处理的功能性DSL
以顶点为中心的编程模型,被称为“像顶点一样思考”,正被越来越多地用于支持各种大型图处理方法,通过迭代的超步骤,在图的每个顶点上并行执行用户定义的顶点程序。然而,现有系统的命令式和消息传递风格使得定义顶点程序变得不直观。在本文中,我们展示了通过“像函数一样行为”而不是“像过程一样行为”,充分利用副作用和对消息传递、状态和终止的显式控制,可以从“像顶点一样思考”中获益更多。我们提出了一种以顶点为中心的图处理的函数方法,该方法将每个顶点的计算抽象为一个高阶函数,并提出了一种新的领域特定语言Fregel。Fregel具有清晰的功能语义,支持顶点计算的声明性描述,并且可以自动转换为Pregel,这是一种新兴的命令式分布式图处理框架,因此具有很好的性能。几个典型例子的实验结果显示了这种函数方法的前景。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Think like a vertex, behave like a function! a functional DSL for vertex-centric big graph processing Deriving a probability density calculator (functional pearl) Fully abstract compilation via universal embedding Automatically disproving fair termination of higher-order functional programs Allocation characterizes polyvariance: a unified methodology for polyvariant control-flow analysis
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1