2012/03/03 by Sungpack Hong, Hassan Chafi, Edic Sedlar +1
Computer Science · #Graph Theory and Algorithms #Network Packet Processing and Optimization #Parallel Computing and Optimization Techniques
paper · doi:10.1145/2248487.2151013
openalex publication_date 2012/03/03 · openalex created_date 2022/05/12 · openalex updated_date 2026/07/25
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.