In recent years the evolution and the widespread adoption of virtualization, service-oriented architectures, autonomic and utility computing have converged letting a new paradigm to emerge: The Cloud Computing. Cloud Computing aims at streamlining the on-demand provisioning of software, hardware, and data as services, providing end-user with flexible and scalable services accessible through the Internet. Due to the large scale nature of the Cloud and the service centers, resource provisioning is one of the most important challenges. Indeed modern cloud infrastructures and service centers are characterized by continuous changes in the environment and in the requirements they have to meet. Therefore, in order to provide infrastructure or software as a service, advanced solutions have to be developed to be able to dynamically adapt the Cloud infrastructure, while providing continuous service and performance guarantees. This thesis aims to develop capacity allocation techniques able to coordinate multiple distributed resource controllers working in geographically distributed cloud sites. Furthermore, capacity allocation solutions are integrated with a load redirection mechanism which forwards incoming requests among different domains in order to allow a better Quality of Service (QoS) during traffic fluctuations. The overall goal is to minimize the cost of the allocated cloud resources while guaranteeing quality of service constraints. In our work, the capacity allocation and load redirect of multiple class of requests are modeled as non-linear programming problem and solved with decomposition techniques. We performed also evaluations of our solution with multiple heuristics provided in the literature and the effectiveness has been evaluated on a real prototype environment deployed on Amazon EC2. Results have shown that our solution is always cheaper than other state of the art techniques (up to 35%), especially under noisy workloads, without introducing significant QoS violations. Furthermore, our solutions are very close to the ones found by an oracle with perfect knowledge of the future.

Negli ultimi anni l’evoluzione e la diffusa adozione di virtualizzazione, di architetture orientate ai servizi, autonomic and utility computing sono confluiti in un nuovo paradigma emergente: il Cloud Computing. Il Cloud Computing mira a semplificare la fornitura on-demand di software, hardware e dati erogati come servizi, proponendo così all’utente finale sevizi flessibili scalabili accessibili tramite internet. Oggigiorno l’offerta Cloud sta diventando sempre più ampia in quanto tutte le principali aziende IT ed i fornitori di servizi, come Microsoft, HP, Google, Amazon, Terremark e VMWare hanno iniziato a fornire soluzioni che sfruttano questo nuovo paradigma tecnologico. Negli ultimi anni si è vista una diffusione a livello mondiale di conglomerati di server chiamati Large Scale Service Center; come nello scenario Cloud anche in questo la gestione delle risorse è un problema critico. A causa delle dimensioni su larga scala del Cloud e dei Service Center alcune delle maggiori sfide è la fornitura delle risorse. Infatti le infrastrutture delle Cloud moderne e dei Service Center operano in un mondo caratterizzato da cambiamenti continui nell’ambiente e nei requisiti da soddisfare. Continui cambiamenti avvengono in modo autonomo e imprevedibile ed inoltre sono al di fuori del controllo del fornitore dei servizi Cloud. Pertanto, al fine di fornire infrastrutture o software come servizio, soluzioni avanzate devono essere sviluppate in grado di adattarsi dinamicamente alle infrastrutture Cloud, fornendo un servizio continuo e garantendo le performance. Dal momento che la violazione della qualità del servizio definita nel Service Level Agreement può portare ad una perdita di profitti i fornitori di servizi investono numerose risorse nella ricerca di soluzioni che minimizzino i costi rispettando nel contempo la qualità del servizio. Questa tesi si propone di sviluppare tecniche di allocazione delle risorse in grado di coordinare svariati controllori di risorse distribuiti operanti in siti Cloud distribuiti geograficamente. Inoltre, le soluzioni di assegnazione delle risorse sono integrate con un meccanismo di reindirizzamento di carico che inoltra le richieste in arrivo tra domini diversi, al fine di consentire una migliore qualità del servizio durante le fluttuazioni del traffico. L’obiettivo è quello di minimizzare il costo totale delle risorse assegnate garantendo co- munque il rispetto dei vincoli sulla qualità del servizio. Nel nostro lavoro, l’assegnazione delle risorse ed il reindirizzamento di svariate classi di richieste vengono modellate come problemi di programmazione non lineare e risolti attraverso tecniche di decomposizione. Abbiamo effettuato inoltre un’ampia valutazione della nostra soluzione confrontandola con diverse euristiche presenti in letteratura. Infine abbiamo valutato l’efficacia dei nostri algoritmi di gestione delle risorse su un vero ambiente di prova il cui prototipo è stato implementato su Amazon EC2. I risultati hanno dimostrato che la nostra soluzione è sempre più conveniente rispetto alle altre di riferimento (fino ad un 35%), in particolar modo in condizioni di traffico rumoroso senza comportare violazioni significative della qualità del servizio. Inoltre le nostre soluzioni risultano essere molto simili a quelle trovate da un oracolo con perfetta conoscenza del futuro.

Multi time scale distributed capacity allocation and load redirect algorithms for cloud systems

CASIERO, MARCO;VETTOR, STEFANO
2009/2010

Abstract

In recent years the evolution and the widespread adoption of virtualization, service-oriented architectures, autonomic and utility computing have converged letting a new paradigm to emerge: The Cloud Computing. Cloud Computing aims at streamlining the on-demand provisioning of software, hardware, and data as services, providing end-user with flexible and scalable services accessible through the Internet. Due to the large scale nature of the Cloud and the service centers, resource provisioning is one of the most important challenges. Indeed modern cloud infrastructures and service centers are characterized by continuous changes in the environment and in the requirements they have to meet. Therefore, in order to provide infrastructure or software as a service, advanced solutions have to be developed to be able to dynamically adapt the Cloud infrastructure, while providing continuous service and performance guarantees. This thesis aims to develop capacity allocation techniques able to coordinate multiple distributed resource controllers working in geographically distributed cloud sites. Furthermore, capacity allocation solutions are integrated with a load redirection mechanism which forwards incoming requests among different domains in order to allow a better Quality of Service (QoS) during traffic fluctuations. The overall goal is to minimize the cost of the allocated cloud resources while guaranteeing quality of service constraints. In our work, the capacity allocation and load redirect of multiple class of requests are modeled as non-linear programming problem and solved with decomposition techniques. We performed also evaluations of our solution with multiple heuristics provided in the literature and the effectiveness has been evaluated on a real prototype environment deployed on Amazon EC2. Results have shown that our solution is always cheaper than other state of the art techniques (up to 35%), especially under noisy workloads, without introducing significant QoS violations. Furthermore, our solutions are very close to the ones found by an oracle with perfect knowledge of the future.
PANICUCCI, BARBARA
ING V - Facolta' di Ingegneria dell'Informazione
31-mar-2011
2009/2010
Negli ultimi anni l’evoluzione e la diffusa adozione di virtualizzazione, di architetture orientate ai servizi, autonomic and utility computing sono confluiti in un nuovo paradigma emergente: il Cloud Computing. Il Cloud Computing mira a semplificare la fornitura on-demand di software, hardware e dati erogati come servizi, proponendo così all’utente finale sevizi flessibili scalabili accessibili tramite internet. Oggigiorno l’offerta Cloud sta diventando sempre più ampia in quanto tutte le principali aziende IT ed i fornitori di servizi, come Microsoft, HP, Google, Amazon, Terremark e VMWare hanno iniziato a fornire soluzioni che sfruttano questo nuovo paradigma tecnologico. Negli ultimi anni si è vista una diffusione a livello mondiale di conglomerati di server chiamati Large Scale Service Center; come nello scenario Cloud anche in questo la gestione delle risorse è un problema critico. A causa delle dimensioni su larga scala del Cloud e dei Service Center alcune delle maggiori sfide è la fornitura delle risorse. Infatti le infrastrutture delle Cloud moderne e dei Service Center operano in un mondo caratterizzato da cambiamenti continui nell’ambiente e nei requisiti da soddisfare. Continui cambiamenti avvengono in modo autonomo e imprevedibile ed inoltre sono al di fuori del controllo del fornitore dei servizi Cloud. Pertanto, al fine di fornire infrastrutture o software come servizio, soluzioni avanzate devono essere sviluppate in grado di adattarsi dinamicamente alle infrastrutture Cloud, fornendo un servizio continuo e garantendo le performance. Dal momento che la violazione della qualità del servizio definita nel Service Level Agreement può portare ad una perdita di profitti i fornitori di servizi investono numerose risorse nella ricerca di soluzioni che minimizzino i costi rispettando nel contempo la qualità del servizio. Questa tesi si propone di sviluppare tecniche di allocazione delle risorse in grado di coordinare svariati controllori di risorse distribuiti operanti in siti Cloud distribuiti geograficamente. Inoltre, le soluzioni di assegnazione delle risorse sono integrate con un meccanismo di reindirizzamento di carico che inoltra le richieste in arrivo tra domini diversi, al fine di consentire una migliore qualità del servizio durante le fluttuazioni del traffico. L’obiettivo è quello di minimizzare il costo totale delle risorse assegnate garantendo co- munque il rispetto dei vincoli sulla qualità del servizio. Nel nostro lavoro, l’assegnazione delle risorse ed il reindirizzamento di svariate classi di richieste vengono modellate come problemi di programmazione non lineare e risolti attraverso tecniche di decomposizione. Abbiamo effettuato inoltre un’ampia valutazione della nostra soluzione confrontandola con diverse euristiche presenti in letteratura. Infine abbiamo valutato l’efficacia dei nostri algoritmi di gestione delle risorse su un vero ambiente di prova il cui prototipo è stato implementato su Amazon EC2. I risultati hanno dimostrato che la nostra soluzione è sempre più conveniente rispetto alle altre di riferimento (fino ad un 35%), in particolar modo in condizioni di traffico rumoroso senza comportare violazioni significative della qualità del servizio. Inoltre le nostre soluzioni risultano essere molto simili a quelle trovate da un oracolo con perfetta conoscenza del futuro.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
thesis_final.pdf

solo utenti autorizzati dal 05/03/2014

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