CloudSim A Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services Luca Silvestri
Agenda Richiami su Cloud Computing Architettura Federation of Clouds Motivazioni CloudSim concetti struttura Applicazioni Energy-Aware VMs allocation Hybrid Cloud provisioning Automated VM provisioning Esempi
Cloud Computing Caratteristiche principali Risorse HW e applicazioni SW considerate come servizi Virtualizzazione Tariffazione pay-per-use Provisioning dinamico delle risorse Alto livello di Affidabilità, Elasticità e Disponibilità Tipi di cloud pubblica privata ibrida Esempi SaaS: Google Apps (Gmail, Docs, Calendar, ) PaaS: Google AppEngine, Microsoft Azure, IaaS: Amazon EC2, OpenNebula, Eucalyptus
Architettura Cloud
Federation of Clouds
Agenda Richiami su Cloud Computing Architettura Federation of Clouds Motivazioni CloudSim concetti struttura Applicazioni Energy-Aware VMs allocation Hybrid Cloud provisioning Automated SLA provisioning Esempi
Valutazione Prestazioni Difficile quantificare le prestazioni di politiche di provisioning (scheduling e allocazione) per diversi tipi di applicazioni in ambienti Cloud reali Sistemi Cloud hanno caratteristiche molto variabili (dimensioni, risorse HW, SW e di rete, ) Utenti hanno requisiti di QoS diversi, dinamici e in conflitto tra loro Applicazioni hanno prestazioni, carico e SLA molto diversi e variabili nel tempo Infrastrutture esistenti (Amazon EC2, Microsoft Azure), troppo rigide per testare le prestazioni delle applicazioni in condizioni di traffico e disponibilità molto variabili riconfigurazione molto lenta difficile ottenere riproducibilità dei risultati
Approccio Simulativo Vantaggi ambiente controllato risultati riproducibili possibilità di testare varie configurazioni sotto vari tipi di traffico riconfigurazione semplice e veloce rimozione limitazioni delle infrastrutture Cloud esistenti (flessibilità totale) configurabilità macchine fisiche e virtuali cloud federati Simulatori di sistemi distribuiti esistenti (es: SimGrid) non permettono di modellare dettagliatamente infrastruttura Cloud
Agenda Richiami su Cloud Computing Architettura Federation of Clouds Motivazioni CloudSim concetti struttura Applicazioni Energy-Aware VMs allocation Hybrid Cloud provisioning Automated SLA provisioning Esempi
CloudSim Generalized, and extensible simulation framework that enables seamless modeling, simulation, and experimentation of emerging Cloud computing infrastructures and application services Discrete event-based simulation Sviluppato da CLOUDS Laboratory, Università di Melbourne Scritto in JAVA (inizialmente basato su SimJava) Versione corrente 2.1 (28 Luglio 2010) Pagina del progetto: http://www.buyya.com/gridbus/cloudsim/
CloudSim Features support for modeling and simulation of large scale Cloud computing data centers support for modeling and simulation of virtualized server hosts, with customizable policies for provisioning host resources to virtual machines support for modeling and simulation of energy-aware computational resources support for modeling and simulation of federated clouds support for dynamic insertion of simulation elements, stop and resume of simulation support for user-defined policies for allocation of hosts to VMs and policies for allocation of host resources to VMs
Architettura CloudSim
Entità CloudSim Data Center Host gestisce diversi host responsabile dell allocazione delle VM sugli host fisici possibilità di definire nuove politiche di allocazione rappresenta una macchina fisica (single o multicore) possibilità di specificare: capacità computazionale (in MIPS), memoria, storage e politica di VM provisioning host allocation policy definisce mapping tra cores e VMs all interno di un host VM rappresenta una macchina virtuale all interno di un host caratterizzata da capacità computazionale, memoria e storage disponibile
VM Allocation CloudSim supporta il VM provisioning a 2 livelli host level: quantità della capacità computazionale di ogni core assegnata ad ogni VM VM level: quantità di capacità computazionale disponibile che la VM assegna alle singole task units servizio applicativo in esecuzione su una VM diviso in task units Ad ogni livello sono disponibili due diverse politiche di provisioning Time-Shared Space-Shared
Politiche di Provisioning Esempio: 1 host fisico con 2 CPU 2 macchine virtuali sull host fisico ogni VM richiede 2 cores VM1 deve eseguire task units t1,t2,t3,t4 VM2 deve eseguire task units t5,t6,t7,t8 4 possibili implementazioni a) Space-shared VM, Space-shared task provisioning b) Space-shared VM, Time-shared task provisioning c) Time-shared VM, Space-shared task provisioning d) Time-shared VM, Time-shared task provisioning
Esempio Provisioning SS VM, SS task SS VM, TS task TS VM, SS task TS VM, TS task
Cloud Market Necessario modellare aspetti economici per valutare rapporto costi-benefici derivante da utilizzo architettura Cloud In CloudSim mercato modellato su 2 livelli: IaaS: costo per unità di memoria, storage e banda SaaS: costo per task unit fornite dai servizi applicativi Possibile modificare e creare nuovi sistemi di pagamento es: costo per VM per ora (Amazon EC2)
Modellazione rete In CloudSim non ci sono entità per modellare componenti rete (router, switch) Latenza di un messaggio da un entità ad un altra rappresentata tramite una matrice di latenza L elemento e ij della matrice indica la latenza che un messaggio incontra quando viene trasferito dall entità i-esima a quella j-esima nella rete Un evento iniziato dall entità i-esima nell istante t sarà inoltrato all entità j-esima nell istante t+d (d=e ij ) Ritardo espresso in millisecondi Topologia della rete memorizzata in un file esterno in formato BRITE
Federazione di Cloud Per far parte di una federazione ogni data center deve istanziare un entità di tipo Cloud Coordinator Cloud Coordinator effettua monitoring e management all interno del data center si occupa della comunicazione con altri data centers Stato interno ad un data center (utilizzazione, temperatura) monitorato da entità sensore collegata al Cloud Coordinator Quando Cloud Coordinator rileva violazione di alcune soglie comunica con i suoi pari per contrattare una divisione del carico Nota: nei sistemi Cloud pubblici ancora non sono state implementate entità cloud coordinator che permettano di creare Cloud federati!
Altre funzionalità CloudSim Workload dinamico modellabile estendendo entità Utilization Model Supporto base per modellazione consumo energia nei data center costo dei sistemi di raffreddamento produzione di CO 2 classe astratta PowerModel estendibile per simulare diverse tecniche di gestione dell energia (es: Dynamic Voltage and Frequency Scaling, DVFS) Possibilità di creare dinamicamente entità permette di simulare failures e aggiunta dinamica di componenti al sistema (data center, host)
Implementazione CloudSim Cloudlet modella i servizi applicativi (content delivery, social networking, ) forniti dal Cloud DatacenterBroker modella il broker responsabile della negoziazione tra SaaS e Cloud provider
Classe CloudSim Classe principale, gestisce la coda degli eventi e controlla l esecuzione sequenziale degli eventi simulati Ogni evento generato viene inserito nella coda future events Eventi schedulati ad ogni passo della simulazione rimossi dalla coda future events ed inseriti in quella deferred events Per ogni elemento nella deferred events queue è eseguito un metodo per il processamento degli eventi che prende gli eventi dalla coda ed esegue le azioni appropriate Questo approccio permette di disattivare temporaneamente le entità context switching delle entità tra diversi stati Creazione di nuovi eventi a runtime Interruzione e riavvio simulazione a runtime
Agenda Richiami su Cloud Computing Architettura Federation of Clouds Motivazioni CloudSim concetti struttura Applicazioni Energy-Aware VMs allocation Hybrid Cloud provisioning Automated SLA provisioning Esempi
Energy Aware VM Allocation Problema: necessità di valutare tecniche di allocazione che permettano di ridurre consumo energetico evitando violazioni SLA Idea: VM live migration VM spostate da un host all altro in modo di tenere in funzione il numero minimo di macchine fisiche che permetta di garantire rispetto degli SLA Migrazione avviene per gestire nuove richieste di VMs per ottimizzare allocazione corrente Ottimizzazione in due passi scegliere VMs da migrare scegliere su quali host migrare le VMs
Energy Aware VM Allocation Varie euristiche considerate per selezione VM da migrare: Dynamic Voltage and Frequency Scaling (DVFS) Single Threshold (ST): VM spostate in modo di non violare una soglia massima sull utilizzazione dei singoli host Minimizing Migrations (MM): settata soglia massima e minima di utilizzazione per limitare numero di migrazioni Selezione host su cui migrare VM VMs ordinate in ordine di utilizzazione decrescente ogni VM allocata sull host per il quale è minimo l aumento di consumo di energia dovuta all allocazione
Energy Aware VM Allocation Prestazioni delle varie politiche di allocazione valutate tramite CloudSim
Hybrid Cloud Provisioning Problema: valutare il rapporto costo-benefici derivante dall utilizzo di un Cloud ibrido Rete composta da Cloud Privato (es: aziendale) Cloud Pubblico (es: Amazon EC2) Si considera possibilità di migrare traffico dal cloud privato a quello pubblico in caso di traffico intenso l utilizzo del cloud privato non ha costo il costo di utilizzo del cloud pubblico è di $ 0,10 per VM per ora di utilizzo Numero di VMs istanziate sul cloud pubblico variabile dal 10% al 100% del numero di host disponibili sul cloud privato
Hybrid Cloud Provisioning Simulazione tramite CloudSim Private Cloud composto da 100 host Workload di 10000 tasks con tempo di servizio generato casualmente secondo distribuzione normale Task units allocate sulle VM in modo space-shared
Automated SLA provisioning Scenario servizio web offerto tramite infrastruttura cloud pubblica (Amazon EC2) fornitore del servizio stipula SLA con utenti workload di tipo bursty Problema: determinare il numero di VMs da allocare in modo di rispettare gli SLA minimizzando i costi
Automated SLA provisioning Applicabili varie politiche per determinare numero VM da allocare reattive proattive Usare simulazione CloudSim per valutare l efficienza di queste politiche in base a numero di violazioni degli SLA osservate costo totale Work in progress
Agenda Richiami su Cloud Computing Architettura Federation of Clouds Motivazioni CloudSim concetti struttura Applicazioni Energy-Aware VMs allocation Hybrid Cloud provisioning Automated SLA provisioning Esempi
Riferimenti http://www.buyya.com/gridbus/cloudsim/ http://code.google.com/p/cloudsim/ Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, Cesar A. F. De Rose, and Rajkumar Buyya, CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning Algorithms, Software: Practice and Experience, ISSN: 0038-0644, Wiley Press, New York, USA, 2010 (in press, accepted on June 14, 2010). Anton Beloglazov, and Rajkumar Buyya, Energy Efficient Allocation of Virtual Machines in Cloud Data Centers. Proceedings of the 10th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid 2010), Melbourne, Australia, May 17-20, 2010.