[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