This thesis is part of a long-term research work that aims to define new control strategies for the combined management of temperature, power, and performance in multicore microprocessors. In this context, the thesis goal is to develop a controller capable of adapting itself automatically to a specific processor in its installation conditions, regardless of the particular architecture of the said processor. In this work, the focus is in some sense implicitly set on future generations of processors, thinking in particular to three-dimensional architectures as these exhibit higher power density together with the disadvantage, as opposed to their "planar" counterparts, of not having all layers in contact with the heatsink, increasing the risk of thermal runaway. In such a scenario - but worth noticing, also for modern planar architectures - developing a processor-integrated controller that can manage power and performance, while ensuring adequate temperature control to improve processor reliability and reduce power consumption, is critical. At present, the control strategies adopted by the industry on commercial processors tend to separate power/performance management from temperature control, leaving the former to the operating system - by means of components such as the Linux governors - while the latter is left to the processor hardware. This division of roles is, however, becoming questionable owing to the increasing power density and as a consequence of the faster and faster thermal dynamics, and the compound of the above leads to non-optimal control solutions. The purpose of this thesis is to pursue the attempt to address these problems in a coordinated manner - so that a single controller handles them - and most relevant, to give that controller the ability of adapting to the processor to which it is connected, making its large-scale deployment feasible as no human tuning intervention is required. Thus, the purpose of the proposed control is to manage the temperature of individual cores in a multi-core processor, simultaneously solving the problems of temperature, power, and performance, through the use of control theory and rules suitable for self-calibration based on experiments conducted in an initial control phase (for example, when a system is booted up). A validation of the control strategy through simulations is also an integral part of this thesis. Several experiments are proposed, as proof of the choices made, comparing the techniques considered for the autotuning phase in order to (preliminarily) show their advantages and disadvantages. To this end, the proposed autotuning controller was also implemented as C++ code - a nontrivial software design and engineering task - so as to have it ready for deployment on a real processor. Correspondingly, simulation tests were conducted both with simplified models for system-level studies (using the Modelica language) and with an accurate 3D chip thermal simulation (3D-ICE, to which the C++ autotuning controller was coupled).

Questa tesi fa parte di un lavoro di ricerca a lungo termine che mira a definire nuove strategie di controllo per la gestione combinata di temperatura, potenza e prestazioni nei microprocessori multi-core. In questo contesto, l'obiettivo della tesi è sviluppare un controllore in grado di adattarsi automaticamente a uno specifico processore nelle sue condizioni di installazione, indipendentemente dalla sua architettura. In questo lavoro l'attenzione è in un certo senso implicitamente posta sulle future generazioni di processori, pensando in particolare alle architetture tridimensionali in quanto esse presentano una maggiore densità di potenza unita allo svantaggio, rispetto alle loro controparti "planari", di non avere tutti gli strati a contatto con il dissipatore di calore, il che aumenta il rischio di fuga termica. In talescenario - ma, va osservato, anche per le moderne architetture planari - lo sviluppo di un controllore integrato nel processore che sia in grado di gestire potenza e prestazioni, garantendo anche un adeguato controllo della temperatura per migliorare l'affidabilità del processore e contenere il consumo energetico, è critico. Attualmente, le strategie di controllo adottate dall'industria nei processori commerciali tendono a separare la gestione di potenza e prestazioni dal controllo della temperatura, lasciando la prima al sistema operativo - tramite componenti come i governor di Linux - mentre la seconda è lasciata all'hardware del processore. Questa divisione dei ruoli sta tuttavia diventando discutibile a causa della crescente densità di potenza e di conseguenza della dinamica termica sempre più rapida; la combinazione di tutti i fattori sin qui evidenziati porta a soluzioni di controllo non ottimali. Scopo di questa tesi è perseguire il tentativo di affrontare questi problemi in modo coordinato - cosicché siano gestiti da un solo controllore - e, cosa più rilevante, dare a quel controllore la capacità di adattarsi al processore a cui è collegato, rendendo fattibile la sua implementazione su larga scala in quanto non è richiesto alcun intervento di messa a punto da parte di operatori umani. Pertanto, lo scopo del controllo proposto è quello di gestire la temperatura dei singoli core in un processore multi-core, risolvendo contemporaneamente i problemi di temperatura, potenza e prestazioni, attraverso l'uso della teoria del controllo e regole adatte all'autocalibrazione basate su esperimenti condotti in una prima fase di controllo (ad esempio, all'avvio di un sistema). Anche una validazione della strategia di controllo attraverso simulazioni è parte integrante di questa tesi. Vengono proposti diversi esperimenti, a supporto delle scelte effettuate, confrontando le tecniche considerate per la fase di autotuning al fine di mostrarne (preliminarmente) vantaggi e svantaggi. A tal fine, il controllore con autotuning proposto è stato anche implementato come codice C++ - un'attività di progettazione e ingegneria del software non banale - in modo da averlo pronto per l'implementazione su un vero processore. Di conseguenza, sono stati condotti test di simulazione sia con modelli semplificati per studi a livello di sistema (utilizzando il linguaggio Modelica) sia con un'accurata simulazione termica tridimensionale del chip (usando lo strumento3D-ICE, cui l'autotuner realizzato in C++ è stato accoppiato).

an autotuning controller for cpu power/performance/thermal management

De Rosi, Riccardo
2022/2023

Abstract

This thesis is part of a long-term research work that aims to define new control strategies for the combined management of temperature, power, and performance in multicore microprocessors. In this context, the thesis goal is to develop a controller capable of adapting itself automatically to a specific processor in its installation conditions, regardless of the particular architecture of the said processor. In this work, the focus is in some sense implicitly set on future generations of processors, thinking in particular to three-dimensional architectures as these exhibit higher power density together with the disadvantage, as opposed to their "planar" counterparts, of not having all layers in contact with the heatsink, increasing the risk of thermal runaway. In such a scenario - but worth noticing, also for modern planar architectures - developing a processor-integrated controller that can manage power and performance, while ensuring adequate temperature control to improve processor reliability and reduce power consumption, is critical. At present, the control strategies adopted by the industry on commercial processors tend to separate power/performance management from temperature control, leaving the former to the operating system - by means of components such as the Linux governors - while the latter is left to the processor hardware. This division of roles is, however, becoming questionable owing to the increasing power density and as a consequence of the faster and faster thermal dynamics, and the compound of the above leads to non-optimal control solutions. The purpose of this thesis is to pursue the attempt to address these problems in a coordinated manner - so that a single controller handles them - and most relevant, to give that controller the ability of adapting to the processor to which it is connected, making its large-scale deployment feasible as no human tuning intervention is required. Thus, the purpose of the proposed control is to manage the temperature of individual cores in a multi-core processor, simultaneously solving the problems of temperature, power, and performance, through the use of control theory and rules suitable for self-calibration based on experiments conducted in an initial control phase (for example, when a system is booted up). A validation of the control strategy through simulations is also an integral part of this thesis. Several experiments are proposed, as proof of the choices made, comparing the techniques considered for the autotuning phase in order to (preliminarily) show their advantages and disadvantages. To this end, the proposed autotuning controller was also implemented as C++ code - a nontrivial software design and engineering task - so as to have it ready for deployment on a real processor. Correspondingly, simulation tests were conducted both with simplified models for system-level studies (using the Modelica language) and with an accurate 3D chip thermal simulation (3D-ICE, to which the C++ autotuning controller was coupled).
TERRANEO, FEDERICO
ING - Scuola di Ingegneria Industriale e dell'Informazione
4-mag-2023
2022/2023
Questa tesi fa parte di un lavoro di ricerca a lungo termine che mira a definire nuove strategie di controllo per la gestione combinata di temperatura, potenza e prestazioni nei microprocessori multi-core. In questo contesto, l'obiettivo della tesi è sviluppare un controllore in grado di adattarsi automaticamente a uno specifico processore nelle sue condizioni di installazione, indipendentemente dalla sua architettura. In questo lavoro l'attenzione è in un certo senso implicitamente posta sulle future generazioni di processori, pensando in particolare alle architetture tridimensionali in quanto esse presentano una maggiore densità di potenza unita allo svantaggio, rispetto alle loro controparti "planari", di non avere tutti gli strati a contatto con il dissipatore di calore, il che aumenta il rischio di fuga termica. In talescenario - ma, va osservato, anche per le moderne architetture planari - lo sviluppo di un controllore integrato nel processore che sia in grado di gestire potenza e prestazioni, garantendo anche un adeguato controllo della temperatura per migliorare l'affidabilità del processore e contenere il consumo energetico, è critico. Attualmente, le strategie di controllo adottate dall'industria nei processori commerciali tendono a separare la gestione di potenza e prestazioni dal controllo della temperatura, lasciando la prima al sistema operativo - tramite componenti come i governor di Linux - mentre la seconda è lasciata all'hardware del processore. Questa divisione dei ruoli sta tuttavia diventando discutibile a causa della crescente densità di potenza e di conseguenza della dinamica termica sempre più rapida; la combinazione di tutti i fattori sin qui evidenziati porta a soluzioni di controllo non ottimali. Scopo di questa tesi è perseguire il tentativo di affrontare questi problemi in modo coordinato - cosicché siano gestiti da un solo controllore - e, cosa più rilevante, dare a quel controllore la capacità di adattarsi al processore a cui è collegato, rendendo fattibile la sua implementazione su larga scala in quanto non è richiesto alcun intervento di messa a punto da parte di operatori umani. Pertanto, lo scopo del controllo proposto è quello di gestire la temperatura dei singoli core in un processore multi-core, risolvendo contemporaneamente i problemi di temperatura, potenza e prestazioni, attraverso l'uso della teoria del controllo e regole adatte all'autocalibrazione basate su esperimenti condotti in una prima fase di controllo (ad esempio, all'avvio di un sistema). Anche una validazione della strategia di controllo attraverso simulazioni è parte integrante di questa tesi. Vengono proposti diversi esperimenti, a supporto delle scelte effettuate, confrontando le tecniche considerate per la fase di autotuning al fine di mostrarne (preliminarmente) vantaggi e svantaggi. A tal fine, il controllore con autotuning proposto è stato anche implementato come codice C++ - un'attività di progettazione e ingegneria del software non banale - in modo da averlo pronto per l'implementazione su un vero processore. Di conseguenza, sono stati condotti test di simulazione sia con modelli semplificati per studi a livello di sistema (utilizzando il linguaggio Modelica) sia con un'accurata simulazione termica tridimensionale del chip (usando lo strumento3D-ICE, cui l'autotuner realizzato in C++ è stato accoppiato).
File allegati
File Dimensione Formato  
Thesis_DeRosi.pdf

accessibile in internet per tutti

Descrizione: Thesis
Dimensione 2.27 MB
Formato Adobe PDF
2.27 MB Adobe PDF Visualizza/Apri
ExecutiveSummary_DeRosi.pdf

accessibile in internet per tutti

Descrizione: Executive summary
Dimensione 604.86 kB
Formato Adobe PDF
604.86 kB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/204196