Distributed Shared Memory Systems and Programming
In the last lecture we looked at shared memory systems from
the standpoint of supercomputing, trying to get the most out
of our supercomputer. In this lecture, we look at shared
memory systems more like in the textbook, trying to get the
most out of a computer lab of mostly idle workstations or PCs.
For this second standpoint, there are also two approaches:
we can take the OpenMP philosophy to clusters, gaining an
ease of use at the expense of performance, or use WMPI,
a Windows implementation of MPI.
We sketched the layered implementation of MPI and
the policies to manage shared data, in particular the
update and invalid policies.
We ended the lecture contrasting the GOMP project with the
"pragma ibm" directives in the compiler documentation.