Return-Path: X-Original-To: apmail-hama-dev-archive@www.apache.org Delivered-To: apmail-hama-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A2A1290B2 for ; Sun, 19 Aug 2012 12:59:39 +0000 (UTC) Received: (qmail 28013 invoked by uid 500); 19 Aug 2012 12:59:39 -0000 Delivered-To: apmail-hama-dev-archive@hama.apache.org Received: (qmail 27957 invoked by uid 500); 19 Aug 2012 12:59:38 -0000 Mailing-List: contact dev-help@hama.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hama.apache.org Delivered-To: mailing list dev@hama.apache.org Received: (qmail 27941 invoked by uid 500); 19 Aug 2012 12:59:38 -0000 Delivered-To: apmail-incubator-hama-dev@incubator.apache.org Received: (qmail 27938 invoked by uid 99); 19 Aug 2012 12:59:38 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Aug 2012 12:59:38 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 124702C05E3 for ; Sun, 19 Aug 2012 12:59:38 +0000 (UTC) Date: Sun, 19 Aug 2012 23:59:38 +1100 (NCT) From: "Thomas Jungblut (JIRA)" To: hama-dev@incubator.apache.org Message-ID: <654782188.27937.1345381178075.JavaMail.jiratomcat@arcas> In-Reply-To: <1293586268.11754.1344021783049.JavaMail.jiratomcat@issues-vm> Subject: [jira] [Commented] (HAMA-619) Hama Pipes MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HAMA-619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437505#comment-13437505 ] Thomas Jungblut commented on HAMA-619: -------------------------------------- Yep that was what I thought als well. So do you think we can assemble a patch and transfer that to the hama trunk? Would like to start with streaming in the next few days and need the protocol. For the testing, if you don't want to provide a testcase I would like to add a follow-up jira for that. > Hama Pipes > ---------- > > Key: HAMA-619 > URL: https://issues.apache.org/jira/browse/HAMA-619 > Project: Hama > Issue Type: New Feature > Components: bsp core, messaging > Affects Versions: 0.6.0 > Reporter: Martin Illecker > Assignee: Martin Illecker > > *Adapting Hadoop Pipes to Hama for C++ integration.* > Today I finished the first version of Hama Pipes. :-) > I have added the package *org.apache.hama.pipes* which contains all pipes specific code. The C++ implementation is located in the *c++* folder under *pipes* and *utils*. There are also some minor modifications in other packages but you can checkout the full Hama source here: [https://svn.illecker.at/hadoop/hama-0.5.0-gpu/] > The working *revision is 32*, for the changelog see [here|http://hadoop.illecker.at/?page_id=6]. > Hama Pipes: [https://svn.illecker.at/hadoop/hama-0.5.0-gpu/core/src/main/java/org/apache/hama/pipes/] > Hama Pipes C++: [https://svn.illecker.at/hadoop/hama-0.5.0-gpu/c++/pipes/] > Hama Pipes provides the following methods for C++ integration: (similar to Hama BSP) > *{{virtual void sendMessage(const string& peerName, const string& msg) = 0;}}* > bq. Send a data with a tag to another BSPSlave corresponding to hostname. Messages sent by this method are not guaranteed to be received in a sent order. > *{{virtual const string& getCurrentMessage() = 0;}}* > bq. Returns a message from the peer's received messages queue (a FIFO). > *{{virtual int getNumCurrentMessages() = 0;}}* > bq. Returns the number of messages in the peer's received messages queue. > *{{virtual void sync() = 0;}}* > {quote} > Barrier Synchronization. > Sends all the messages in the outgoing message queues to the corresponding remote peers. > {quote} > *{{virtual long getSuperstepCount() = 0;}}* > bq. Returns the count of current super-step > > *{{virtual const string& getPeerName() = 0;}}* > bq. Returns the name of this peer in the format "hostname:port". > > *{{virtual const string& getPeerName(int index) = 0;}}* > bq. Returns the name of n-th peer from sorted array by name. > > *{{virtual int getPeerIndex() = 0;}}* > bq. Returns the index of this peer from sorted array by name. > *{{virtual vector getAllPeerNames() = 0;}}* > bq. Returns the names of all the peers executing tasks from the same job (including this peer). > > *{{virtual int getNumPeers() = 0;}}* > bq. Returns the number of peers > > *{{virtual void clear() = 0;}}* > bq. Clears all queues entries. > > *{{virtual void write(const string& key, const string& value) = 0;}}* > bq. Writes a key/value pair to the output collector > > *{{virtual bool readNext(string& key, string& value) = 0;}}* > bq. Deserializes the next input key value into the given objects; > *{{virtual void reopenInput() = 0;}}* > bq. Closes the input and opens it right away, so that the file pointer is at the beginning again. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira