[Beowulf] RE: programming multicore clusters
Jim Lux
James.P.Lux at jpl.nasa.gov
Fri Jun 15 15:51:32 PDT 2007
At 12:16 PM 6/15/2007, Greg Lindahl wrote:
>On Fri, Jun 15, 2007 at 09:57:08AM -0400, Joe Landman wrote:
>
> > First, shared memory is nice and simple as a programming model.
>
>Uhuh. You know, there are some studies going where students learning
>parallel programming do the same algorithm with MPI and with shared
>memory. Would you like to make a bet as to whether they found shared
>memory much easier?
only if they have a test and set/semaphore mechanism provided.
One thing I find that's nice about message passing, as a conceptual
model, is that the concept of "simultaneity" cannot exist. There's
always some finite time between the data existing in place A and the
same data existing in place B.
So, if you program in a message passing model, you have to explicitly
think about such things. Right from the start you have to deal with
issues like "ships passing in the night", and that's a big hurdle
from the "one process on one giant block of memory" that most things
start out with. Shared Memory is sort of a parallel hardware
implementation of the multiple threads in a classic single CPU
multithreaded kernel. Instead of context switching all the time, each
processor keeps its own context.
James Lux, P.E.
Spacecraft Radio Frequency Subsystems Group
Flight Communications Systems Section
Jet Propulsion Laboratory, Mail Stop 161-213
4800 Oak Grove Drive
Pasadena CA 91109
tel: (818)354-2075
fax: (818)393-6875
More information about the Beowulf
mailing list