Nice to know about `Green-Marl`. Abstraction would make working with Graphs more easy, but also would also add a bit of a performance overhead. Has any study been done on the same?
Thanks, Praveen On Wed, Jul 11, 2012 at 7:40 AM, Avery Ching <[email protected]> wrote: > This is really cool stuff. > > Avery > > > On 7/10/12 6:25 PM, Jan van der Lugt 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<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<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 >> >> > >
