9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: tlaronde@polynum.com
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] current state of thread programming
Date: Wed, 30 Jul 2008 22:04:06 +0200	[thread overview]
Message-ID: <20080730200406.GA3823@polynum.com> (raw)
In-Reply-To: <d6208458d6551cb798595b8eff1a20a5@plan9.bell-labs.com>

On Wed, Jul 30, 2008 at 02:58:48PM -0400, Sape Mullender wrote:
> >
> > It's a kind of parallelism, of course. But since it makes sense, it is
> > not "parallelism" as the trend is today ;)
>
> I don't know what the trend is today.  If the trend is defined by what
> Linux does then I'm not very curious.

Since my pseudo-english is only what it is, I hope that "kind of
parallelism" is not interpreted pejoratively. I mean a "form of
parallelism", a "way of using parallelism", etc.

>
> I think of parallel programming as a technique for finishing some algorithm faster.
>

I do agree with what you wrote and emphasize particularily this
sentence : parallelism doesn't _solve_ a problem; it delivers
the solution sooner. That's why I'm saying that an algorithm (that is
the expression of a solution) is sequential. But organization can be
parallel.

But indeed CSP is also a solution (above concurrency/"parallelism") to
solve a kind of problems. It is not mere parallelism, it is a way of
using/dealing with concurrency (a form of parallelism).


Real world example (about "parallelism", not CSP): geometrical
application, vectorial data, transforming "spaghettis" into
topologically correct data (connected edges). I had debugged an
existing program. It was finally giving an acceptable result, but
it was not scalable.

The "trend" today would be: convert to "threads" to go faster.

But the problem was not to parallelize a poor algorithm. The problem was
to find the correct data structure and "sequential" algorithm for this
data and its manipulations.

It happens that once these are found (or at least better ones),
the program could be naturally parallelized (even simply by splitting
the data into chunks; running distinct processes on the distinct
chunks; and concatenating the results). Parallelism is a by-product. It
was not a goal. And it simply can transform a program taking n *
some_unit_of_time, in a program taking something near 1 some_unit_of_time
given n cores. But the main gain was the big O of the sequential
algorithm.

A better algorithm improves the solution or the delivery of the solution
on a single CPU. Parallelization doesn't improve the solution or the
delivery of a solution on a single CPU (it may even worsen the times).

Cheers,
--
Thierry Laronde (Alceste) <tlaronde +AT+ polynum +dot+ com>
                 http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



  reply	other threads:[~2008-07-30 20:04 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <9b1933b61c606e89a4cbbc93a4b5a204@quanstro.net>
2008-07-30 17:31 ` tlaronde
2008-07-30 18:58   ` Sape Mullender
2008-07-30 20:04     ` tlaronde [this message]
2008-08-05 10:34 Richard Maxwell Underwood
2008-08-05 15:28 ` Eris Discordia
  -- strict thread matches above, loose matches on Subject: below --
2008-07-30 12:50 erik quanstrom
2008-07-28 17:11 andrey mirtchovski
2008-07-28 17:50 ` tlaronde
2008-07-28 19:52   ` Pietro Gagliardi
2008-07-28 21:07     ` Russ Cox
2008-07-28 21:33       ` Skip Tavakkolian
2008-07-29 18:40   ` Roman V. Shaposhnik
2008-07-29 19:12     ` Bakul Shah
2008-07-30 11:35       ` tlaronde
2008-07-30 11:50         ` Roman V. Shaposhnik
2008-07-30 13:50           ` Paweł Lasek
2008-07-30 17:42           ` tlaronde
2008-07-30 18:07           ` tlaronde
2008-07-30 18:17           ` andrey mirtchovski
2008-07-30 11:58         ` Robert Raschke
2008-07-30 13:53         ` David Leimbach
2008-07-30 14:00         ` andrey mirtchovski
2008-07-30 15:35           ` Roman V. Shaposhnik
2008-07-30 16:53           ` Bakul Shah

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=20080730200406.GA3823@polynum.com \
    --to=tlaronde@polynum.com \
    --cc=9fans@9fans.net \
    /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).