Precise dynamic analysis for slack elasticity: adding buffering without adding bugs

  • Authors:
  • Sarvani Vakkalanka;Anh Vo;Ganesh Gopalakrishnan;Robert M. Kirby

  • Affiliations:
  • School of Computing, Univ. of Utah, Salt Lake City, UT;School of Computing, Univ. of Utah, Salt Lake City, UT;School of Computing, Univ. of Utah, Salt Lake City, UT;School of Computing, Univ. of Utah, Salt Lake City, UT

  • Venue:
  • EuroMPI'10 Proceedings of the 17th European MPI users' group meeting conference on Recent advances in the message passing interface
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Increasing the amount of buffering for MPI sends is an effective way to improve the performance of MPI programs. However, for programs containing non-deterministic operations, this can result in new deadlocks or other safety assertion violations. Previous work did not provide any characterization of the space of slack elastic programs: those for which buffering can be safely added. In this paper, we offer a precise characterization of slack elasticity based on our formulation of MPI's happens before relation. We show how to efficiently locate potential culprit sends in such programs: MPI sends for which adding buffering can increase overall program non-determinism and cause new bugs. We present a procedure to minimally enumerate potential culprit sends and efficiently check for slack elasticity. Our results demonstrate that our new algorithm called POEMSE which is incorporated into our dynamic verifier ISP can efficiently run this new analysis on large MPI programs.