TY - GEN
T1 - Simplifying Scalable Graph Processing with a Domain-Specific Language
AU - Hong, Sungpack
AU - Salihoglu, Semih
AU - Widom, Jennifer
AU - Olukotun, Kunle
N1 - KAUST Repository Item: Exported on 2020-10-01
Acknowledgements: This work was funded by DARPA Contract, Xgraphs; Languageand Algorithms for Heterogeneous Graph Streams, FA8750-12-2-0335; Army contract AHPCRC W911NF-07-2-0027-1; the Na-tional Science Foundation (IIS-0904497) and a KAUST researchgrant; Stanford PPL affiliates program, Pervasive Parallelism Lab:Oracle, AMD, Intel, NVIDIA, and Huawei. Authors also acknowl-edge additional support from Oracle.
This publication acknowledges KAUST support, but has no KAUST affiliated authors.
PY - 2014
Y1 - 2014
N2 - Large-scale graph processing, with its massive data sets, requires distributed processing. However, conventional frameworks for distributed graph processing, such as Pregel, use non-traditional programming models that are well-suited for parallelism and scalability but inconvenient for implementing non-trivial graph algorithms. In this paper, we use Green-Marl, a Domain-Specific Language for graph analysis, to intuitively describe graph algorithms and extend its compiler to generate equivalent Pregel implementations. Using the semantic information captured by Green-Marl, the compiler applies a set of transformation rules that convert imperative graph algorithms into Pregel's programming model. Our experiments show that the Pregel programs generated by the Green-Marl compiler perform similarly to manually coded Pregel implementations of the same algorithms. The compiler is even able to generate a Pregel implementation of a complicated graph algorithm for which a manual Pregel implementation is very challenging.
AB - Large-scale graph processing, with its massive data sets, requires distributed processing. However, conventional frameworks for distributed graph processing, such as Pregel, use non-traditional programming models that are well-suited for parallelism and scalability but inconvenient for implementing non-trivial graph algorithms. In this paper, we use Green-Marl, a Domain-Specific Language for graph analysis, to intuitively describe graph algorithms and extend its compiler to generate equivalent Pregel implementations. Using the semantic information captured by Green-Marl, the compiler applies a set of transformation rules that convert imperative graph algorithms into Pregel's programming model. Our experiments show that the Pregel programs generated by the Green-Marl compiler perform similarly to manually coded Pregel implementations of the same algorithms. The compiler is even able to generate a Pregel implementation of a complicated graph algorithm for which a manual Pregel implementation is very challenging.
UR - http://hdl.handle.net/10754/599620
UR - http://dl.acm.org/citation.cfm?doid=2581122.2544162
U2 - 10.1145/2581122.2544162
DO - 10.1145/2581122.2544162
M3 - Conference contribution
SN - 9781450326704
BT - Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization - CGO '14
PB - Association for Computing Machinery (ACM)
ER -