When writing code for a cloud computing software platform testing is a must. Unit testing and integration testing can help the developer know if his/her code will cause bugs in the overall system. However, cloud platforms are very complex pieces of software, with many many “moving pieces”. There are times when we will want to write code to change the system’s behavior —for example, to include new Virtual Machine placement or consolidation techniques. In these cases it is not enough to hunt for bugs. We need to know how the new code will behave within the system as a whole. To do this we need to be able to run complex simulations, and to collect and analyze the obtained results. However, it is difficult for a developer –who is often provided with limited amount of hardware resources– to experiment code in an entire cloud system which needs tens of physical machines to be hosted. Virtualizing the system is thus compulsory. Our solution is aDock, a modular system that leverages Docker’s lightweight virtualization techniques and OpenStack –our reference open- source cloud computing software platform– to allow users to deploy extremely lightweight cloud systems, to run simulations, to store the system’s output, and to display it in real-time thanks to a friendly user interface. As further contribution we developed a Virtual Machine Consolidation ser- vice for OpenStack, and tested it with four different consolidation algorithms. Virtual Machine Consolidation is one of the topics of primary importance in nowadays cloud systems. Consolidation is supposed to be an intelligent and efficient strategy for resource allocation, in order to make the most of available hardware and, thus, save energy. Energy saving, in fact, has become an urgent and important problem in data centers due to their growing energy greediness. In order to evaluate our solution we used aDock to deploy an OpenStack system, and to benchmark and compare the proposed consolidation algorithms. Thanks to aDock we were able to deploy the system in a reasonable time — even on our laptops. The simulation results demonstrated that the four con- solidation algorithms brought various degrees of improvements to the system’s resource allocation.

Quando si scrive codice per una piattaforma software di cloud computing, il testing `e di primaria importanza. Lo sviluppatore puo` utilizzare i test di unita` e di integrazione per valutare la bont`a del suo codice. Tuttavia, i software cloud possono essere molto complessi. Talvolta, inoltre, lo sviluppatore vorrebbe scrivere del codice che influenzi il comportamento dell’intero sistema e non di un solo componente. In questi casi il semplice testing non `e sufficiente: lo sviluppatore ha bisogno di sapere come il nuovo codice si comportera` all’interno del sistema. E’ quindi necessario eseguire simulazioni complesse ed analizzare i risultati ottenuti. Tuttavia, puo` essere difficile per lo sviluppatore, spesso sprovvisto di grandi quantita` di risorse hardware, sperimentare codice in un intero sistema cloud, il quale `e solitamente ospitato da decine di macchine fisiche. La virtualizzazione del sistema `e quindi d’obbligo. La nostra soluzione `e aDock, un sistema modulare che sfrutta Docker per le sue tecniche di “virtualizzazione leggera” e OpenStack come software open- source di cloud computing di riferimento. aDock, in questo modo, consente agli utenti di avviare sistemi cloud estremamente leggeri, eseguire simulazioni, salvare i dati in uscita e mostrarli in tempo reale grazie ad un’interfaccia utente. Come ulteriore contributo `e stato sviluppato un servizio di consolidamento di macchine virtuali per OpenStack testato con quattro diversi algoritmi di consolidamento. Il consolidamento `e, ad oggi, uno dei temi di primaria impor- tanza nei sistemi cloud. Si tratta dello sviluppo di strategie per l’allocazione delle risorse che garantiscano l’utilizzo ottimale dell’hardware disponibile ai fini del risparmio energetico, problema sempre piu` rilevante nei data center, data la loro incessante crescita. Al fine di valutare la nostra soluzione abbiamo usato aDock per lanciare un sistema OpenStack e confrontare gli algoritmi di consolidamento proposti. Grazie ad aDock siamo stati in grado di avviare il sistema in un tempo ra- gionevole, anche su computer portatili. I risultati delle simulazioni hanno dimostrato che i quattro algoritmi di consolidamento portano ad un notevole miglioramento nell’allocazione delle risorse del sistema.

Towards virtual machine consolidation in OpenStack

AFFETTI, LORENZO;BRESCIANI, GIACOMO
2013/2014

Abstract

When writing code for a cloud computing software platform testing is a must. Unit testing and integration testing can help the developer know if his/her code will cause bugs in the overall system. However, cloud platforms are very complex pieces of software, with many many “moving pieces”. There are times when we will want to write code to change the system’s behavior —for example, to include new Virtual Machine placement or consolidation techniques. In these cases it is not enough to hunt for bugs. We need to know how the new code will behave within the system as a whole. To do this we need to be able to run complex simulations, and to collect and analyze the obtained results. However, it is difficult for a developer –who is often provided with limited amount of hardware resources– to experiment code in an entire cloud system which needs tens of physical machines to be hosted. Virtualizing the system is thus compulsory. Our solution is aDock, a modular system that leverages Docker’s lightweight virtualization techniques and OpenStack –our reference open- source cloud computing software platform– to allow users to deploy extremely lightweight cloud systems, to run simulations, to store the system’s output, and to display it in real-time thanks to a friendly user interface. As further contribution we developed a Virtual Machine Consolidation ser- vice for OpenStack, and tested it with four different consolidation algorithms. Virtual Machine Consolidation is one of the topics of primary importance in nowadays cloud systems. Consolidation is supposed to be an intelligent and efficient strategy for resource allocation, in order to make the most of available hardware and, thus, save energy. Energy saving, in fact, has become an urgent and important problem in data centers due to their growing energy greediness. In order to evaluate our solution we used aDock to deploy an OpenStack system, and to benchmark and compare the proposed consolidation algorithms. Thanks to aDock we were able to deploy the system in a reasonable time — even on our laptops. The simulation results demonstrated that the four con- solidation algorithms brought various degrees of improvements to the system’s resource allocation.
ING - Scuola di Ingegneria Industriale e dell'Informazione
29-apr-2015
2013/2014
Quando si scrive codice per una piattaforma software di cloud computing, il testing `e di primaria importanza. Lo sviluppatore puo` utilizzare i test di unita` e di integrazione per valutare la bont`a del suo codice. Tuttavia, i software cloud possono essere molto complessi. Talvolta, inoltre, lo sviluppatore vorrebbe scrivere del codice che influenzi il comportamento dell’intero sistema e non di un solo componente. In questi casi il semplice testing non `e sufficiente: lo sviluppatore ha bisogno di sapere come il nuovo codice si comportera` all’interno del sistema. E’ quindi necessario eseguire simulazioni complesse ed analizzare i risultati ottenuti. Tuttavia, puo` essere difficile per lo sviluppatore, spesso sprovvisto di grandi quantita` di risorse hardware, sperimentare codice in un intero sistema cloud, il quale `e solitamente ospitato da decine di macchine fisiche. La virtualizzazione del sistema `e quindi d’obbligo. La nostra soluzione `e aDock, un sistema modulare che sfrutta Docker per le sue tecniche di “virtualizzazione leggera” e OpenStack come software open- source di cloud computing di riferimento. aDock, in questo modo, consente agli utenti di avviare sistemi cloud estremamente leggeri, eseguire simulazioni, salvare i dati in uscita e mostrarli in tempo reale grazie ad un’interfaccia utente. Come ulteriore contributo `e stato sviluppato un servizio di consolidamento di macchine virtuali per OpenStack testato con quattro diversi algoritmi di consolidamento. Il consolidamento `e, ad oggi, uno dei temi di primaria impor- tanza nei sistemi cloud. Si tratta dello sviluppo di strategie per l’allocazione delle risorse che garantiscano l’utilizzo ottimale dell’hardware disponibile ai fini del risparmio energetico, problema sempre piu` rilevante nei data center, data la loro incessante crescita. Al fine di valutare la nostra soluzione abbiamo usato aDock per lanciare un sistema OpenStack e confrontare gli algoritmi di consolidamento proposti. Grazie ad aDock siamo stati in grado di avviare il sistema in un tempo ra- gionevole, anche su computer portatili. I risultati delle simulazioni hanno dimostrato che i quattro algoritmi di consolidamento portano ad un notevole miglioramento nell’allocazione delle risorse del sistema.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
thesis.pdf

accessibile in internet per tutti

Descrizione: Thesis document
Dimensione 1.12 MB
Formato Adobe PDF
1.12 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/107071