Leonardo Dagumand and Ramesh Menon, OpenMP: An Industry Standard API for Shared Memory Programming. IEEE Computational Science and Engineering, Jan-Mar, 1998. IEEE Xplore link, Local uw link |
Scalable hardware exists : k-ary n-cube, fat tree, multistage interconnect
MPI typical scalable approach.
zeroth order scalable : no cache coherence, just scalable interconnect network (MPI to sync, coh)
SSMP : scalable Shared memory multiprocessor. (MPI can be built on)
writing code? : not portable!
Why SSMP : fast shared memory locks, directly access mem throughout the system
MPI
-- need to explicitly partition data structures.
pthreads : task parallelism, not data p.
OpenMP
compiler primitives + callable runtime library routines
fork/join execution model.
Control Structure > parallel, do and single
Data env > share, private or reduction (sum = sum + 1), copyin etc.,
syncronization > Implicit (beginning and end of parallel), removed with no wait clause
> Explicit : Atomic, Flush
runtime library > query and lock function etc.,