[ca] Donades les actuals condicions de crisi climàtica i, per tant, energètica, el control i optimització del consum de recursos naturals i tècnics ha esdevingut críticament necessari per a garantir la pervivència de les nostres societats. Alhora, aquest fet és especialment important pel que fa al sector HPC, que preveu un creixement sostingut i exponencial durant els anys vinents. És així que apareix la necessitat de dissenyar un programari que permeti optimitzar l'execució de les aplicacions que s'executen en aquests entorns, a fi de reduir-ne l'energia consumida. Aquest és el punt de partida d'Energy Aware Runtime, un software de sistema que permet monitorar i optimitzar l'execució d'aplicacions en entorns de HPC. El present treball estudiarà la millora de dos elements: per una banda, l'estratègia de classificació que, en temps d'execució, hauria de detectar la fase d'execució en què es troba l'aplicació en un moment donat, permetent així plantejar optimitzacions que siguin coherents. D'altra banda, es treballarà també en el criteri de diferenciació que, donades dues signatures d'una mateixa fase, permet saber si l'aplicació ha canviat suficient per a tornar a optimitzar-la. Aquest treball s'ha dividit en dues parts: per una banda, l'avaluació de la qualitat de les estratègies de classificació sobre un conjunt de dades caracteritzat prèviament i de forma orientativa, que s'ha articulat a través de la implementació d'una eina que automatitzés tot aquest procés, i, d'altra banda, la simulació del comportament dels diferents criteris de diferenciació considerats. Amb aquests dos processos experimentals, s'ha obtingut una classificació més robusta i coherent amb les característiques de l'arquitectura, així com un criteri que permetria optimitzar millor l'aplicació. Alhora, d'aquests dos resultats s'han plantejat les passes que s'haurien de seguir a fi d'implementar-les i utilitzar-les. Les principals conclusions d'aquest treball demostren la capacitat d'automatitzar l'entrenament i incorporació de les diferents estratègies de classificació, així com la capacitat de millora de les optimitzacions fetes en temps d'execució. Així mateix, els desenvolupaments i resultats del procés experimental poden derivar en investigacions que acotin les característiques de les fases d'execució considerades, així com els mètodes per detectar-les i diferenciar-les entre si.

[en] Given the current climate crisis and the subsequent energy crisis, the control and optimization of the consumption of natural and technical resources has become critically necessary to ensure the survival of our societies. Moreover, this has become particularly important for the HPC sector, which anticipates sustained and exponential growth in its energy consumption during the following years. Thus, it arises the need to design a software that allows to optimize the execution of applications running in these environments to reduce their energy consumption. This is the baseline of Energy Aware Runtime, a system software that allows the monitoring and optimizing of the execution of applications in HPC environments. The present work will study the improvement of two elements: on the one hand, the classification strategy which, at runtime, detects the execution phase in which the application finds itself at a given moment, thus allowing for coherent optimizations, and, on the other hand, the differentiation criterion which, given two signatures of the same execution phase, determines if the application has changed enough to be re-optimized. This work has been divided into two parts: on the one hand, the evaluation of the quality of the classification strategies over a previously characterized dataset, an experimental process that has been articulated and automated through the implementation of a tool, and, on the other hand, the simulation of the behavior of the different differentiation criteria considered. With these two experimental processes, a more robust and coherent classification has been obtained, as well as a new criterion that gives place to a better optimization of the application. At the same time, from these two results, a set of indications has been given in order to duly implement and use them. The main conclusions of this work demonstrate the ability to automate the training and incorporation of the different classification strategies, as well as the capacity to improve optimizations made in runtime. Similarly, the developments and results of the experimental process can lead to investigations that delve into the characteristics of the considered execution phases, as well as better methods to detect and differentiate them from each other.