DMRlib: Easy-coding and efficient resource management for job malleability

[EN] Process malleability has proved to have a highly positive impact on the resource utilization and global productivity in data centers compared with the conventional static resource allocation policy. However, the non-negligible additional development effort this solution imposes has constrained...

Descripción completa

Detalles Bibliográficos
Autores: Iserte, Sergio, Mayo, Rafael, Peña Monferrer, Antonio José, Quintana-Ortí, Enrique S.|||0000-0002-5454-165X
Tipo de recurso: artículo
Fecha de publicación:2021
País:España
Institución:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglés
OAI Identifier:oai:riunet.upv.es:10251/183162
Acceso en línea:https://riunet.upv.es/handle/10251/183162
Access Level:acceso abierto
Palabra clave:Runtime
Libraries
Resource management
Programming
Standards
Syntactics
Throughput
Processes reconfiguration
MPI malleability
Job elastic resize
Dynamic reallocation of resources
Productivity-aware computation
ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES
Descripción
Sumario:[EN] Process malleability has proved to have a highly positive impact on the resource utilization and global productivity in data centers compared with the conventional static resource allocation policy. However, the non-negligible additional development effort this solution imposes has constrained its adoption by the scientific programming community. In this work, we present DMRlib, a library designed to offer the global advantages of process malleability while providing a minimalist MPI-like syntax. The library includes a series of predefined communication patterns that greatly ease the development of malleable applications. In addition, we deploy several scenarios to demonstrate the positive impact of process malleability featuring different scalability patterns. Concretely, we study two job submission modes (rigid and moldable) in order to identify the best-case scenarios for malleability using metrics such as resource allocation rate, completed jobs per second, and energy consumption. The experiments prove that our elastic approach may improve global throughput by a factor higher than 3x compared to the traditional workloads of non-malleable jobs