Two automated techniques for analyzing and debugging Mpi-based programs

Message Passing Interface (MPI) is the most commonly used paradigm in writing parallel programs since it can be employed not only within a single processing node but also across several connected ones. Data flow analysis concepts, techniques and tools are needed to understand and analyze MPI-based programs to detect bugs arise in these programs. In this paper we propose two automated techniques to analyze and debug MPI-based programs source codes.

[1]  Ken Kennedy,et al.  Analysis of event synchronization in a parallel programming tool , 1990, PPOPP '90.

[2]  George Bosilca,et al.  Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation , 2004, PVM/MPI.

[3]  Bronis R. de Supinski,et al.  Dynamic Software Testing of MPI Applications with Umpire , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[4]  Dale R. Shires,et al.  Program Flow Graph Construction For Static Analysis of MPI Programs , 1999, PDPTA.

[5]  Richard M. Stallman,et al.  Debugging with GDB: The GNU Source-Level Debugger , 1999 .

[6]  Yu Yang,et al.  Distributed Dynamic Partial Order Reduction Based Verification of Threaded Software , 2007, SPIN.

[7]  Yu Yang,et al.  Gauss: A Framework for Verifying Scientific Computing Software , 2006, Electron. Notes Theor. Comput. Sci..

[8]  Hua Chen,et al.  MPI‐CHECK: a tool for checking Fortran 90 MPI programs , 2003, Concurr. Comput. Pract. Exp..

[9]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[10]  Martin R. Woodward,et al.  An integrated system for program testing using weak mutation and data flow analysis , 1985, ICSE '85.

[11]  Victor Samofalov,et al.  Automated, scalable debugging of MPI programs with Intel® Message Checker , 2005, SE-HPCS '05.

[12]  Joel Huselius,et al.  Debugging Parallel Systems: A State of the Art Report , 2002 .

[13]  Michael M. Resch,et al.  MPI I/O Analysis and Error Detection with MARMOT , 2004, PVM/MPI.

[14]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[15]  Dirk Grunwald,et al.  An Efficient Construction of Parallel Static Single Assignment Form for Structured Parallel Programs , 1991 .

[16]  John Cocke,et al.  A program data flow analysis procedure , 1976, CACM.

[17]  William Gropp,et al.  MPICH2: A New Start for MPI Implementations , 2002, PVM/MPI.

[18]  Ken Kennedy,et al.  Compile-time detection of race conditions in a parallel program , 1989, ICS '89.

[19]  Guillaume Mercier,et al.  Implementation and evaluation of shared-memory communication and synchronization operations in MPICH2 using the Nemesis communication subsystem , 2007, Parallel Comput..

[20]  ProgramsCheer-Sun D. Yang,et al.  The Challenges in Automated Testing of Multithreaded , 1997 .

[21]  Nicholas Nethercote,et al.  Valgrind: a framework for heavyweight dynamic binary instrumentation , 2007, PLDI '07.

[22]  Alaa Ismail Elnashar,et al.  An algebraic specification of message passing programming languages , 2009 .