giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Praveen Sripati <>
Subject Re: Announcing: Green-Marl/Giraph
Date Wed, 11 Jul 2012 04:14:01 GMT
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?


On Wed, Jul 11, 2012 at 7:40 AM, Avery Ching <> 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:
>> 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
>> run 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/
>>     3. Move 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

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message