Dynamic Management of Multi-Core Processor Resources to Improve Energy Efficiency under Quality-of-Service Constraints
Doctoral thesis, 2022


With the current technology trends, the number of computers and computation demand is increasing dramatically. In addition to different economic and environmental costs at a large scale, the operational time of battery-powered devices is dependent on how efficiently the computer processors consume energy.

Computer processors generally consist of several processing cores and a hierarchy of cache memory that includes both private and shared cache capacity among the cores. A resource management algorithm can adjust the configuration of different core and cache resources at regular intervals during run-time, according to the dynamic characteristics of the workload.

A typical resource management policy is to maximize performance, in terms of processing speed or throughput, without exceeding the power and thermal limits. However, this can lead to excessive energy expenditure since a higher performance does not necessarily increase the value of the outcome. For example, increasing the frame-rate of multi-media applications beyond a certain target will not improve user experience considerably. Therefore, applications should be associated with Quality-of-Service (QoS) targets. This way, the resource manager can search for configurations with minimum energy that does not violate the performance constraints of any application. To achieve this goal, we propose several resource management schemes as well as hardware and software techniques for performance and energy modeling, in three papers that constitute this thesis.

In the first paper, we demonstrate that, in many cases, independent management of resources such as per-core dynamic voltage-frequency scaling (DVFS) and cache partitioning fails to save a considerable energy without causing any performance degradation. Therefore, we present a coordinated resource management algorithm that saves considerable energy by exploring different combinations of resource allocations to all applications, at regular intervals during run-time. This scheme is based on simplified analytical performance and energy models and a multi-level reduction technique for reducing the dimensions of the multi-core configuration space.

In the second paper, we extend the coordinated resource management with dynamic adaptation of the core micro-architectural resources. This way, we include instruction- and memory-level parallelism, ILP and MLP, resp., in the resource trade-offs together with per-core DVFS and cache partitioning. This provides a powerful means to further improve energy savings. Additionally, to enable this scheme, we propose a hardware technique that improves the accuracy of performance and energy prediction for different core sizes and cache partitionings.

Finally, in the third paper, we demonstrate that substantial improvements in energy savings are possible by allowing short-term deviations from the baseline performance target. We measure these deviations by introducing a parameter called slack. Based on this, we present Cooperative Slack Management (CSM) that finds opportunities to generate slack at low energy cost and utilize it later to save more energy in the same or even other processor cores. This way, we also ensure that the performance consistently remains ahead of the baseline target in every core.

Cache Partitioning

Dynamic Voltage-Frequency Scaling (DVFS)

Energy Efficiency

Re-configurable Core Architecture

Multi-core Resource Management

Quality-of-Service (QoS)

Room EB, Rännvägen 6, Göteborg
Opponent: Prof. José F. Martínez, Cornell University, United States

Author

Mehrzad Nejat

Chalmers, Computer Science and Engineering (Chalmers), Computer Engineering (Chalmers)

Human life has become deeply dependent on computers. A simple task of checking your email involves numerous computer processors within your smartphone, the communication infrastructure, and the data-centers that support the relevant internet and cloud services. Yet, the number of computers and their computation tasks is increasing dramatically everyday. For example, application domains such as autonomous vehicles, digital currencies, online workplaces, and virtual reality require a substantial boost in computation power. Meanwhile, we are facing serious global challenges regarding the economic and environmental costs of energy expenditure. Hence, reducing the energy consumption of computers, without sacrificing their performance, is imperative for a sustainable development. Moreover, Such improvement provides additional benefits by extending the operational time of battery-powered devices.

This thesis tackles the above problem by analyzing how different applications, that run simultaneously on a particular computer, utilize the available processor and cache memory resources. Based on that, it proposes resource management schemes that react to the dynamic behavior of these applications during run-time. The proposed schemes continuously find trade-offs between the allocation of a set of resources to each application, such that the overall energy consumption is reduced without degrading the performance of any application. The experimental results shows the potential for substantial energy savings. The proposed solutions are applicable to computers ranging from battery-powered devices to high-performance data centers.

Subject Categories

Computer Systems

ISBN

978-91-7905-644-5

Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 5110

Publisher

Chalmers

Room EB, Rännvägen 6, Göteborg

Online

Opponent: Prof. José F. Martínez, Cornell University, United States

More information

Latest update

5/3/2022 9