Comparison of MPI and OpenMP
Study of advantages and disadvantages of MPI vs. OpenMP programming on the multicore architecture.
Parallel computers using the multicore technology are becoming widespread. Today, even an ordinary PC has more than one processor core, in principle a mini parallel computer by itself. In order to unleash the computing power on multicore-based architectures, an appropriate programming model is essential. Today's two most widely used programming models are MPI http://www.mpi-forum.org/ and OpenMPhttp://www.openmp.org/. For a PC having several processor cores, both the programming approaches can be used.
Theoretically, OpenMP should be a better approach because of both OpenMP's simplicity and a multicore PC's underlying shared memory (and cache). However, it is yet to be seen that OpenMP clearly beats MPI on the multicore. To get a better understanding of this behavior, we need to carry out a detailed study by looking closely at issues such as communication overhead, the benefits and also disadvantages of shared memory and cache. A number of standard simulators for numerical computations will be used as the testbed.
After finishing the thesis, the master student is expected to get rich knowledge of state-of-the-art computer hardware, and the capability of using the two most widespread parallel programming approaches.
The master project is worth 60 credits, and the supervisor is Prof. Xing Cai.