Publication Type |
technical report |
School or College |
College of Engineering |
Department |
Computing, School of |
Program |
Advanced Research Projects Agency |
Creator |
Li, Guodong; Gopalakrishnan, Ganesh; Kirby, Robert Michael II |
Other Author |
Palmer, Robert; DeLisi, Michael |
Title |
Formal specification of MPI 2.0: case study in specifying a practical concurrent programming API |
Date |
2009 |
Description |
We describe the rst formal speci cation of a non-trivial subset of MPI, the dominant communication API in high performance computing. Engineering a formal speci cation for a non-trivial concurrency API requires the right combination of rigor, executability, and traceability, while also serving as a smooth elaboration of a pre-existing informal speci - cation. It also requires the modularization of reusable speci cation components to keep the length of the speci cation in check. Long-lived APIs such as MPI are not usually `textbook minimalistic' because they support a diverse array of applications, a diverse community of users, and have ef cient implementations over decades of computing hardware. We choose the TLA+ notation to write our speci cations, and describe how we organized the speci - cation of 150 of the 300 MPI 2.0 functions. We detail a handful of these functions in this paper, and assess our speci cation with respect to the aforesaid requirements. We close with a description of possible approaches that may help render the act of writing, understanding, and validating speci cations much more productive. |
Type |
Text |
Publisher |
University of Utah |
Subject |
MPI 2.0 |
Language |
eng |
Bibliographic Citation |
Li, G., Palmer, R., DeLisi, M., Gopalakrishnan, G., & Kirby, R. M. II. (2009). Formal specification of MPI 2.0: case study in specifying a practical concurrent programming API. UUCS-09-003. |
Series |
University of Utah Computer Science Technical Report |
Relation is Part of |
ARPANET |
Rights Management |
©University of Utah |
Format Medium |
application/pdf |
Format Extent |
741,638 bytes |
Source |
University of Utah School of Computing |
ARK |
ark:/87278/s69s2860 |
Setname |
ir_uspace |
ID |
703503 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s69s2860 |