Upload
others
View
24
Download
1
Embed Size (px)
Citation preview
CloudSim
A Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services
Luca Silvestri [email protected]
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
– gestisce diversi host – responsabile dell’allocazione delle VM sugli host fisici – possibilità di definire nuove politiche di allocazione
• Host – 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
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 eij 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=eij)
• 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 CO2
– 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.