Application autotuning is a promising path investigated in literature to improve computation efficiency. In this context, the end-users define high-level requirements and an autonomous manager is able to identify and seize optimization opportunities by leveraging trade-offs between extra-functional properties of interest, such as execution time, power consumption or quality of results. The relationship between an application configuration and the extra-functional properties might depend on the underlying architecture, on the system workload and on features of the current input. For these reasons, autotuning frameworks rely on the so called application-knowledge to drive the adaptation strategies. The application-knowledge is typically produced off-line because it highly depends on an expensive phase called Design Space Exploration whose fruition requires significant effort in order to reduce its overhead. This master thesis aims at providing an adaptive framework which supports application autotuning at runtime in order to get the application-knowledge during the production phase and in a distributed fashion. Experimental results show how the proposed approach is able to learn the application knowledge maintaining the quality thresholds while exploring a small fraction of the design space.

Un percorso promettente che è stato oggetto di studio nella letteratura recente è l'application autotuning, mirato al miglioramento dell'efficienza computazionale. In questo scenario, gli utenti definiscono dei requisiti ad alto livello e un manager autonomo è in grado di identificare e cogliere le opportunità di ottimizzazione attraverso un trade-off tra le cosiddette proprietà extra-funzionali, come il tempo di esecuzione, il consumo energetico o la qualità dei risultati. La relazione che intercorre tra una configurazione dell'applicazione e le sue proprietà extra-funzionali può dipendere dal tipo di architettura, dal carico di lavoro del sistema e dalle caratteristiche dell'input corrente. Per queste ragioni, i frameworks di autotuning si avvalgono di una cosiddetta application-knowledge, un modello che descrive il comportamento dell'applicazione e che può essere usato per gestire le strategie d'adattamento. La application-knowledge è tipicamente prodotta off-line perché fa un forte affidamento su una fase molto costosa chiamata Design Space Exploration, il cui obiettivo è l'esplorazione dello spazio di tutte le possibili configurazioni. La fruizione di questa fase richiede infatti uno sforzo significativo per ridurre il suo costo di produzione. L'obiettivo di questa tesi è quello di fornire un framework adattivo che supporti l'application autotuning a runtime per riuscire a produrre l'application-knowledge durante la fase di produzione e in modo distribuito. Dai risultati sperimentali si è visto come l'approccio proposto sia in grado di generare l'application-knowledge mantenendo una qualità nei limiti delle soglie preposte ed esplorando una percentuale ridotta dello spazio di design dell'applicazione.

Agora : an adaptive framework supporting runtime application autotuning

MENICAGLI, BERNARDO
2019/2020

Abstract

Application autotuning is a promising path investigated in literature to improve computation efficiency. In this context, the end-users define high-level requirements and an autonomous manager is able to identify and seize optimization opportunities by leveraging trade-offs between extra-functional properties of interest, such as execution time, power consumption or quality of results. The relationship between an application configuration and the extra-functional properties might depend on the underlying architecture, on the system workload and on features of the current input. For these reasons, autotuning frameworks rely on the so called application-knowledge to drive the adaptation strategies. The application-knowledge is typically produced off-line because it highly depends on an expensive phase called Design Space Exploration whose fruition requires significant effort in order to reduce its overhead. This master thesis aims at providing an adaptive framework which supports application autotuning at runtime in order to get the application-knowledge during the production phase and in a distributed fashion. Experimental results show how the proposed approach is able to learn the application knowledge maintaining the quality thresholds while exploring a small fraction of the design space.
GADIOLI, DAVIDE
ING - Scuola di Ingegneria Industriale e dell'Informazione
28-apr-2021
2019/2020
Un percorso promettente che è stato oggetto di studio nella letteratura recente è l'application autotuning, mirato al miglioramento dell'efficienza computazionale. In questo scenario, gli utenti definiscono dei requisiti ad alto livello e un manager autonomo è in grado di identificare e cogliere le opportunità di ottimizzazione attraverso un trade-off tra le cosiddette proprietà extra-funzionali, come il tempo di esecuzione, il consumo energetico o la qualità dei risultati. La relazione che intercorre tra una configurazione dell'applicazione e le sue proprietà extra-funzionali può dipendere dal tipo di architettura, dal carico di lavoro del sistema e dalle caratteristiche dell'input corrente. Per queste ragioni, i frameworks di autotuning si avvalgono di una cosiddetta application-knowledge, un modello che descrive il comportamento dell'applicazione e che può essere usato per gestire le strategie d'adattamento. La application-knowledge è tipicamente prodotta off-line perché fa un forte affidamento su una fase molto costosa chiamata Design Space Exploration, il cui obiettivo è l'esplorazione dello spazio di tutte le possibili configurazioni. La fruizione di questa fase richiede infatti uno sforzo significativo per ridurre il suo costo di produzione. L'obiettivo di questa tesi è quello di fornire un framework adattivo che supporti l'application autotuning a runtime per riuscire a produrre l'application-knowledge durante la fase di produzione e in modo distribuito. Dai risultati sperimentali si è visto come l'approccio proposto sia in grado di generare l'application-knowledge mantenendo una qualità nei limiti delle soglie preposte ed esplorando una percentuale ridotta dello spazio di design dell'applicazione.
File allegati
File Dimensione Formato  
Agora_An-adaptive-framework-supporting-runtime-application-autotuning.pdf

accessibile in internet per tutti

Dimensione 5.6 MB
Formato Adobe PDF
5.6 MB 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/175299