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 2049CD390 for ; Mon, 4 Feb 2013 21:58:14 +0000 (UTC) Received: (qmail 81527 invoked by uid 500); 4 Feb 2013 21:58:13 -0000 Delivered-To: apmail-giraph-user-archive@giraph.apache.org Received: (qmail 81475 invoked by uid 500); 4 Feb 2013 21:58:13 -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 81466 invoked by uid 99); 4 Feb 2013 21:58:13 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Feb 2013 21:58:13 +0000 X-ASF-Spam-Status: No, hits=2.5 required=5.0 tests=FREEMAIL_REPLY,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of apache.mailbox@gmail.com designates 209.85.220.169 as permitted sender) Received: from [209.85.220.169] (HELO mail-vc0-f169.google.com) (209.85.220.169) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Feb 2013 21:58:06 +0000 Received: by mail-vc0-f169.google.com with SMTP id n10so4206224vcn.14 for ; Mon, 04 Feb 2013 13:57:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=jLWYABzP1tDz/9nDEjDXTODryKCzPPkSeej+h31uCyU=; b=Ubu46deJiWBft/5tydN/ijqQYk02GbL/vyUhWzvAr78DTaIE8YO2TFGXp4690n94sp HzZu1CniaNkMq+ZsIexSlOxF4hc9CsMqeTnH/qqMvjbLN4d/3SuNUVmp6cin1+jDkYM8 J3rdBZYnP4slJkft/IUDaA7cwQsxG9Qoo+VPS0WuYRLSqKfbzD0L99rYwG0zjSur9+Fy jTKYmRP1DgY50ECwRnwfgzGda69449KoLoG3464Rk/Rhe1PSNxXkBOFgPm7cbHMr2IzO HT6x+gQle/HbX7haU2IILD9SWD1MsezwtXE0VhCxmFyH2xxxRqdfmddH8nF4ou1ceuLU ShqA== MIME-Version: 1.0 X-Received: by 10.220.238.139 with SMTP id ks11mr23996307vcb.49.1360015065414; Mon, 04 Feb 2013 13:57:45 -0800 (PST) Received: by 10.220.105.138 with HTTP; Mon, 4 Feb 2013 13:57:44 -0800 (PST) In-Reply-To: References: Date: Mon, 4 Feb 2013 13:57:44 -0800 Message-ID: Subject: Re: Inter- and intra-node message passing From: Eli Reisman To: user@giraph.apache.org Content-Type: multipart/alternative; boundary=14dae9cfc84adcfa7604d4ed2ee9 X-Virus-Checked: Checked by ClamAV on apache.org --14dae9cfc84adcfa7604d4ed2ee9 Content-Type: text/plain; charset=ISO-8859-1 i think messages between workers (jvm's) on the same compute node in the cluster will communicate over the netty, but on the loopback addr. messages between worker tasks on different compute nodes will communicate over the network. messages between "workers and themselves" (i.e. between 2 data partitions in the same worker) are placed directly into the data structures concerned as managed within the same worker task, hopefully in a thread-safe manner. So (as I understand it) regardless of the threads on that jvm/worker task, the thing you need to know is: which data partition + worker task is this outgoing message coming from, and to which data partition + worker task is it going. With this, you can determine how the communication is being done. On Mon, Feb 4, 2013 at 12:30 PM, Alexandros Daglis < alexandros.daglis@epfl.ch> wrote: > This helps indeed. Thank you Claudio! > > Alexandros > > > On 4 February 2013 18:48, Claudio Martella wrote: > >> Giraph runs on a Hadoop cluster as a map reduce job. Each worker is hence >> a different task and it runs as a different jvm. This means that you can >> have two workers running in the same machine. Hence it can happen that two >> vertices running on two different workers executed in the same machine >> might exchange messages over the network. The practical impact depends on >> the host operating system. >> On the other side, two vertices residing on the same worker but being >> computed by different compute threads will behave as mentioned in the >> previous email. If you would like to minimize the first behavior, you >> should ensure a single worker is executed on each machine, and set >> adequately the number of compute threads per worker. >> >> Hope this helps, >> Claudio >> >> >> On Monday, February 4, 2013, Daglis Alexandros wrote: >> >>> Hello Claudio, >>> >>> Thank you for your prompt answer! >>> So, vertices that belong to the same worker thread do not require access >>> to the network in order to exchange messages. >>> However, what about *different worker threads* that reside on different >>> cores *of the same node*? >>> >>> Cheers, >>> Alexandros >>> >>> ------------------------------ >>> *From:* Claudio Martella [claudio.martella@gmail.com] >>> *Sent:* Monday, February 04, 2013 6:19 PM >>> *To:* user@giraph.apache.org >>> *Subject:* Re: Inter- and intra-node message passing >>> >>> Hi Alexandros, >>> >>> if two vertices are on the same worker, the message does not pass >>> through the network but it is put directly in the mailbox of the >>> destination vertex. >>> >>> Cheers, >>> Claudio >>> >>> >>> On Mon, Feb 4, 2013 at 6:03 PM, Alexandros Daglis < >>> alexandros.daglis@epfl.ch> wrote: >>> >>>> Hello everybody, >>>> >>>> I was wondering about the message-passing protocol: is there a >>>> difference if two communicating threads are on the same node, as opposed to >>>> being on different ones? Is communication achieved through memory whenever >>>> the threads are local to the node, or does it always default to the >>>> network? >>>> >>>> I tried answering that question by going through the code, but I >>>> haven't seen any high-level difference in handling those two different >>>> cases. I would appreciate if someone could give me a hint on that. >>>> >>>> Thank you in advance. >>>> Alexandros >>>> >>> >>> >>> >>> -- >>> Claudio Martella >>> claudio.martella@gmail.com >>> >> >> >> -- >> Claudio Martella >> claudio.martella@gmail.com >> > > --14dae9cfc84adcfa7604d4ed2ee9 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable i think messages between workers (jvm's) on the same compute node in th= e cluster will communicate over the netty, but on the loopback addr. messag= es between worker tasks on different compute nodes will communicate over th= e network. messages between "workers and themselves" (i.e. betwee= n 2 data partitions in the same worker) are placed directly into the data s= tructures concerned as managed within the same worker task, hopefully in a = thread-safe manner.

So (as I understand it) regardless of the threads on that jvm/worker ta= sk, the thing you need to know is: which data partition + worker task is th= is outgoing message coming from, and to which data partition + worker task = is it going. With this, you can determine how the communication is being do= ne.

On Mon, Feb 4, 2013 at 12:30 PM, Alexandros = Daglis <alexandros.daglis@epfl.ch> wrote:
This helps indeed. Thank you Claudio!

Alexandros


On 4 February 2013 18:48, Claudi= o Martella <claudio.martella@gmail.com> wrote:
Giraph runs on a Hadoop cluster as a map red= uce job. Each worker is hence a different task and it runs as=A0a different= jvm. This means that you can have two workers running in the same machine.= Hence it can happen that two vertices running on two different workers exe= cuted in the same machine might exchange messages over the network. The pra= ctical impact depends on the host operating system.=A0
On the other side, two=A0vertices residing on the same worker = but being computed by different compute threads will behave as mentioned in= the previous email. If you would like to minimize the first behavior, you = should ensure a single worker is executed on each machine, and set adequate= ly the number of compute threads per worker.=A0

Hope this helps,
Claudio=A0


On Monday, February 4, 2013, Daglis Alexandros wrote:
Hello Claudi= o,

Thank you for your prompt answer!
So, vertices that belong to the same worker thread do not require access to= the network in order to exchange messages.
However, what about different worker threads that reside on differen= t cores of the same node?

Cheers,
Alexandros


Fro= m: Claudio Martella [claudio.martella@gmail.com]
Sent: Monday, February 04, 2013 6:19 PM
To: user@giraph.apache.org
Subject: Re: Inter- and intra-node message passing

Hi Alexandros,

if two vertices are on the same worker, the message does not pass thro= ugh the network but it is put directly in the mailbox of the destination ve= rtex.

Cheers,
Claudio


On Mon, Feb 4, 2013 at 6:03 PM, Alexandros Dagli= s <alexandros.daglis@epfl.ch> wrote:
3D""
Hello everybody,

I was wondering about the message-passing protocol: is there a difference i= f two communicating threads are on the same node, as opposed to being on di= fferent ones? Is communication achieved through memory whenever the threads= are local to the node, or does it always default to the network?

I tried answering that question by going through the code, but I haven'= t seen any high-level difference in handling those two different cases. I w= ould appreciate if someone could give me a hint on that.

Thank you in advance.
Alexandros



--
=A0 =A0Claudio Martella
=A0 =A0claudio.martella@gmail.com=A0 =A0


--
=A0 = =A0Claudio Martella
=A0 =A0claudio.martella@gmail.com=A0 =A0


--14dae9cfc84adcfa7604d4ed2ee9--