Table of Contents
Fetching ...

Dynamic reconfiguration for malleable applications using RMA

Iker Martín-Álvarez, José I. Aliaga, Maribel Castillo

TL;DR

The paper addresses efficient data redistribution for malleable MPI applications by introducing six RMA-based, one-sided data redistribution methods within the MaM/Proteo framework and extending Wait Drains for background reconfiguration. It systematically compares these RMA approaches against traditional collective-based redistribution, revealing that initialization overhead of memory windows largely offsets potential gains in many scenarios, though background progress remains non-disruptive to application execution. The main contributions are the design of two RMA redistribution methods, two background strategies (Threading and Wait Drains), and a thorough experimental evaluation across blocking, non-blocking, and threaded configurations. Practically, the work highlights current limitations of one-sided redistribution and points to future optimizations (e.g., a single dynamic window per source) to make malleable reconfiguration more cost-effective.

Abstract

This paper investigates the novel one-sided communication methods based on remote memory access (RMA) operations in MPI for dynamic resizing of malleable applications, enabling data redistribution with minimal impact on application execution. After their integration into the MaM library, these methods are compared with traditional collective-based approaches. In addition, the existing strategy Wait Drains is extended to support efficient background reconfiguration. Results show comparable performance, though high initialization costs currently limit their advantage.

Dynamic reconfiguration for malleable applications using RMA

TL;DR

The paper addresses efficient data redistribution for malleable MPI applications by introducing six RMA-based, one-sided data redistribution methods within the MaM/Proteo framework and extending Wait Drains for background reconfiguration. It systematically compares these RMA approaches against traditional collective-based redistribution, revealing that initialization overhead of memory windows largely offsets potential gains in many scenarios, though background progress remains non-disruptive to application execution. The main contributions are the design of two RMA redistribution methods, two background strategies (Threading and Wait Drains), and a thorough experimental evaluation across blocking, non-blocking, and threaded configurations. Practically, the work highlights current limitations of one-sided redistribution and points to future optimizations (e.g., a single dynamic window per source) to make malleable reconfiguration more cost-effective.

Abstract

This paper investigates the novel one-sided communication methods based on remote memory access (RMA) operations in MPI for dynamic resizing of malleable applications, enabling data redistribution with minimal impact on application execution. After their integration into the MaM library, these methods are compared with traditional collective-based approaches. In addition, the existing strategy Wait Drains is extended to support efficient background reconfiguration. Results show comparable performance, though high initialization costs currently limit their advantage.

Paper Structure

This paper contains 15 sections, 3 equations, 9 figures, 3 algorithms.

Figures (9)

  • Figure 1: Init_RMA flowchart for a background redistribution with RMA.
  • Figure 2: Complete_RMA flowchart for a background redistribution with RMA.
  • Figure 3: Reconfiguration times(s) in blocking versions, showing the speedups relative to COL for each pair ($NS \rightarrow ND$).
  • Figure 4: Total time after applying Equation \ref{['eq:test2']} for NB and WD versions. The speedups relative to COL-NB are also shown for each pair ($NS \rightarrow ND$).
  • Figure 5: Relative increment of execution time when redistribution runs in background, represented by $\omega$, for NB and WD versions.
  • ...and 4 more figures