Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Re: [Python-Dev] multiprocessing vs. distributed processing

Thread Tools

Re: [Python-Dev] multiprocessing vs. distributed processing

James Mills
Posts: n/a
On Fri, Jan 16, 2009 at 6:30 PM, Matthieu Brucher
<(E-Mail Removed)> wrote:
> 2009/1/16 James Mills <(E-Mail Removed)>:
>> I've noticed over the past few weeks lots of questions
>> asked about multi-processing (including myself).

> Funny, I was going to blog about this, but not just for Python.
>> For those of you new to multi-processing, perhaps this
>> thread may help you. Some things I want to start off
>> with to point out are:
>> "multiprocessing will not always help you get things done faster."

> Of course. There are some programs that are I/O or memory bandwidth
> bound. So if one of those bottlenecks is common to the cores you use,
> you can't benefit from their use.
>> "be aware of I/O bound applications vs. CPU bound"

> Exactly. We read a lot about Folding@Home, SETI@Home, they can be
> distributed, as it is more or less "take a chunk, process it somewhere
> and when you're finish tell me if there something interesting in it".
> Not a lot of communications between the nodes. Then, there are other
> applications that process a lot of data, they must read data from
> memory, make one computation, read other data, compute a little bit
> (finite difference schemes), and here we are memory bandwidth bound,
> not CPU bound.
>> "multiple CPUs (cores) can compute multiple concurrent expressions -
>> not read 2 files concurrently"

> Let's say that this is true for the usual computers. Clusters can make
> concurrent reads, as long as there is the correct architecture behind.
> Of course, if you only have one hard disk, you are limited.
>> "in some cases, you may be after distributed processing rather than
>> multi or parallel processing"

> Of course. Clusters can be expensive, their interconnections even
> more. So if your application is made of independent blocks that can
> run on small nodes, without much I/Os, you can try distributed
> computing. If you need big nodes with high-speed interconnections, you
> will have to use parallel processing.
> This is just what my thoughts on the sucjet are, but I think I'm not
> far from the truth. Of course, if I'm proved wrong, I'll be glad to
> hear why.

Thank you Matthieu for your response.
Very good comments on some of the points
I raised. Hopefully those interested in the topic
will learn from this thread.


PS: I assumed you meant to post back to the list and not just me
Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
[ANN] fairy: A framework for distributed processing Hajime Masuda Ruby 5 12-07-2010 02:31 PM
multiprocessing vs. distributed processing James Mills Python 0 01-16-2009 05:52 AM
Distributed Processing Library For Java Java 20 07-04-2007 03:57 AM
Post-Processing RAW vs Post-Processing TIFF Mike Henley Digital Photography 42 01-30-2005 08:26 AM
Question: processing HTML, re-write default processing action of many tags Hubert Hung-Hsien Chang Python 2 09-17-2004 03:10 PM