Principal Investigators: Francisco D. Igual Peña y Carlos García Sánchez.
Start and end dates: 01/09/2022-30/08/2025
Code: PID2021-126576NB-I00
Summary: The shift towards unprecedented levels of resource replication, heterogeneity and specialization of computing systems in the Post-Moore era poses new challenges at all levels of the software stack, particularly for system software (from compilers to the OS or runtime systems/middleware). In order to optimally exploit the new levels of potential performance with minimal user intervention, it is widely accepted that system software will need to adapt its
design and behavior to:
- Transparently offer efficient mechanisms that allow higher degrees of performance portability across architectures, with support from compilers, OS, runtime systems and libraries.
- Apply policies to improve shared resource management leveraging capabilities of modern architectures while fulfilling strict levels of QoS on individual or multi-tenant scenarios.
- Learn and apply the aforementioned policies by observation, automatically characterizing the interaction between applications and architectures.
- Provide support to existing applications to expose a series of application-specific knobs and metrics via standardized APIs, allowing the implementation of elasticity in applications in terms of shared resource usage, allowing efficient resource sharing across applications.
Overall goal: To explore, design and implement new techniques and tools to improve efficient shared resource management and transparent performance portability across applications on multi-application environments, focusing on highly-parallel multi-core architectures featuring heterogeneous and specialized computing resources, with support from Machine Learning tools and techniques, and supported by simulation when necessary.
Objectives
Objective 1. Self-adaptive resource management on heterogeneous multi-tenant scenarios
O1.1. Support for dynamic resource elasticity in applications and runtimes
O1.2. Multi-objective resource management on elastic environments via Reinforcement Learning
O1.3. Acceleration of resource management via DSAs and hardware accelerators
Objective 2. Resource and QoS management on next-generation multi-core architectures
O2.1. Design of a resource-management framework to address shared-resource contention
O2.2. Resource-management within the system software for next-generation multi-cores
Objective 3. Performance portability on next-generation heterogeneous architectures
O3.1. Exploration of new software paradigms for performance portability
O3.2 Exploitation of specialized architectures, new hardware/ISA extensions and asymmetry
Objective 4. Application mapping on next-generation heterogeneous platforms and use cases
O4.1 Application tuning and mapping on next-generation heterogeneous platforms
O4.2 Use cases: heterogeneity and resource management on the IoT-edge-to-cloud continuum