This is really really cool stuff. congratulations! On Wed, Jul 11, 2012 at 3:25 AM, Jan van der Lugt <[email protected]> wrote: > Hi everyone, > > Some of you might already know Green-Marl, Green-Marl compatibility was > even mentioned as a new feature for Giraph 0.2, but for those who don't, > let me give you a quick introduction. > > Green-Marl is a domain-specific language tailored to graph algorithms. It > has many features that makes it possible to write graph algorithms very > concise and intuitive. For example, it has built-in constructs for graphs, > node properties, and traversals. A more complete description is given here: > http://ppl.stanford.edu/papers/asplos12_hong.pdf. Apart from the language, > there is also a Green-Marl compiler that compiles the language to different > targets. C++/OpenMP was initially supported, after which support for > Stanford GPS (a Pregel-clone developed at Stanford) was added for a subset > of the features in the Green-Marl language. The big advantage of using a > language like Green-Marl is that it enables you to write implicitly > parallel programs in an intuitive way with the compiler doing most of the > heavy work such as generating the messaging, converting pull-based > operation (remote reading) to push-based operations (message sending), etc. > In the last few months I have worked on a few features in Giraph that > enable Green-Marl to target Giraph as a back-end (namely GIRAPH-127, > GIRAPH-192 and GIRAPH-216). Since these have all been merged, Green-Marl > and Giraph should be compatible as of last week! > > Using Green-Marl with Giraph is very simple, as long as you have a working > Hadoop/Giraph environment. Since the Green-Marl compiler is a > source-to-source compiler, it is very easy to use it in an existing set-up. > The steps to using Green-Marl are like this: > > 1. Download the Green-Marl compiler from > https://github.com/stanford-ppl/Green-Marl, run make_dirs.sh in the > top-level dir and run make in the src dir. A more detailed explanation is > given in the Github readme. > 2. Compile one of the examples (in the top-level directory) like > this: bin/gm_comp -t=giraph apps/src/pagerank.gm > 3. Move pagerank.java to the Giraph src directory or your own project, > package it into a .jar and go! > 4. Explore more examples, modify them and start writing your own > > Green-Marl is actively being worked on within Oracle Labs, new features are > being added to the language (such as collection node properties) and > support for these features will be added to the distributed back-ends in > the near future. > > In case of questions or suggestions, please send us a message! Feedback is > very much appreciated and people are more than welcome to contribute > everything from small bugfixes to entire back-ends ;-) > > - Jan
-- Claudio Martella [email protected]
