I will be attending a lecture from some of the Stanford folks on this soon, will let you know how it goes. This development can aid adoption of GIraph more widely!
On Wed, Jul 11, 2012 at 12:57 PM, Claudio Martella < [email protected]> wrote: > 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] >
