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.
