Distributed Shared Memory Systems and Hybrid MPI/OpenMP Programming

We started Chapter 9 in the book with a closer look at copper, a cluster of 12 nodes, each node is a shared memory multicomputer with 32 processors. Closer examination of the three levels of cache and their particular sizes revealed that it is worthwhile to make distinguish the 32 processors on one node as groups of 2 or 8, because of L2 and L3 caches are shared by 2 and 8 processors respectively.

Discussing the several levels of parallelism brought us to considering a hybrid MPI/OpenMP approach which has many benefits: fewer "heavyweight" UNIX processes, and increased speedup and greater efficiency, as multithreading can keep idle MPI processes busy. We ended the lecture sketching a hybrid MPI/OpenMP strategy to implement a parallel Jacobi method.