In the autonomic computing context, we perceive the system as an ensemble of autonomous elements capable of self-managing, where end-users define high-level goals and the system shall adapt to achieve the desired behaviour. This runtime adaptation creates several optimisation opportunities, especially if we consider approximate computing applications, where it is possible to trade off the result accuracy and the performance. Given the power consumption limit on modern systems, autonomic computing is an appealing approach to increase the computation efficiency. I divided this PhD thesis into three main sections. The first section focuses on a dynamic autotuning framework, named mARGOt, which aims at enhancing the target application with an adaptation layer to provide self-optimisation capabilities at the production phase. In this context, the end-user might specify complex high-level requirements, and the proposed approach automatically tunes the application accordingly. The second section evaluates the mARGOt framework, by leveraging its features in two different scenarios. On the one hand, we evaluated the orthogonality between resource managers and application autotuning. On the other hand, we proposed an approach to enhance the application with a kernel-level compiler autotuning and adaptation layer in a seamless way for application developers. The third section focuses on two application case studies, showing how it is possible to significantly improve computation efficiency, by applying approximate computing techniques and by using mARGOt to manage them.

Nel contesto dell'autonomic computing, possiamo considerare un sistema come un insieme di elementi autonomi in grado auto-gestirsi, dove gli utenti finali definiscono degli obbiettivi di alto livello e il sistema si deve adattare per raggiungere il comportamento desiderato. Questo adattamento a runtime crea diverse opportunità di ottimizzazione, specialmente se consideriamo applicazioni in grado di tollerare approssimazioni nella computazione del risultato, riuscendo a creare dei compromessi tra le prestazioni e l'accuratezza dei risultati. Dato che le prestazioni dei sistemi moderni sono limitate dalla potenza consumata o dissipata, l'autonomic computing è un approccio promettente per aumentare l'efficienza computazionale. Ho diviso questa tesi di dottorato in tre sezioni principali. La prima sezione si concentra su un framework di autotuning, chiamato mARGOt, che vuole migliorare una data applicazione aggiungendo un layer che consente all'applicazione di adattarsi a runtime. In questo contesto, l'utente finale può specificare dei requisiti di alto livello e di conseguenza mARGOt è in grado di configurare automaticamente l'applicazione. La seconda sezione valuta le funzionalità offerte da mARGOt in due scenari differenti. Da un lato abbiamo valutato l'ortogonalità tra la gestione di risorse e la configurazione automatica dell'applicazione. Dall'altro lato abbiamo proposto un approccio per configurare automaticamente la configurazione di parametri di compilazione e parallelizzazione in modo totalmente trasparente rispetto allo sviluppatore dell'applicazione. La terza sezione descrive due case studies, mostrando come è possibile migliorare drasticamente l'efficienza computazionale, utilizzando tecniche di calcolo approssimato gestite da mARGOt.

Dynamic application autotuning for self-aware approximate computing

GADIOLI, DAVIDE

Abstract

In the autonomic computing context, we perceive the system as an ensemble of autonomous elements capable of self-managing, where end-users define high-level goals and the system shall adapt to achieve the desired behaviour. This runtime adaptation creates several optimisation opportunities, especially if we consider approximate computing applications, where it is possible to trade off the result accuracy and the performance. Given the power consumption limit on modern systems, autonomic computing is an appealing approach to increase the computation efficiency. I divided this PhD thesis into three main sections. The first section focuses on a dynamic autotuning framework, named mARGOt, which aims at enhancing the target application with an adaptation layer to provide self-optimisation capabilities at the production phase. In this context, the end-user might specify complex high-level requirements, and the proposed approach automatically tunes the application accordingly. The second section evaluates the mARGOt framework, by leveraging its features in two different scenarios. On the one hand, we evaluated the orthogonality between resource managers and application autotuning. On the other hand, we proposed an approach to enhance the application with a kernel-level compiler autotuning and adaptation layer in a seamless way for application developers. The third section focuses on two application case studies, showing how it is possible to significantly improve computation efficiency, by applying approximate computing techniques and by using mARGOt to manage them.
PERNICI, BARBARA
BONARINI, ANDREA
6-feb-2019
Nel contesto dell'autonomic computing, possiamo considerare un sistema come un insieme di elementi autonomi in grado auto-gestirsi, dove gli utenti finali definiscono degli obbiettivi di alto livello e il sistema si deve adattare per raggiungere il comportamento desiderato. Questo adattamento a runtime crea diverse opportunità di ottimizzazione, specialmente se consideriamo applicazioni in grado di tollerare approssimazioni nella computazione del risultato, riuscendo a creare dei compromessi tra le prestazioni e l'accuratezza dei risultati. Dato che le prestazioni dei sistemi moderni sono limitate dalla potenza consumata o dissipata, l'autonomic computing è un approccio promettente per aumentare l'efficienza computazionale. Ho diviso questa tesi di dottorato in tre sezioni principali. La prima sezione si concentra su un framework di autotuning, chiamato mARGOt, che vuole migliorare una data applicazione aggiungendo un layer che consente all'applicazione di adattarsi a runtime. In questo contesto, l'utente finale può specificare dei requisiti di alto livello e di conseguenza mARGOt è in grado di configurare automaticamente l'applicazione. La seconda sezione valuta le funzionalità offerte da mARGOt in due scenari differenti. Da un lato abbiamo valutato l'ortogonalità tra la gestione di risorse e la configurazione automatica dell'applicazione. Dall'altro lato abbiamo proposto un approccio per configurare automaticamente la configurazione di parametri di compilazione e parallelizzazione in modo totalmente trasparente rispetto allo sviluppatore dell'applicazione. La terza sezione descrive due case studies, mostrando come è possibile migliorare drasticamente l'efficienza computazionale, utilizzando tecniche di calcolo approssimato gestite da mARGOt.
Tesi di dottorato
File allegati
File Dimensione Formato  
2019_02_PhD_Gadioli.pdf

accessibile in internet per tutti

Descrizione: Thesis text
Dimensione 3.1 MB
Formato Adobe PDF
3.1 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/144273