2013 · 13 citations · 7 references
ComputingComputer ScienceHigh-performance ComputingDistributed SystemsMessage PassingParallel ComputingCollective CommunicationControl-flow AnalysisData-flow AnalysisDeadlock AvoidanceError DetectionInterprocess CommunicationCollective Communication In Parallel ComputingDeadlockDeadlock ResolutionDeadlock VulnerabilitiesStatic Concurrency AnalysisStatic Control-flow AnalysisSynchronization Error DetectionSynchronization In Collective Operations
Collective MPI communications have to be executed in the same order by all processes in their communicator and the same number of times, otherwise a deadlock occurs. As soon as the control-flow involving these collective operations becomes more complex, in particular including conditionals on process ranks, ensuring the correction of such code is error-prone. We propose in this paper a static analysis to detect when such situation occurs, combined with a code transformation that prevents from deadlocking. We show on several benchmarks the small impact on performance and the ease of integration of our techniques in the development process.
7
Automated, scalable debugging of MPI programs with Intel® Message Checker
Jayant DeSouza, Bob Kuhn, Bronis R. de Supinski et al. · 2005 · 94 citations