[Beowulf] multi-threading vs. MPI
richard.walsh at comcast.net
richard.walsh at comcast.net
Fri Dec 7 14:15:25 PST 2007
-------------- Original message --------------
From: "Toon Knapen" <toon.knapen at gmail.com>
How come there is almost unanimous agreement in the beowulf-community while the rest is almost unanimous convinced of the opposite ? Are we just tapping ourselves on the back or is MP not sufficiently dissiminated or ... ?
Mmm ... I think the answer to this is that the rest of world (non-HPC world) is in a time
warp. HPC went through its SMP-threads phase in the early-mid 1990s with OpenMP, and then we needed more a more scalable approach (MPI). Now that multi-core and multi-socket has brought parallelism to the rest of the Universe, SMP-based parallelism has had a resurgence ... this has also naturally caused some in HPC to revisit the question as nodes have fattened.
The allure of a programming model that is intuitive, expressive, symbolically light-weight,
and provides a way to manage the latency variance across memory partitions is irresistable.
I kind of like the CAF extension to Fortran and the concept of co-arrays. The co-array is
and array of identical normal arrays, but one per active image/process. They are defined as such:
real, dimension (N) [*] :: X, Y
If the program is run on 8 cores/processors/images the * becomes 8. 8, 1D arrays of size
N are created on each processor. In any references to the locale component of the co-array
(the image on the processor referencing it), you can drop the []s ... all other references (remote)
must include it. This is symbolically light, but reminds the programmer of every costly non-
local reference with the presence of the []s in the assignment or operation. There is much
more to it than that of course, but as the performance gap between carefully constructed
MPI applications and CAF compiled code shrinks I can see the later gaining some traction
for purely programming elegance related reasons. If you accept that notion that most MPI
programs are written at a B- level in terms of efficiency then the idea of gap closing may not
be so far fetched. CAF is supposed to be include in the Fortran 2008 standard.
rbw
--
"Making predictions is hard, especially about the future."
Niels Bohr
--
Richard Walsh
Thrashing River Consulting--
5605 Alameda St.
Shoreview, MN 55126
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20071207/6ca9dd9b/attachment.html>
-------------- next part --------------
An embedded message was scrubbed...
From: "Toon Knapen" <toon.knapen at gmail.com>
Subject: [Beowulf] multi-threading vs. MPI
Date: Fri, 7 Dec 2007 20:07:32 +0000
Size: 721
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20071207/6ca9dd9b/attachment.mht>
More information about the Beowulf
mailing list