FG-MPI: Fine-Grain MPI
Current implementations of MPI are coarse-grained, with a single MPI process per processor, however, there is nothing in the MPI specification precluding a finer-grain interpretation of the standard. We have implemented Fine-grain MPI (FG-MPI), a system that allows execution of hundreds and thousands of MPI processes on one node or communicating between nodes inside a cluster. FG-MPI uses fibers (coroutines) to support multiple MPI processes inside an operating system process. These are full-fledged MPI processes each with their own MPI rank. FG-MPI is based on MPICH2 middleware and uses the Nemesis communication subsystem for intra-node and inter-node communication. We present experimental results for applications using thousands of MPI processes and compare its performance with several fine-grain multicore languages. FG-MPI also made it possible to investigate problems related to scaling of MPI to a larger number of processes. We have also designed and evaluated techniques to support the scalability of communicators and groups in MPI.
Publications
Humaira Kamal, Seyed Mirtaheri and Alan Wagner. Scalability of Communicators and Groups in MPI. In 19th ACM International Symposium on High Performance Distributed Computing (HPDC), June 2010. [ pdf ]
Humaira Kamal and Alan Wagner. FG-MPI: Fine-grain MPI for multicore and clusters. In 11th IEEE Intl. Workshop on Parallel and Distributed Scientific and Engineering Computing (PDSEC) held in conjunction with IPDPS-24, April 2010. [ doi ]
Downloads
- More information to come.
People
Alan Wagner, Associate Professor (http://people.cs.ubc.ca/~wagner/)
Humaira Kamal, Ph.D. Student (http://people.cs.ubc.ca/~humaira/)
Seyed Mirtaheri, M.Sc. Student
Cody Brown, M.Sc. Student (http://people.cs.ubc.ca/~cody/)