MARMOT: an MPI analysis and checking tool. This chapter discusses MARMOT, a tool to check during runtime if message passing interface (MPI) application conforms to the MPI standard— that is, if resources like communicators, datatypes etc., and other parameters are handled correctly. Another problem with parallel programs is the occurrence of race conditions or deadlocks. Examples are the introduction of irreproducibility, deadlocks, and incorrect management of resources like communicators, groups, datatypes, and operators. The benchmark results show that the use of MARMOT introduces a certain overhead, especially when the execution is serialized. As the development of MARMOT is still ongoing, the main emphasis has so far been on implementing its functionality and not on optimizing its performance. However, the benchmarks results show that for applications with a reasonable communication to computation ratio, the overhead of using MARMOT is below 20%–50% on up to 16 processors. The idea of MARMOT is to verify the standard conformance of an MPI program automatically during runtime and help to debug the program in case of problems

Keywords for this software

Anything in here will be replaced on browsers that support the canvas element