Abelian: A Compiler for Graph Analytics on Distributed, Heterogeneous Platforms
The University of Texas at Austin, TX 78712, USA
International European Conference on Parallel and Distributed Computing (Euro-Par), 2018
@article{gill2018abelian,
title={Abelian: A Compiler for Graph Analytics on Distributed, Heterogeneous Platforms},
author={Gill, Gurbinder and Dathathri, Roshan and Hoang, Loc and Lenharth, Andrew and Pingali, Keshav},
year={2018}
}
The trend towards processor heterogeneity and distributed-memory has significantly increased the complexity of parallel programming. In addition, the mix of applications that need to run on parallel platforms today is very diverse, and includes graph applications that typically have irregular memory accesses and unpredictable control-flow. To simplify the programming of graph applications on such platforms, we have implemented a compiler called Abelian that translates shared-memory descriptions of graph algorithms written in the Galois programming model into efficient code for distributed-memory platforms with heterogeneous processors. The compiler manages inter-device synchronization and communication while leveraging state-of-the-art compilers for generating devicespecific code. The experimental results show that the novel communication optimizations in the Abelian compiler reduce the volume of communication by 23x, enabling the code produced by Abelian to match the performance of handwritten distributed CPU and GPU programs that use the same runtime. The programs produced by Abelian for distributed CPUs are roughly 2.4x faster than those in the Gemini system, a third-party distributed CPU-only system, demonstrating that Abelian can manage heterogeneity and distributed-memory successfully while generating high-performance code.
July 21, 2018 by hgpu