Reflective On-Chip Resource Management Policies for Energy-Efficient Heterogeneous Multiprocessors
Emerging mobile SoCs are increasingly incorporating heterogeneity in order to provide energy-efficiency while meeting performance requirements. Effective exploitation of power-performance tradeoffs in heterogeneous many-core platforms (HMPs), however, requires intelligent management at different layers, in particular at the operating system level. Operating systems need to continuously analyze the application behavior and find a proper answer for questions such as: What is the most power efficient core type to execute the application without violating its performance requirements? or Which option is more power-efficient for the current application: an out-of-order core at a lower frequency or an inorder core at a higher frequency? Unfortunately, existing operating systems do not offer mechanisms to properly address these questions and therefore are unable to fully exploit architectural heterogeneity for scalable energy-efficient execution of dynamic workloads.
In this thesis we present our vision of a holistic approach for performing resource allocation decisions and power management by leveraging concepts from reflective software. The general idea of reflection is to change your actions based on both external feedback and introspection (i.e., self-assessment). From a system perspective, this translates into performing resource management actuation considering both sensing information (e.g., readings from performance counters, power sensors, etc.) to assess the current system state, as well as models to predict the behavior of the system before performing an action. In this context, this thesis makes the following contributions:
• It describes MARS, a Middleware for Adaptive Reflective computer Systems. MARS consists of a toolchain for creating resource managers that allows users to easily compose models and policies that interact in a hierarchy defined by the granularity of the actuations performed in the system. MARS is implemented and evaluated on top a real Linux-based platform. Furthermore, MARS also provides an offline simulation infrastructure for fast prototyping of policies and large-scale or long-term policy evaluation.
• It proposes a performance/power modeling approach for HMPs which takes into account the effect of both microarchitecture-level components as well as system-level components such as the operating scheduler.
• It proposes a runtime task mapping approach for energy efficient HMPs. Energy efficient task-to-core mapping is done by combining on-chip sensor data and models of the underlying operating systems components implemented within MARS. It achieves average energy reductions of 23% when compared to the state-of-art task mapping techniques, while achieving similar performance.
• It proposes aging models to provide reliability-aware task-mapping for mobile HMPs. These contributions have shown that the extensive use of models to predict how the system will react to actuations is a promising scheme to pave the path towards more energy efficient heterogeneous systems. In this context, a framework which enables reflective resource management is an important building block to tackle the growing complexity of battery-powered devices.