[Beowulf] multi-threading vs. MPI

Eray Ozkural examachine at gmail.com
Wed Dec 12 02:28:25 PST 2007


On Dec 11, 2007 2:40 AM, Joe Landman <landman at scalableinformatics.com> wrote:
> Our view has always been use what you are comfortable with, and what you
> need.  If you need to run across a cluster, use MPI.  If you need to run
> across a single large memory machine, use OpenMP.
>
> FWIW:  I would suggest learning both.  With the advent of many-core
> workstations, and accelerator systems with many many cores, programming
> these things is more likely to be mediated by a compiler (OpenMP like)
> than putting MPI stacks on the Cell SPUs (not enough local scratchpad
> ram for it).
>
> Just my $0.02, and I hope I generated light, and very little heat.

Thanks for your comments. I've seen that OpenMP is much easier to
develop with than MPI, which in my experience takes a lot of time to
program with due to its low-level nature and complicated side-effects.
I would in fact prefer to use implicit parallelism in a high-level
language (functional) to program complicated memory architectures.
Which doesn't exist in the way I imagine it due to the
short-sightedness of programming language people. I don't think that
the programmer should be too involved with the exact details of
caches, etc. It doesn't make too much sense to me. Back in the day, I
learned how to write assembly code that fits in some 256 byte code
cache. But how do you do that kind of optimization in a large scale
NUMA architecture, what if you move the code to a slightly different
architecture? The OpenMP model is superior to old ways of programming
shared memory systems (like the awful pthreads), but as the
architectures get more complicated I doubt that it will allow the
programmers to extract sufficient performance from those systems.

BTW, is OpenMP usable with the Cell processor on the Playstation 3? I wondered.

Best,

-- 
Eray Ozkural, PhD candidate.  Comp. Sci. Dept., Bilkent University, Ankara
http://www.cs.bilkent.edu.tr/~erayo  Malfunct: http://myspace.com/malfunct
ai-philosophy: http://groups.yahoo.com/group/ai-philosophy



More information about the Beowulf mailing list