Green-Marl: a DSL for easy and efficient graph analysis

S Hong, H Chafi, E Sedlar, K Olukotun - Proceedings of the seventeenth …, 2012 - dl.acm.org
Proceedings of the seventeenth international conference on Architectural …, 2012dl.acm.org
The increasing importance of graph-data based applications is fueling the need for highly
efficient and parallel implementations of graph analysis software. In this paper we describe
Green-Marl, a domain-specific language (DSL) whose high level language constructs allow
developers to describe their graph analysis algorithms intuitively, but expose the data-level
parallelism inherent in the algorithms. We also present our Green-Marl compiler which
translates high-level algorithmic description written in Green-Marl into an efficient C++ …
The increasing importance of graph-data based applications is fueling the need for highly efficient and parallel implementations of graph analysis software. In this paper we describe Green-Marl, a domain-specific language (DSL) whose high level language constructs allow developers to describe their graph analysis algorithms intuitively, but expose the data-level parallelism inherent in the algorithms. We also present our Green-Marl compiler which translates high-level algorithmic description written in Green-Marl into an efficient C++ implementation by exploiting this exposed data-level parallelism. Furthermore, our Green-Marl compiler applies a set of optimizations that take advantage of the high-level semantic knowledge encoded in the Green-Marl DSL. We demonstrate that graph analysis algorithms can be written very intuitively with Green-Marl through some examples, and our experimental results show that the compiler-generated implementation out of such descriptions performs as well as or better than highly-tuned hand-coded implementations.
ACM Digital Library