Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
ACM Computing Surveys (CSUR)
Debugging Concurrent Ada Programs by Deterministic Execution
IEEE Transactions on Software Engineering
Optimal tracing and replay for debugging message-passing parallel programs
Proceedings of the 1992 ACM/IEEE conference on Supercomputing
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
Debugging race conditions in message-passing programs
SPDT '96 Proceedings of the SIGMETRICS symposium on Parallel and distributed tools
Debugging with the MAD environment
Parallel Computing - Special double issue on environment and tools for parallel scientific computing
RecPlay: a fully integrated practical record/replay system
ACM Transactions on Computer Systems (TOCS)
Systematic macrostep debugging of message passing parallel programs
Future Generation Computer Systems - Special issue on distributed and parallel systems
Replay and Testing for Concurrent Programs
IEEE Software
Debugging OpenMP Programs Using Event Manipulation
WOMPAT '01 Proceedings of the International Workshop on OpenMP Applications and Tools: OpenMP Shared Memory Parallel Programming
NOPE: A Nondeterministic Program Evaluator
ParNum '99 Proceedings of the 4th International ACPC Conference Including Special Tracks on Parallel Numerics and Parallel Computing in Image Processing, Video Processing, and Multimedia: Parallel Computation
An Integrated Record&Replay Mechanism for Nondeterministic Message Passing Programs
Proceedings of the 8th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Improving distributed memory applications testing by message perturbation
Proceedings of the 2006 workshop on Parallel and distributed systems: testing and debugging
MPIRace-check: detection of message races in MPI programs
GPC'07 Proceedings of the 2nd international conference on Advances in grid and pervasive computing
Exploring unexpected behavior in MPI
HPCC'06 Proceedings of the Second international conference on High Performance Computing and Communications
Hi-index | 0.00 |
Nondeterministic program behavior can lead to different results in subsequent program runs based on the same input data. This kind of problem can be seen in any program, but is even magnified in a parallel execution context due to the existence of several independent but communicating tasks. Even though this kind of nondeterminism is commonplace and in many cases even useful for the implementation of applications, it often leads to sporadically occurring errors. These bugs are difficult to reproduce and represent a heavy challenge during testing and debugging. The biggest problem, however, may be the unawareness of users about the existence of nondeterministic choices and their consequences. In order to raise the awareness and to provoke discussions about this serious problem, this paper provides an exemplary overview of nondeterministic behavior in message passing programs. With simple examples, it is demonstrated how nondeterminism can vigorously affect the behavior and the final results of software and how the behavior can change between different architectures.