Green IT aims is to find solutions to reduce energy consumption in IT context. Energy consumption is due to both hardware and software. Nevertheless, up to a few years ago, Green IT research had focused more on energy efficiency of the hardware. In order to have energy savings also on software side, it is necessary to optimize algorithms, studying performances and tuning applications. This requires domain knowledge and an accurate analysis of the code, which can be infeasible and too expensive to perform for large code bases. In this Thesis we started from an approach based on dynamic memoization, through which it is identified a subset of pure functions that can be tabulated and the results of which are stored. The Thesis aims to define a model by which you can dynamically manage memory within the memoization architecture. After the creation of this model has been developed a Trade off module whose task is to manage the available memory in order to make memoization methodology flexible with respect to changes in the characteristics of the functions previously identified as pure. The Trade off module replaces a previous static memory management with a dynamic one whose purpose is to improve energy efficiency of the software. We implemented a prototype software system to apply memoization and tested it on a set of financial functions. Empirical result show average energy savings of 96.8% and time performance savings of 97%.

Compito del Green IT è quello di trovare soluzioni che riducano il consumo energetico in ambito IT. Il consumo energetico è dovuto sia alle componenti hardware sia alle applicazioni software. Nonostante ciò, fino a pochi anni fa la ricerca nell'ambito Green IT si è concentrata maggiormente sull'efficienza energetica dell'hardware. Al fine di ottenere un risparmio energetico anche lato software, è necessario ottimizzare gli algoritmi il che richiede però la conoscenza del dominio e di una accurata analisi del codice, che può essere impraticabile e troppo costosa da effettuare per basi di codice di grandi dimensioni. In questa Tesi si è partiti da un approccio basato sulla memoizzazione dinamica, tramite cui viene identificato un sottoinsieme di funzioni pure che possono essere tabulate e di cui vengono memorizzati i risultati. Obiettivo della Tesi è definire un modello tramite cui si possa gestire dinamicamente la memoria all'interno dell'architettura di memoizzazione. In seguito alla creazione di questo modello è stato sviluppato un blocco di Trade off il cui compito è di gestire la memoria disponibile, al fine di rendere la metodologia della memoizzazione flessibile rispetto a cambiamenti delle caratteristiche delle funzioni precedentemente identificate come pure. Il blocco di Trade off va a sostituire una precedente gestione statica della memoria, con una dinamica il cui fine è aumentare l'efficienza energetica del software. Infine il prototipo è stato testato su un benchmark set di librerie finanziarie e statistiche. I risultati empirici mostrano un risparmio energetico medio del 96.8% delle prestazioni e risparmio di tempo del 97%.

Sviluppo e validazione sperimentale di un algoritmo per ottimizzare l'efficienza energetica di più funzioni computation intensive tramite tecniche di memoizzazione

IERO, DOMENICO
2010/2011

Abstract

Green IT aims is to find solutions to reduce energy consumption in IT context. Energy consumption is due to both hardware and software. Nevertheless, up to a few years ago, Green IT research had focused more on energy efficiency of the hardware. In order to have energy savings also on software side, it is necessary to optimize algorithms, studying performances and tuning applications. This requires domain knowledge and an accurate analysis of the code, which can be infeasible and too expensive to perform for large code bases. In this Thesis we started from an approach based on dynamic memoization, through which it is identified a subset of pure functions that can be tabulated and the results of which are stored. The Thesis aims to define a model by which you can dynamically manage memory within the memoization architecture. After the creation of this model has been developed a Trade off module whose task is to manage the available memory in order to make memoization methodology flexible with respect to changes in the characteristics of the functions previously identified as pure. The Trade off module replaces a previous static memory management with a dynamic one whose purpose is to improve energy efficiency of the software. We implemented a prototype software system to apply memoization and tested it on a set of financial functions. Empirical result show average energy savings of 96.8% and time performance savings of 97%.
CAPRA, EUGENIO
BESSI, MARCO
ING V - Scuola di Ingegneria dell'Informazione
20-dic-2011
2010/2011
Compito del Green IT è quello di trovare soluzioni che riducano il consumo energetico in ambito IT. Il consumo energetico è dovuto sia alle componenti hardware sia alle applicazioni software. Nonostante ciò, fino a pochi anni fa la ricerca nell'ambito Green IT si è concentrata maggiormente sull'efficienza energetica dell'hardware. Al fine di ottenere un risparmio energetico anche lato software, è necessario ottimizzare gli algoritmi il che richiede però la conoscenza del dominio e di una accurata analisi del codice, che può essere impraticabile e troppo costosa da effettuare per basi di codice di grandi dimensioni. In questa Tesi si è partiti da un approccio basato sulla memoizzazione dinamica, tramite cui viene identificato un sottoinsieme di funzioni pure che possono essere tabulate e di cui vengono memorizzati i risultati. Obiettivo della Tesi è definire un modello tramite cui si possa gestire dinamicamente la memoria all'interno dell'architettura di memoizzazione. In seguito alla creazione di questo modello è stato sviluppato un blocco di Trade off il cui compito è di gestire la memoria disponibile, al fine di rendere la metodologia della memoizzazione flessibile rispetto a cambiamenti delle caratteristiche delle funzioni precedentemente identificate come pure. Il blocco di Trade off va a sostituire una precedente gestione statica della memoria, con una dinamica il cui fine è aumentare l'efficienza energetica del software. Infine il prototipo è stato testato su un benchmark set di librerie finanziarie e statistiche. I risultati empirici mostrano un risparmio energetico medio del 96.8% delle prestazioni e risparmio di tempo del 97%.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2010_11_Iero.pdf

Open Access dal 24/11/2012

Descrizione: Testo della tesi
Dimensione 2.73 MB
Formato Adobe PDF
2.73 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/33961