Cloud computing infrastructures allow applications, deployed in a cloud environment, to automatically scale up or down the number of computing resources that are being used. This capability is called auto-scaling, and its purpose is to adjust the scale of system which the application is running on, to satisfy the varying workload with minimum resource utilization. Auto-scaling approaches are particularly critical during workload peaks while applications may need to scale up to extremely large-scale systems. These type of approaches have been developed by research community and also main cloud providers like Amazon EC2, but most of them are centralized which is not always enough to handle large scale systems, or they have been prepared to be applied only for specific providers which makes them dependable on characteristics of that providers such as resource prices, management and maintenance, availability. Auto scaling approaches are always supported by load-balancing solutions. Load-balancing is dividing the amount of work between numerous nodes on cloud providers, so that more work gets done in the same amount of time and, in general, all users get served faster. It also attributes workload to the new nodes, added in scaling up procedures; otherwise they will not receive any work. Load-balancing approaches select a subset of critical system elements such as response time, availability, cost and multiple provider possibility to make scale up/down decisions. Research community recently argues to scale up/down systems through managing the number of virtual machines initializing on each cloud provider, and also highlights the usage of multi-cloud strategy. This strategy defines simultaneous usage of cloud services in order to minimize the risk of data loss or downtime due to a localized component failure in each cloud computing environment. In this thesis two almost-decentralized load balancing solution in a multi-cloud environment are introduced which are implemented by a p2p architecture. Each of them can be used for specific scenarios. These solutions define a threshold on number of VMs. The value of threshold can be set based on an agreement among the provider and customer, or based on the current situation of the system at each time instance. Our solutions aim to provide a trade-off among availability and cost in order to satisfy requirements of customers and QoS characteristics. We summarize the goals of introducing our approaches in two items: (i) keeping response time close to those obtained in single cloud scenarios, (ii) increasing the availability as much as possible with keeping the costs under the agreed limitations with customers.

Le infrastrutture di cloud computing permettono alle applicazioni di aumentare o ridurre automaticamente il numero di risorse di calcolo che vengono utilizzate. Questa caratteristica è detta auto-scaling e il suo scopo è quello di adattare la capacità del sistema su cui l'applicazione è in esecuzione in modo da soddisfare carichi di lavoro variabili minimizzando il numero di risorse utilizzate. Gli approcci di auto-scaling sono particolarmente critici durante i picchi di carico quando le applicazioni richiedono di scalare velocemente fino a sistemi di larga scala. Questo tipo di approcci sono stati sviluppati sia dalla comunità di scientifica e sia dai principali cloud provider, come ad esempio Amazon EC2, ma la maggior parte di essi hanno una natura di tipo centralizzato. Un’architettura centralizzata non è sempre adeguata per gestire sistemi di grandi dimensioni. Talvolta le soluzioni proposte possono essere utilizzate solo per specifici cloud providers poichè considerano specifici modelli di pricing e/o meccanismi di gestione e manutenzione. Gli approcci di auto scaling sono sempre integrati con soluzioni di load-balancing. Il load-balancing ha come obiettivo la suddivisione del carico di lavoro tra numerosi nodi, in modo che un carico crescente possa essere eseguito per unità di tempo e, in generale, tutti gli utenti possano essere serviti senza degrado delle prestazioni. I load balancer assegnano, inoltre, il carico ai nuovi nodi ottenuti come risultato delle procedure di scale up, che altrimenti non riceverebbero alcuna richiesta. Le tecniche di load-balancing considerano un sottoinsieme di metriche critiche per un sistema come il tempo di risposta, la disponibilità e il costo. La comunità scientifica ha recentemente proposto di incrementare/decrementare la capacità di calcolo garantendo un numero minimo di macchine virtuali su più cloud provider, proponendo l’adozione di strategie multi-cloud. Tali strategie definiscono l’uso di servizi cloud distribuiti in modo da minimizzare il rischio di perdita di dati o downtime a causa del malfunzionamento di un singolo componente in esecuzione in uno specifico ambiente cloud. In questa tesi vengono proposte due soluzioni di bilanciamento di carico quasi decentralizzate in un ambiente multi-cloud e sono implementate da un'architettura p2p . Ognuna di esse può essere utilizzata per scenari specifici che verranno discussi nel seguito. Queste soluzioni definiscono una soglia per il numero minimo di macchine virtuali. Il valore di soglia può essere impostato in base a un accordo tra i provider e clienti, o sulla base della condizioni di carico del sistema in specifici istanti temporali. Le nostre soluzioni mirano a fornire un trade-off tra disponibilità e costi, al fine di soddisfare i requisiti dei clienti espressi in termini di qualità del servizio. In sintesi il nostro obiettivo è duplice: (i) garantire un tempo di risposta prossimo a quello che può essere ottenuto in uno scenario single cloud, ( ii ) aumentare la disponibilità mantenendo i costi al di sotto di un budget predefinito.

Extending a decentralized probabilistic auto-scaling algorithm (DEPAS) with a load balancing approach for multi Cloud applications

ASKARPOUR, MEHRNOOSH
2012/2013

Abstract

Cloud computing infrastructures allow applications, deployed in a cloud environment, to automatically scale up or down the number of computing resources that are being used. This capability is called auto-scaling, and its purpose is to adjust the scale of system which the application is running on, to satisfy the varying workload with minimum resource utilization. Auto-scaling approaches are particularly critical during workload peaks while applications may need to scale up to extremely large-scale systems. These type of approaches have been developed by research community and also main cloud providers like Amazon EC2, but most of them are centralized which is not always enough to handle large scale systems, or they have been prepared to be applied only for specific providers which makes them dependable on characteristics of that providers such as resource prices, management and maintenance, availability. Auto scaling approaches are always supported by load-balancing solutions. Load-balancing is dividing the amount of work between numerous nodes on cloud providers, so that more work gets done in the same amount of time and, in general, all users get served faster. It also attributes workload to the new nodes, added in scaling up procedures; otherwise they will not receive any work. Load-balancing approaches select a subset of critical system elements such as response time, availability, cost and multiple provider possibility to make scale up/down decisions. Research community recently argues to scale up/down systems through managing the number of virtual machines initializing on each cloud provider, and also highlights the usage of multi-cloud strategy. This strategy defines simultaneous usage of cloud services in order to minimize the risk of data loss or downtime due to a localized component failure in each cloud computing environment. In this thesis two almost-decentralized load balancing solution in a multi-cloud environment are introduced which are implemented by a p2p architecture. Each of them can be used for specific scenarios. These solutions define a threshold on number of VMs. The value of threshold can be set based on an agreement among the provider and customer, or based on the current situation of the system at each time instance. Our solutions aim to provide a trade-off among availability and cost in order to satisfy requirements of customers and QoS characteristics. We summarize the goals of introducing our approaches in two items: (i) keeping response time close to those obtained in single cloud scenarios, (ii) increasing the availability as much as possible with keeping the costs under the agreed limitations with customers.
CALCAVECCHIA, NICOLO' MARIA
ING - Scuola di Ingegneria Industriale e dell'Informazione
18-dic-2013
2012/2013
Le infrastrutture di cloud computing permettono alle applicazioni di aumentare o ridurre automaticamente il numero di risorse di calcolo che vengono utilizzate. Questa caratteristica è detta auto-scaling e il suo scopo è quello di adattare la capacità del sistema su cui l'applicazione è in esecuzione in modo da soddisfare carichi di lavoro variabili minimizzando il numero di risorse utilizzate. Gli approcci di auto-scaling sono particolarmente critici durante i picchi di carico quando le applicazioni richiedono di scalare velocemente fino a sistemi di larga scala. Questo tipo di approcci sono stati sviluppati sia dalla comunità di scientifica e sia dai principali cloud provider, come ad esempio Amazon EC2, ma la maggior parte di essi hanno una natura di tipo centralizzato. Un’architettura centralizzata non è sempre adeguata per gestire sistemi di grandi dimensioni. Talvolta le soluzioni proposte possono essere utilizzate solo per specifici cloud providers poichè considerano specifici modelli di pricing e/o meccanismi di gestione e manutenzione. Gli approcci di auto scaling sono sempre integrati con soluzioni di load-balancing. Il load-balancing ha come obiettivo la suddivisione del carico di lavoro tra numerosi nodi, in modo che un carico crescente possa essere eseguito per unità di tempo e, in generale, tutti gli utenti possano essere serviti senza degrado delle prestazioni. I load balancer assegnano, inoltre, il carico ai nuovi nodi ottenuti come risultato delle procedure di scale up, che altrimenti non riceverebbero alcuna richiesta. Le tecniche di load-balancing considerano un sottoinsieme di metriche critiche per un sistema come il tempo di risposta, la disponibilità e il costo. La comunità scientifica ha recentemente proposto di incrementare/decrementare la capacità di calcolo garantendo un numero minimo di macchine virtuali su più cloud provider, proponendo l’adozione di strategie multi-cloud. Tali strategie definiscono l’uso di servizi cloud distribuiti in modo da minimizzare il rischio di perdita di dati o downtime a causa del malfunzionamento di un singolo componente in esecuzione in uno specifico ambiente cloud. In questa tesi vengono proposte due soluzioni di bilanciamento di carico quasi decentralizzate in un ambiente multi-cloud e sono implementate da un'architettura p2p . Ognuna di esse può essere utilizzata per scenari specifici che verranno discussi nel seguito. Queste soluzioni definiscono una soglia per il numero minimo di macchine virtuali. Il valore di soglia può essere impostato in base a un accordo tra i provider e clienti, o sulla base della condizioni di carico del sistema in specifici istanti temporali. Le nostre soluzioni mirano a fornire un trade-off tra disponibilità e costi, al fine di soddisfare i requisiti dei clienti espressi in termini di qualità del servizio. In sintesi il nostro obiettivo è duplice: (i) garantire un tempo di risposta prossimo a quello che può essere ottenuto in uno scenario single cloud, ( ii ) aumentare la disponibilità mantenendo i costi al di sotto di un budget predefinito.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2013_12_Askarpour_01.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Thesis text
Dimensione 4.23 MB
Formato Adobe PDF
4.23 MB Adobe PDF   Visualizza/Apri
2013_12_Askarpour_02.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Thesis text
Dimensione 4.23 MB
Formato Adobe PDF
4.23 MB Adobe PDF   Visualizza/Apri
2013_12_Askarpour_03.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Thesis text
Dimensione 4.01 MB
Formato Adobe PDF
4.01 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/88367