Optimizing Declarative Parallel Distributed Graph Processing by Using Constraint Solvers.

Akimasa Morihata,Kento Emoto,Kiminori Matsuzaki,Zhenjiang Hu,Hideya Iwasaki
DOI: https://doi.org/10.1007/978-3-319-90686-7_11
2018-01-01
Abstract:Vertex-centric graph processing is a promising approach for facilitating development of parallel distributed graph processing programs. Each vertex is regarded as a tiny thread and graph processing is described as cooperation among vertices. This approach resolves many issues in parallel distributed processing such as synchronization and load balancing. However, it is still difficult to develop efficient programs requiring careful problem-specific tuning. We present a method for automatically optimizing vertex-centric graph processing programs. The key is the use of constraint solvers to analyze the subtle properties of the programs. We focus on a functional vertex-centric graph processing language, Fregel, and show that quantifier elimination and SMT (Satisfiability Modulo Theories) are useful for optimizing Fregel programs. A preliminary experiment indicated that a modern SMT solver can perform optimization within a realistic time frame and that our method can significantly improve the performance of naively written declarative vertex-centric graph processing programs.
What problem does this paper attempt to address?