Monday April 15, 2013
Hassan Chafi (Oracle)
The increasing importance of graph-data based applications is fueling the need for highly efﬁcient and parallel implementations of graph analysis software. In this talk, we describe Green-Marl, a domain-speciﬁc language (DSL) for graph analysis. Green-Marl’s high level language constructs allow developers to describe their graph analysis algorithms intuitively, while at the same time exposing 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 a variety of targets including an efﬁcient 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 also show how we can use the same DSL to target a distributed graph runtime, Giraph, with a very different computational model from that expressible by the DSL.
We demonstrate how 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.
Hassan Chafi is Research Manager at Oracle Labs where he currently leads Project Q. His research investigates using domain specific languages (DSLs) to simplify parallel programming. Hassan’s PhD thesis work at Stanford focused on building a Domain Specific Language Infrastructure, Delite. His was advised by Dr. Kunle Olukotun. Prior to that, Hassan worked in the area of hardware transactional memory as part of the Transactional Coherence and Consistency (TCC) project at Stanford where he developed a scalable extension to the original TCC protocol.