24
Languages
•Shared memory is difficult to use (races, synch); not efficiently implemented; not realistic
•Message passing with sequential language (C | Fortran) + (MPI | PVM) is current standard
–Least common denominator -- runs everywhere
–A huge amount of work (6x code explosion)
–Only the API is standard; semantics vary, making any program implementation-specific; limit porta’ty
–Message passing is costly on architectures with “good” communication, e.g. 1-sided, SMP
Use msg passing if you must; but there’s a better way