| Formal verification of practical MPI programs |
| Full text |
Pdf
(505 KB)
|
Source
|
Principles and Practice of Parallel Programming
archive
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
table of contents
Raleigh, NC, USA
SESSION: High end computing software
table of contents
Pages 261-270
Year of Publication: 2009
ISBN:978-1-60558-397-6
Also published in ...
|
|
Authors
|
|
Anh Vo
|
University of Utah, Salt Lake City, UT, USA
|
|
Sarvani Vakkalanka
|
University of Utah, Salt Lake City, UT, USA
|
|
Michael DeLisi
|
University of Utah, Salt Lake City, UT, USA
|
|
Ganesh Gopalakrishnan
|
University of Utah, Salt Lake City, UT, USA
|
|
Robert M. Kirby
|
University of Utah, Salt Lake City, UT, USA
|
|
Rajeev Thakur
|
Argonne National Laboratory, Lemont, IL, USA
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 31, Downloads (12 Months): 200, Citation Count: 1
|
|
|
ABSTRACT
This paper considers the problem of formal verification of MPI programs operating under a fixed test harness for safety properties without building verification models. In our approach, we directly model-check the MPI/C source code, executing its interleavings with the help of a verification scheduler. Unfortunately, the total feasible number of interleavings is exponential, and impractical to examine even for our modest goals. Our earlier publications formalized and implemented a partial order reduction approach that avoided exploring equivalent interleavings, and presented a verification tool called ISP. This paper presents algorithmic and engineering innovations to ISP, including the use of OpenMP parallelization, that now enables it to handle practical MPI programs, including:(i)~ParMETIS - a widely used hypergraph partitioner, and (ii)~MADRE - a Memory Aware Data Re-distribution Engine, both developed outside our group. Over these benchmarks, ISP has automatically verified up to 14K lines of MPI/C code, producing error traces of deadlocks and assertion violations within seconds.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
 |
3
|
|
| |
4
|
|
| |
5
|
P. Godefroid.Partial-Order Methods for the Verification of Concurrent Systems: An approach to the State-Explosion Problem. PhD thesis, Universite De Liege, 1994--95.
|
| |
6
|
P. Godefroid, B. Hanmer, and L. Jagadeesan. Systematic software testing using VeriSoft: An analysis of the 4ess heart-beat monitor. Bell Labs Technical Journal, 3(2), April-June 1998.
|
| |
7
|
|
| |
8
|
G. Karypis. METIS and ParMETIS. http://glaros.dtc.umn.edu/gkhome/views/metis.
|
| |
9
|
|
| |
10
|
B. Krammer, K. Bidmon, M. S. Müller, and M. M. Resch. Marmot: An MPI analysis and checking tool. In Parallel Computing 2003, Sept. 2003.
|
 |
11
|
|
| |
12
|
|
| |
13
|
G. Luecke, H. Chen, J. Coyle, J. Hoekstra, M. Kraeva, and Y. Zou. MPI-CHECK: A tool for checking Fortran 90 MPI programs. Concurrency and Computation: Practice and Experience, 15:93--100, 2003.
|
 |
14
|
|
| |
15
|
V. Prasad. Scalable and Accurate Approaches to Program Dependence Analysis, Slicing, and Verification of Concurrent Object Oriented Programs. PhD thesis, Kansas State University, 2006.
|
| |
16
|
Subodh Sharma , Sarvani Vakkalanka , Ganesh Gopalakrishnan , Robert M. Kirby , Rajeev Thakur , William Gropp, A Formal Approach to Detect Functionally Irrelevant Barriers in MPI Programs, Proceedings of the 15th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface, September 07-10, 2008, Dublin, Ireland
[doi> 10.1007/978-3-540-87475-1_36]
|
| |
17
|
S. V. Sharma, G. Gopalakrishnan, and R. M. Kirby. A survey of MPI related debuggers and tools. Technical Report UUCS-07-015, University of Utah, School of Computing, 2007. http://www.cs.utah.edu/research/techreports.shtml.
|
| |
18
|
S. Siegel. The MADRE manual. http://vsl.cis.udel.edu/madre/.
|
| |
19
|
S. F. Siegel and G. S. Avrunin. Verification of MPI-based software for scientific computation. In Proceedings of the 11th International SPIN Workshop on Model Checking Software, pages 286--303, 2004.
|
| |
20
|
|
| |
21
|
|
| |
22
|
S. Vakkalanka, M. DeLisi, G. Gopalakrishnan, and R. M. Kirby. Scheduling considerations for building dynamic verification tools for MPI. In Parallel and Distributed Systems -- Testing and Debugging (PADTAD-VI), July 2008.
|
| |
23
|
Sarvani Vakkalanka , Michael Delisi , Ganesh Gopalakrishnan , Robert M. Kirby , Rajeev Thakur , William Gropp, Implementing Efficient Dynamic Formal Verification Methods for MPI Programs, Proceedings of the 15th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface, September 07-10, 2008, Dublin, Ireland
[doi> 10.1007/978-3-540-87475-1_34]
|
| |
24
|
|
| |
25
|
|
| |
26
|
Y. Yang, X. Chen, G. Gopalakrishnan, and R. M. Kirby. Distributed dynamic partial order reduction based verification of threaded software. In SPIN, Lecture Notes in Computer Science, pages 58--75. Springer, 2007.
|
| |
27
|
Yu Yang , Xiaofang Chen , Ganesh Gopalakrishnan , Robert M. Kirby, Efficient Stateful Dynamic Partial Order Reduction, Proceedings of the 15th international workshop on Model Checking Software, August 10-12, 2008, Los Angeles, CA, USA
[doi> 10.1007/978-3-540-85114-1_20]
|
CITED BY
|
|
Junfeng Yang , Tisheng Chen , Ming Wu , Zhilei Xu , Xuezheng Liu , Haoxiang Lin , Mao Yang , Fan Long , Lintao Zhang , Lidong Zhou, MODIST: transparent model checking of unmodified distributed systems, Proceedings of the 6th USENIX symposium on Networked systems design and implementation, p.213-228, April 22-24, 2009, Boston, Massachusetts
|
|