logo SBA


Digital archive of theses discussed at the University of Pisa


Thesis etd-04112018-143222

Thesis type
Tesi di dottorato di ricerca
Thesis title
Self-Adaptive Solutions for Managing Performance and Power Consumption of Parallel Applications
Academic discipline
Course of study
tutor Prof. Danelutto, Marco
relatore Dott. Torquati, Massimo
  • adattività
  • consumo energetico
  • performance
  • programmazione parallela
Graduation session start date
Power consumption management in computing systems is gaining an increasing attention due to its environmental and economic impact. On one side, it has been estimated that CO_2 emissions of U.S. data centers during 2010 were on par with those of an entire country like Argentina. On the other side, the cost of the energy required to keep the system running is quickly going to overcome the cost of the physical system itself. Despite the improvements in the hardware technology, a proper management of the applications running on top of that hardware is still of paramount importance, since estimations show that the power demand of datacenter will rapidly grow 10% - 12% per year. Power consumption is an important issue even on smaller devices. For example, on mobile devices, an efficient power management leads to a longer battery life and to a better user experience. As a consequence, a better battery management would enable the diffusion of more complex and richer applications.

In this thesis, we focus on scenarios where the user wants to express specific Quality of Service (QoS) requirements on his application, regarding performance and power consumption. Requirements can be enforced by using self-adaptive algorithms, to dynamically and automatically adapt the number of resources allocated to the application (i.e., its configuration). To select a proper configuration, most existing approaches rely either on heuristics or on machine learning models. While heuristics may work fine in general, they are usually less accurate than machine learning solutions. On the other hand, despite being more accurate than heuristics, machine learning techniques typically require extensive training phases to be performed offline, before the application starts its execution. Moreover, machine learning techniques may not be able to find a suitable configuration for applications with characteristics different from those of the applications used to train the models.

In this thesis we try to close the gap between these two approaches, by proposing an online learning algorithm which, like the heuristics, will not rely on any training phase to be performed offline and, at the same time, can achieve the same accuracy of complex offline machine learning approaches. Since a simulation would not capture all the runtime related overheads introduced by such algorithms, we designed and implemented a full software stack (released as open source), ranging from the management of hardware control mechanisms to parallel applications to be used as benchmarks. This led to the design of Nornir, a framework to be used by application users to enforce explicit performance and power consumption requirements on their applications. Nornir can be customized by algorithms designers to implement new self-adaptive strategies easily and to compare them with the state of the art algorithms already provided by the framework. Eventually, we will show that if the application has some clear and well-defined structure, it would be possible for the algorithms to select better configurations regarding power/performance tradeoffs.