Software applications directly impact on IT energy consumptions as they indirectly guide hardware operations. Optimizing algorithm has a direct beneficial impact on energy efficiency, but it requires domain knowledge and an accurate analysis of the code, which may be infeasible and too costly to perform for large code bases. In this Thesis we present an approach based on dynamic memoization to increase software energy effi ciency. This implies to identify a subset of pure functions that can be tabulated and to automatically store the results corresponding to the most frequent invocations. We implemented a prototype software system to apply memoization and tested it on a set of financial functions. Empirical results shows average energy savings of 49% and time performance savings of 47%.
Le applicazioni software incidono direttamente sui consumi energetici dell'IT. L'ottimizzazione di un algoritmo ha un impatto diretto sull'efficienza energetica, ma richiede 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 presentiamo un approccio basato sulla memoizzazione dinamica per aumentare l'efficienza energetica del software. Ciò implica di identi ficare un sottoinsieme di funzioni pure che possono essere tabulate e memorizzarne automaticamente i risultati corrispondenti agli input delle invocazioni più frequenti. Abbiamo analizzato il problema ed implementato un prototipo di un sistema software capace di individuare le funzioni pure interne ad un'applicazione Java e di applicare la memoizzazione a queste funzioni. Infi ne il prototipo e stato testato su un benchmark set di librerie finanziarie e statistiche. I risultati empirici mostrano un risparmio energetico medio del 49% delle prestazioni e risparmio di tempo del 47%.
Una metodologia basata sulla memoizzazione dinamica per l'efficienza energetica del software applicativo
BESSI, MARCO
2009/2010
Abstract
Software applications directly impact on IT energy consumptions as they indirectly guide hardware operations. Optimizing algorithm has a direct beneficial impact on energy efficiency, but it requires domain knowledge and an accurate analysis of the code, which may be infeasible and too costly to perform for large code bases. In this Thesis we present an approach based on dynamic memoization to increase software energy effi ciency. This implies to identify a subset of pure functions that can be tabulated and to automatically store the results corresponding to the most frequent invocations. We implemented a prototype software system to apply memoization and tested it on a set of financial functions. Empirical results shows average energy savings of 49% and time performance savings of 47%.File | Dimensione | Formato | |
---|---|---|---|
2010_12_Bessi.pdf
accessibile in internet solo dagli utenti autorizzati
Descrizione: Testo della Tesi
Dimensione
1.94 MB
Formato
Adobe PDF
|
1.94 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/12084