9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Richard Miller <9fans@hamnavoe.com>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] parallel/distributed computation
Date: Sun, 28 Oct 2007 15:21:52 +0000	[thread overview]
Message-ID: <6c8a5500d1d2d2fc0c1d587d96bf3a26@hamnavoe.com> (raw)
In-Reply-To: <13426df10710262244o625804ebs78881f5eefc53549@mail.gmail.com>

> BSP is essentially all about "the inner loop". In this loop, you do
> the work, and, at the bottom of the loop, you tell everyone what you
> have done.
> 
> So you are either computing or communicating.

Not quite accurate.  In BSP, communication is separated from
synchronisation.  During the loop (BSP calls it a "superstep"), each
process does a mixture of computation and asynchronous communication,
in any order.  The computation is only allowed to use data which was
local to that process at the beginning of the superstep.  At the end
of the superstep, there's a global barrier synchronisation.  After the
synchronisation, processes can use the new values which which were
communicated during the previous superstep.  During a superstep,
therefore, computation and communication can and should be overlapped
as much as the algorithm and platform allow.  It's only the barrier
synch at the end which needs to be atomic.

> ... Which means, on your
> $100M computer, that you are using about $50M of it over time. Which
> is undesirable.

In the worst case of exactly equal amounts of computation and
communication, the cost of having no overlap at all would be a
constant factor of 2, but this does not limit scalability.  (Academic
computer scientists don't care about constant factors, except perhaps
in their research grants ...)

> This problem with BSP is well known, which is why some folks have
> tried to time-share the nodes

Mapping multiple virtual processors onto each physical processor to
increase overlap and hide latency was always part of the BSP model.
Valiant's original CACM paper called it "parallel slackness".

Ron is right to say BSP doesn't fit all problems.  I think it's worst
with loosely structured or adaptive algorithms where it's hard to
predict in advance how much work each process will do in a superstep;
then the global synch can be too restrictive.

But where it does fit, the simplicity of the approach gives the usual
benefits of minimalism.  Hence not completely off topic for this list,
I hope.

-- Richard


  parent reply	other threads:[~2007-10-28 15:21 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-17 14:42 lejatorn
2007-10-17 16:13 ` ron minnich
2007-10-17 16:17   ` Eric Van Hensbergen
2007-10-17 16:29     ` David Leimbach
2007-10-17 16:39       ` ron minnich
2007-10-26  9:46         ` Richard Miller
2007-10-26 11:32           ` roger peppe
2007-10-26 12:40             ` Richard Miller
2007-10-26 12:44               ` anyrhine
2007-10-26 15:01           ` ron minnich
2007-10-26 15:04             ` erik quanstrom
2007-10-27  5:44               ` ron minnich
2007-10-27  5:53                 ` erik quanstrom
2007-10-28 15:21                 ` Richard Miller [this message]
2007-10-18  8:42     ` Randolph Fritz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6c8a5500d1d2d2fc0c1d587d96bf3a26@hamnavoe.com \
    --to=9fans@hamnavoe.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).