32
CloudSim A Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services Luca Silvestri [email protected]

CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

  • Upload
    others

  • View
    23

  • Download
    1

Embed Size (px)

Citation preview

Page 1: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

CloudSim

A Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services

Luca Silvestri [email protected]

Page 2: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 3: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 4: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

Architettura Cloud

[email protected]

Page 5: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

Federation of Clouds

[email protected]

Page 6: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 7: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 8: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 9: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 10: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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/

[email protected]

Page 11: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 12: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

Architettura CloudSim

[email protected]

Page 13: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 14: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 15: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 16: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

Esempio Provisioning

[email protected]

SS VM, SS task SS VM, TS task

TS VM, SS task TS VM, TS task

Page 17: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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)

[email protected]

Page 18: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 19: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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!

[email protected]

Page 20: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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)

[email protected]

Page 21: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

Implementazione CloudSim

[email protected]

• Cloudlet modella i servizi applicativi (content delivery, social networking,…) forniti dal Cloud • DatacenterBroker modella il broker responsabile della negoziazione tra SaaS e Cloud provider

Page 22: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 23: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 24: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 25: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 26: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

Energy Aware VM Allocation

•  Prestazioni delle varie politiche di allocazione valutate tramite CloudSim

[email protected]

Page 27: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 28: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 29: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 30: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Work in progress…

Page 31: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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

[email protected]

Page 32: CloudSim - uniroma2.it · 2013-03-17 · CloudSim Features • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation

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.

[email protected]