MPI Remote Memory Access (RMA) allows processes to modify the memory of other processes directly. Due to its complexity, however, data races may occur when concurrent conflicting remote or local memory accesses are synchronized incorrectly. Dynamic race detectors for MPI RMA detect those races at runtime. They rely on compile-time instrumentation of all remote and all local memory accesses and subsequently analyze them during program execution. Not all the local memory accesses are relevant for RMA race detection, but their instrumentation leads to unnecessary tool overhead. This paper presents three static analysis approaches that detect irrelevant local memory accesses at compile time to avoid their instrumentation. The analyses are implemented as compiler passes working on LLVM IR. An evaluation using six RMA proxy applications shows that, depending on the application, the static analysis filters reduce the race detection overhead by a factor of 1.3 to 10.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Leveraging Static Analysis to Accelerate Dynamic Race Detection for Remote Memory Access Programs

  • Simon Schwitanski,
  • Yussur Mustafa Oraji,
  • Cornelius Pätzold,
  • Joachim Jenke,
  • Matthias S. Müller

摘要

MPI Remote Memory Access (RMA) allows processes to modify the memory of other processes directly. Due to its complexity, however, data races may occur when concurrent conflicting remote or local memory accesses are synchronized incorrectly. Dynamic race detectors for MPI RMA detect those races at runtime. They rely on compile-time instrumentation of all remote and all local memory accesses and subsequently analyze them during program execution. Not all the local memory accesses are relevant for RMA race detection, but their instrumentation leads to unnecessary tool overhead. This paper presents three static analysis approaches that detect irrelevant local memory accesses at compile time to avoid their instrumentation. The analyses are implemented as compiler passes working on LLVM IR. An evaluation using six RMA proxy applications shows that, depending on the application, the static analysis filters reduce the race detection overhead by a factor of 1.3 to 10.