[Beowulf] multi-threading vs. MPI
Geoff Jacobs
gdjacobs at gmail.com
Sat Dec 8 09:35:03 PST 2007
richard.walsh at comcast.net wrote:
>
>
> -------------- 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
But isn't CAF (and UPC, and Titanium) implicitly message passing for a
Beowulf anyway? It's attractive because it simplifies the process and
might be able to optimize communication, but underneath everything it's
still message passing.
--
Geoffrey D. Jacobs
To have no errors
would be life without meaning
No struggle, no joy
More information about the Beowulf
mailing list