(3.1.4) OpenMP

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.,