Formal specification of MPI 2.0: Case study in specifying a practical concurrent programming API

作者: Guodong Li , Robert Palmer , Michael DeLisi , Ganesh Gopalakrishnan , Robert M. Kirby

DOI: 10.1016/J.SCICO.2010.03.007

关键词:

摘要: We describe the first formal specification of a non-trivial subset MPI, dominant communication API in high performance computing. Engineering for concurrency requires right combination rigor, executability, and traceability, while also serving as smooth elaboration pre-existing informal specification. It modularization reusable components to keep length check. Long-lived APIs such MPI are not usually 'textbook minimalistic' because they support diverse array applications, community users, have efficient implementations over decades computing hardware. choose TLA+ notation write our specifications, how we organized around 200 300 2.0 functions. detail handful these functions this paper, assess with respect aforementioned requirements. close description possible approaches that may help render act writing, understanding, validating specifications much more productive.

参考文章(41)
Stephen F Siegel, GEORGE S Avrunin, ANALYSIS OF MPI PROGRAMS ,(2003)
Martín Abadi, Leslie Lamport, Stephan Merz, A TLA Solution to the RPC-Memory Specification Problem Formal Systems Specification, The RPC-Memory Specification Case Study (the book grow out of a Dagstuhl Seminar, September 1994). pp. 21- 66 ,(1996) , 10.1007/BFB0024426
Salman Pervez, Ganesh Gopalakrishnan, Robert M. Kirby, Rajeev Thakur, William Gropp, Formal Verification of Programs That Use MPI One-Sided Communication Recent Advances in Parallel Virtual Machine and Message Passing Interface. pp. 30- 39 ,(2006) , 10.1007/11846802_13
Jesper Larsson Träff, William Gropp, Rajeev Thakur, Self--consistent MPI performance requirements PVM/MPI'07 Proceedings of the 14th European conference on Recent Advances in Parallel Virtual Machine and Message Passing Interface. pp. 36- 45 ,(2007) , 10.1007/978-3-540-75416-9_12
Flemming Nielson, Chris Hankin, Hanne R. Nielson, Principles of program analysis ,(1999)
Jeffrey M. Squyres, Andrew Lumsdaine, A Component Architecture for LAM/MPI Recent Advances in Parallel Virtual Machine and Message Passing Interface. pp. 379- 387 ,(2003) , 10.1007/978-3-540-39924-7_52
Daniel Jackson, Alloy: A New Technology for Software Modelling tools and algorithms for construction and analysis of systems. pp. 20- 20 ,(2002) , 10.1007/3-540-46002-0_2
M. Clavel, F. Durán, S. Eker, P. Lincoln, N. Martí-Oliet, J. Meseguer, J. F. Quesada, The Maude System rewriting techniques and applications. pp. 240- 243 ,(1999) , 10.1007/3-540-48685-2_18
J. P. Couriat, Michel Diaz, J. P. Ansart, Formal Description Technique Estelle: Results of the Esprit Sedos Project Elsevier Science Inc.. ,(1989)
William D. Gropp, Learning from the Success of MPI ieee international conference on high performance computing data and analytics. pp. 81- 94 ,(2001) , 10.1007/3-540-45307-5_8