Abstract
The Pilot library is a new method for programming MPI-enabled clusters in C, targeted at novice parallel programmers. Formal elements from Communicating Sequential Processes (CSP) are used to realize a process/channel model of parallel computation that reduces opportunities for deadlock and other communication errors. This simple model, plus an application programming inter-face (API) styled after C's formatted I/O, are designed to make the library easy to learn. The Pilot library exists as a thin layer on top of any standard Message Passing Interface (MPI) implementation, preserving MPI's portability and efficiency, with little per-formance overhead arising as result of Pilot's additional features.
- Message Passing Interface Forum. MPI: A Message Passing Inter-face. In Supercomputing '93: Proceedings of the 1993 ACM/IEEE conference on Supercomputing, pages 878--883, New York, NY, USA, 1993. ACM Press. Google ScholarDigital Library
- Message Passing Interface Forum. MPI: A Message-Passing Inter-face Standard Version 2.1 {online}. September 2008 {cited 07/17/2009}. Available from: http://www.mpi-forum.org/docs/mpi21-report.pdf.Google Scholar
- C. A. R. Hoare. Communicating Sequential Processes. Communications of the ACM, 21(8):pp. 666--677, 1978. Google ScholarDigital Library
- Intel MPI benchmarks IMB {online, cited 07/17/2009}. Available from: http://software.intel.com/en-us/articles/intel-mpi-benchmarks/.Google Scholar
- Intel. Intel MPI Benchmarks, Users Guide and Methodology Description. Intel GmbH, Germany, 2004.Google Scholar
- Viliyana Takeva-Velkova and Dhavide Aruliah. Image reconstruction from parallel MRI using Pilot. In SHARCNET Research Day, University of Waterloo, May 21 2009.Google Scholar
- Natalie Girard and G. Grewal. Comparison of Pilot and MPI implementations of parallel scatter search. In SHARCNET Research Day, University of Waterloo, May 21 2009.Google Scholar
Index Terms
- The pilot library for novice MPI programmers
Recommendations
The pilot library for novice MPI programmers
PPoPP '10: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingThe Pilot library is a new method for programming MPI-enabled clusters in C, targeted at novice parallel programmers. Formal elements from Communicating Sequential Processes (CSP) are used to realize a process/channel model of parallel computation that ...
Implementation and performance analysis of non-blocking collective operations for MPI
SC '07: Proceedings of the 2007 ACM/IEEE conference on SupercomputingCollective operations and non-blocking point-to-point operations have always been part of MPI. Although non-blocking collective operations are an obvious extension to MPI, there have been no comprehensive studies of this functionality. In this paper we ...
Using the pilot library to teach message-passing programming
EduHPC '14: Proceedings of the Workshop on Education for High-Performance ComputingMessage-passing is the staple of HPC codes, and MPI has long occupied the place of HPC's default programming paradigm, thus it would seem to be the natural choice for instructing undergraduates. Nonetheless, MPI is a low-level API, complex and tricky to ...
Comments