Return-Path: X-Original-To: apmail-giraph-user-archive@www.apache.org Delivered-To: apmail-giraph-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2767E940E for ; Wed, 11 Jul 2012 01:25:32 +0000 (UTC) Received: (qmail 27122 invoked by uid 500); 11 Jul 2012 01:25:32 -0000 Delivered-To: apmail-giraph-user-archive@giraph.apache.org Received: (qmail 26956 invoked by uid 500); 11 Jul 2012 01:25:31 -0000 Mailing-List: contact user-help@giraph.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@giraph.apache.org Delivered-To: mailing list user@giraph.apache.org Received: (qmail 26783 invoked by uid 99); 11 Jul 2012 01:25:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Jul 2012 01:25:31 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of janlugt@gmail.com designates 209.85.214.180 as permitted sender) Received: from [209.85.214.180] (HELO mail-ob0-f180.google.com) (209.85.214.180) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Jul 2012 01:25:27 +0000 Received: by obbuo19 with SMTP id uo19so839525obb.11 for ; Tue, 10 Jul 2012 18:25:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type; bh=4v4zde0qf1n0qAT9Pf6Six1oSHf/y+j/VKHmXcYHgH4=; b=VMP8trTaGZ+tNS79Jmv16hHpvfEKF3F4t5VEzSaWPpYqTIE3nEtFgi8nnh0IzWh/ky T0WQaHGlQdiLStXABr52ynneBhGfBjt+jVMKeKaKsSCIJoyk+5aaWUAQ8Q/qlGNVlUvz 93mpJq9EGjoTNIu88dVRf9ck8pYpRrmn/wpSUQsD8hG8gcBfPyb1yQhu+Fy+VzbUAYgn beMf6V7JzKZy6zn3BglLSX7CRGIK8Gqyt0tNXaP6uXtSp67a7adS9y/vKKNme+AYxrit 9pBYkH2I3mUP6HEAGLGxQOT6XYiFxdbqU1MRpTRC+kaSSiI//AtMvKswOC5KgEKilphj 81bQ== MIME-Version: 1.0 Received: by 10.182.222.39 with SMTP id qj7mr43224372obc.16.1341969906497; Tue, 10 Jul 2012 18:25:06 -0700 (PDT) Sender: janlugt@gmail.com Received: by 10.76.141.229 with HTTP; Tue, 10 Jul 2012 18:25:06 -0700 (PDT) Date: Tue, 10 Jul 2012 18:25:06 -0700 X-Google-Sender-Auth: lRCVsM9pfJuuviePwMRR29bAHEo Message-ID: Subject: Announcing: Green-Marl/Giraph From: Jan van der Lugt To: dev@giraph.apache.org, user@giraph.apache.org Cc: Sungpack Hong Content-Type: multipart/alternative; boundary=f46d0444738393776c04c483b7fd X-Virus-Checked: Checked by ClamAV on apache.org --f46d0444738393776c04c483b7fd Content-Type: text/plain; charset=ISO-8859-1 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 --f46d0444738393776c04c483b7fd Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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 gr= aph algorithms. It has many features that makes it possible to write graph = algorithms very concise and intuitive. For example, it has built-in constru= cts for graphs, node properties, and traversals. A more complete descriptio= n is given here:=A0http://ppl.stanford.edu/papers/asplos12_hong.pdf= . Apart from the language, there is also a Green-Marl compiler that compile= s the language to different targets. C++/OpenMP was initially supported, af= ter which support for Stanford GPS (a Pregel-clone developed at Stanford) w= as added for a subset of the features in the Green-Marl language. The big a= dvantage of using a language like Green-Marl is that it enables you to writ= e implicitly parallel programs in an intuitive way with the compiler doing = most of the heavy work such as generating the messaging, converting pull-ba= sed 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 Gira= ph 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 compile= r 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=A0https://github.com/stanf= ord-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.<= /li>
  2. Compile one of the examples (in the top-level directory) like this:=A0b= in/gm_comp -t=3Dgiraph apps/src/pagerank.gm<= /a>
  3. Move pagerank.java to the Giraph src directory or your own proj= ect, package it into a .jar and go!
  4. Explore more examples, modify them and start writing your own

In case of questions or suggestions, please send us a m= essage! Feedback is very much appreciated and people are more than welcome = to contribute everything from small bugfixes to entire back-ends ;-)

- Jan

--f46d0444738393776c04c483b7fd--