giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan van der Lugt <janl...@gmail.com>
Subject Re: Announcing: Green-Marl/Giraph
Date Wed, 11 Jul 2012 05:48:37 GMT
Hello Praveen,

This very much depends on the algorithm. Due to some recent optimizations
(intra-loop merging) many algorithms should be as fast as hand-implemented
code. Publications on this subject are in preparation. The only Giraph
feature we do not currently use is combiners, but we are thinking about
generating those automatically as well.

- Jan

On Tue, Jul 10, 2012 at 9:14 PM, Praveen Sripati
<praveensripati@gmail.com>wrote:

> 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 <aching@apache.org> 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
> >>
> >>
> >
> >
>

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