This thesis work places itself in a larger project which addresses green IT energy efficiency issues; this project is called Green Software and is developed by Politecnico di Milano. The aim of Green Software Project is to set the guidelines to produce software with a very high energy efficency. The softwares dimension growth leads companies to use high-level programming languages to simplify the development; many of this languages use a garbage collector to manage the heap. In particular, this thesis analyzes the impact of garbage collector and its configurations on the energy efficency of various applications. The softwares tested include different versions, written in Java and C, of a memory allocation and deallocation benchmark and two Enterprise Resource Planning systems. All the applications are tested on two operating systems: Windows Server 32bit and Fedora 13 64bit. The goals of the thesis are to understand how much a configuration of the garbage collector influences the application's energy requirements and how this changes with different operating systems. In addition, the thesis provides guidelines on how to configure a Java Virtual Machine garbage collector and related knowledge to choose the best energy efficent configuration. To support this metodology was developed an application to find the best configurations for the JVMs, present on a server, to obtain the best energy efficency posssible. From the tests results was observed that not always, increasing the amount of memory used by an application, it's possible to reduce its energy consumption; besides, setting with differents values the garbage collector parameters always causes changes in applications energy consumption. Observing the tested applications behaviour and consumption, it's possible to conclude that doesn't exist the same optimal configuration for every software but everyone posses a different best one. From values, noted on different systems, it's possible to observe that they use different amounts of energy mainly due the use of different architectures. In fact, 64bit architecture of Linux cause an important energy consumption overhead.

Questo lavoro di tesi si va ad inserire in un progetto più grande riguardante l'efficienza energetica; il progetto prende il nome di Green Software ed ha come scopo la definizione di linee guida per la produzione di software con un'alta efficienza energetica. La crescita delle dimensioni dei software ha spinto le aziende ad utilizzare linguaggi di programmazione di alto livello per semplificarne lo sviluppo; gran parte di questi linguaggi utilizzano un garbage collector per gestire la memoria. In particolare questa tesi analizza l'impatto del garbage collector e delle sue configurazioni sull'efficienza energetica di diverse applicazioni. I software testatati includono differenti versioni, scritte in Java e C, di un benchmark di allocazione e deallocazione della memoria e due Enterprise Resource Planning. Tutte le applicazioni sono state testate su due sistemi operativi diversi: Windows Server 32bit and Fedora 13 64bit. Gli scopi della tesi sono capire quanto una configurazione del garbage collector influisce sulle richieste di energia di un'applicazione e quanto questo cambia tra diversi sistemi operativi. In questo lavoro di tesi viene anche descritto come impostare correttamente le configurazioni del garbage collector in una Java Virtual Machine e viene fornito un know-how su come individuare la configurazione più efficiente dal punto di vista energetico. A supporto di questa metodologia è stata sviluppata un'applicazione per ricavare le configurazioni delle varie JVM, presenti su un server, in modo da ottenere la migliore efficienza energetica possibile. Dai risultati dei test si è notato che non sempre, impostando il garbage collector per utilizzare un maggiore quantitativo di memoria, i consumi dell'applicativo si riducono; inoltre impostando differenti parametri di funzionamento si sono riscontrati ogni volta cambiamenti significativi nei consumi energetici. Osservando i comportamenti e i consumi delle applicazioni testate, si può concludere che non esiste una configurazione ottimale identica per tutti gli applicativi ma ognuno possiede la propria. Dai valori rilevati, confrontando i due sistemi operativi testati, è stato possibile osservare che essi ottengono consumi differenti soprattutto a causa della diversa architettura utilizzata. Infatti l'architettura a 64 bit di Linux comporta un overhead in termini di consumo non trascurabile.

Studio empirico delle relazioni tra garbage collector : consumi e utilizzo della memoria

BRAGA, FABIO
2009/2010

Abstract

This thesis work places itself in a larger project which addresses green IT energy efficiency issues; this project is called Green Software and is developed by Politecnico di Milano. The aim of Green Software Project is to set the guidelines to produce software with a very high energy efficency. The softwares dimension growth leads companies to use high-level programming languages to simplify the development; many of this languages use a garbage collector to manage the heap. In particular, this thesis analyzes the impact of garbage collector and its configurations on the energy efficency of various applications. The softwares tested include different versions, written in Java and C, of a memory allocation and deallocation benchmark and two Enterprise Resource Planning systems. All the applications are tested on two operating systems: Windows Server 32bit and Fedora 13 64bit. The goals of the thesis are to understand how much a configuration of the garbage collector influences the application's energy requirements and how this changes with different operating systems. In addition, the thesis provides guidelines on how to configure a Java Virtual Machine garbage collector and related knowledge to choose the best energy efficent configuration. To support this metodology was developed an application to find the best configurations for the JVMs, present on a server, to obtain the best energy efficency posssible. From the tests results was observed that not always, increasing the amount of memory used by an application, it's possible to reduce its energy consumption; besides, setting with differents values the garbage collector parameters always causes changes in applications energy consumption. Observing the tested applications behaviour and consumption, it's possible to conclude that doesn't exist the same optimal configuration for every software but everyone posses a different best one. From values, noted on different systems, it's possible to observe that they use different amounts of energy mainly due the use of different architectures. In fact, 64bit architecture of Linux cause an important energy consumption overhead.
CAPRA, EUGENIO
AGOSTA, GIOVANNI
ING V - Facolta' di Ingegneria dell'Informazione
20-dic-2010
2009/2010
Questo lavoro di tesi si va ad inserire in un progetto più grande riguardante l'efficienza energetica; il progetto prende il nome di Green Software ed ha come scopo la definizione di linee guida per la produzione di software con un'alta efficienza energetica. La crescita delle dimensioni dei software ha spinto le aziende ad utilizzare linguaggi di programmazione di alto livello per semplificarne lo sviluppo; gran parte di questi linguaggi utilizzano un garbage collector per gestire la memoria. In particolare questa tesi analizza l'impatto del garbage collector e delle sue configurazioni sull'efficienza energetica di diverse applicazioni. I software testatati includono differenti versioni, scritte in Java e C, di un benchmark di allocazione e deallocazione della memoria e due Enterprise Resource Planning. Tutte le applicazioni sono state testate su due sistemi operativi diversi: Windows Server 32bit and Fedora 13 64bit. Gli scopi della tesi sono capire quanto una configurazione del garbage collector influisce sulle richieste di energia di un'applicazione e quanto questo cambia tra diversi sistemi operativi. In questo lavoro di tesi viene anche descritto come impostare correttamente le configurazioni del garbage collector in una Java Virtual Machine e viene fornito un know-how su come individuare la configurazione più efficiente dal punto di vista energetico. A supporto di questa metodologia è stata sviluppata un'applicazione per ricavare le configurazioni delle varie JVM, presenti su un server, in modo da ottenere la migliore efficienza energetica possibile. Dai risultati dei test si è notato che non sempre, impostando il garbage collector per utilizzare un maggiore quantitativo di memoria, i consumi dell'applicativo si riducono; inoltre impostando differenti parametri di funzionamento si sono riscontrati ogni volta cambiamenti significativi nei consumi energetici. Osservando i comportamenti e i consumi delle applicazioni testate, si può concludere che non esiste una configurazione ottimale identica per tutti gli applicativi ma ognuno possiede la propria. Dai valori rilevati, confrontando i due sistemi operativi testati, è stato possibile osservare che essi ottengono consumi differenti soprattutto a causa della diversa architettura utilizzata. Infatti l'architettura a 64 bit di Linux comporta un overhead in termini di consumo non trascurabile.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2012_12_Braga.pdf

accessibile in internet per tutti

Descrizione: Testo della Tesi
Dimensione 10.6 MB
Formato Adobe PDF
10.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/12082