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

Introduzione

Recentemente, il cloud computing è emerso come la tecnologia leader per fornire servizi di calcolo affidabili, sicuri, tolleranti ai guasti, sostenibili e scalabili, che vengono presentati come Software, Infrastruttura o asservizi di piattaforma (SaaS, IaaS, PaaS). Inoltre, questi servizi possono essere offerti in data center privati (cloud privati), possono essere offerti commercialmente per clienti (cloud pubblici), o ancora è possibile che sia i cloud pubblici che quelli privati siano combinati in cloud ibridi.

Questi già ampi ecosistemi di architetture cloud, insieme alla crescente domanda di tecnologie IT ad alta efficienza energetica, richiedono metodologie tempestive,ripetibili e controllabili per la valutazione di algoritmi, applicazioni e politiche prima dello sviluppo effettivo dei prodotti cloud.Poiché l’utilizzo di banchi di prova reali limita gli esperimenti alla scala del banco di prova e rende estremamente difficile la riproduzione dei risultati, approcci alternativi per i test e la sperimentazione sfruttano lo sviluppo di nuove tecnologie Cloud.

Un’alternativa adeguata è l’utilizzo di strumenti di simulazione, che aprono la possibilità di valutare l’ipotesi prima dello sviluppo del software in un ambiente in cui è possibile riprodurre i test. In particolare nel caso del Cloud computing, in cui l’accesso all’infrastruttura comporta pagamenti in valuta reale, gli approcci basati sulla simulazione offrono vantaggi significativi, in quanto consentono ai clienti Cloud di testare i propri servizi in ambienti ripetibili e controllabili gratuitamente e di ottimizzare i colli di bottiglia delle prestazioni prima di distribuirli su cloud reali. Dal lato del provider, gli ambienti di simulazione consentono la valutazione di diversi tipi di scenari di leasing di risorse con distribuzioni di carico e prezzi variabili. Tali studi potrebbero aiutare i fornitori a ottimizzare il costo di accesso alle risorse con particolare attenzione al miglioramento dei profitti. In assenza di tali piattaforme di simulazione, i clienti e i provider cloud devono fare affidamento su valutazioni teoriche e imprecise o su approcci di prova ed errore che portano a prestazioni del servizio inefficienti e generazione di entrate.

L’obiettivo principale di questo progetto è quello di fornire un framework di simulazione generalizzato ed estensibile che consenta la modellazione, la simulazione e la sperimentazione di infrastrutture e servizi applicativi di Cloud computing emergenti. Utilizzando CloudSim, i ricercatori e gli sviluppatori del settore possono concentrarsi su specifici problemi di progettazione del sistema che vogliono indagare, senza preoccuparsi dei dettagli di basso livello relativi alle infrastrutture e ai servizi basati sul cloud.

Caratteristiche principali

Panoramica delle funzionalità CloudSim:

  • supporto per la modellazione e la simulazione di larga scala di dati in Cloud computing centri di
  • supporto per la modellazione e la simulazione di server virtualizzati padroni di casa, personalizzabili con le politiche per il provisioning di risorse host di macchine virtuali
  • supporto per la modellazione e la simulazione di applicazione contenitori
  • supporto per la modellazione e la simulazione di energia a conoscenza di risorse di calcolo
  • supporto per la modellazione e la simulazione di data center topologie di rete e di message-passing applicazioni
  • supporto per la modellazione e la simulazione di federati nuvole
  • supporto per l’inserimento dinamico di elementi di simulazione, interrompere e riprendere di simulazione
  • supporto per l’utente-i criteri definiti per l’assegnazione di host di macchine virtuali e criteri per l’allocazione delle risorse host di macchine virtuali

Documentazione

  • Un corso online di CloudSim, che comprende video, sviluppato da Anupinder Singh in India.
  • Esempi
  • Note di Rilascio
  • l’Installazione e l’Esecuzione CloudSim (README)
  • Changelog
  • Contenitori in CloudSim

Scaricare

Il CloudSim pacchetto contenente il codice sorgente, esempi, vasi, e APIdocumentation può essere scaricato dal CloudSim pagina web su GitHub:

https://github.com/Cloudslab/cloudsim/releases

Codice articolo: Tom Guerout, Thierry Monteil, Georges Da Costa, Rodrigo N. Calheiros, Rajkumar Buyya, Mihai Alexandru. Simulazione consapevole dell’energia con DVFS.Simulation Modelling Practice and Theory, Volume 39, pagine 76-91, dicembre 2013.

CloudSim_DVFS.rar

Gruppo di discussione (mailing list)

iFogSim

iFogSim consente la modellazione e la simulazione di ambienti Fog computing per la valutazione della gestione delle risorse e schedulingpolicies tra le risorse edge e cloud in diversi scenari. Il simulatore supporta la valutazione delle politiche di gestione delle risorse concentrandosi sul loro impatto su latenza (tempestività), consumo energetico,congestione della rete e costi operativi. Simula dispositivi edge, data center cloud e collegamenti di rete per misurare le metriche delle prestazioni. Il principale modello di applicazione supportato da iFogSim è il modello theSense-Process-Actuate. In tali modelli, i sensori pubblicano i dati sulle reti IoT, le applicazioni che eseguono dispositivi Fog sottoscrivono ed elaborano i dati provenienti dai sensori e, infine, le informazioni ottenute vengono tradotte in azioni inoltrate agli attuatori.

Scarica iFogSim qui. Maggiori informazioni possono essere trovate nel nostro documento SPE.

CloudSimEx

L’obiettivo del progetto cloudsimexè quello di sviluppare una serie di estensioni per il simulatore CloudSim. Le estensioni che si dimostrano degne saranno fuse con CloudSim in seguito.

Nota! Queste estensioni non sono ufficialmente supportate dal team CloudSim finché non sono integrate con CloudSim.

Attualmente funzioni di CloudSimEx:

  1. Modellazione sessione Web;
  2. Utilità di registrazione migliori;
  3. Utilità per la generazione di file CSV per l’analisi statistica;
  4. Generazione automatica di id;
  5. Utilità per l’esecuzione di più esperimenti in parallelo;
  6. Simulazione MapReduce.

EdgeCloudSim

EdgeCloudSim fornisce un ambiente di simulazione specifico per scenari di Edge Computing in cui è possibile condurre esperimenti che considerano sia le risorse computazionali che di rete. EdgeCloudSim si basa su CloudSim ma aggiunge alcune funzionalità aggiuntive come la modellazione di rete specifica per WLAN e WAN, modello di mobilità del dispositivo, generatore di carico realistico e sintonizzabile.

EdgeCloudSim è stato sviluppato da Cagatay Sonmez e dal team del NETLAB (Computer Networks Research Laboratory) nel Dipartimento di Ingegneria Informatica, Università Bogazici, Istanbul, Turchia.

Scaricare e ulteriori informazioni possono essere trovate nel GitHub del progetto.

CloudSim Automazione: Human Readable Scenario Specification forAutomated Creation of Simulations on CloudSim

CloudSim Automation è uno strumento a riga di comando Java basato su CLOUDSIM e CloudReports classes che è in grado di leggere le specifiche degli scenari di simulazione di Cloudsim da un file YAML, un formato di dati leggibile molto umano. Gli scenari di simulazione possono essere scritti all’interno di un file YAML e lo strumento di automazione cloud legge questi scenari di simulazione, li crea e li esegue su CloudSim.

Lo strumento rilascia ricercatori della necessità di scrivere codice Java justto eseguire scenari di simulazione. In questo modo, l’attenzione può essere focalizzata sul problema da risolvere, come la creazione di nuovi algoritmi per il bilanciamento del carico, nuove politiche di pianificazione delle macchine virtuali, posizionamento delle VM, provisioning delle risorse, previsione del carico di lavoro,consolidamento dei server, efficienza energetica, riduzione dei costi e così via.

I contributi principali di questo lavoro sono:

  1. per evitare di programmazione sulla creazione di CloudSim simulationenvironments;
  2. per ridurre la curva di apprendimento sulla creazione di CloudSim simulationscenarios;
  3. per facilitare e automatizzare CloudSim simulazione environmentscreation;
  4. per utilizzare un formato di file leggibile per specificare cloud simulationscenarios e velocizzare tale fase del processo di simulazione;
  5. per consentire il riutilizzo, l’estensione e la condivisione di scenari di simulazioni.

Il codice può essere scaricato da GitHub. Per ulteriori informazioni si prega di contattare il dottor Manoel Campos daSilva Filho.

WorkflowSim

WorkflowSim estende il toolkit di simulazione CloudSim introducendo il supporto per la preparazione e l’esecuzione del flusso di lavoro con l’implementazione di uno stack di workflow parser, workflow engine e job scheduler. Supporta un modello multi-layered di guasti e ritardi che si verificano nei vari livelli dei sistemi di workflowmanagement. Una serie di algoritmi di pianificazione del flusso di lavoro popolari (ad esempio,HEFT, Min-Min e Max-Min) e algoritmi di clustering delle attività sono stati implementatiin WorkflowSim. I parametri vengono appresi direttamente da tracce di esecuzioni realiche sono stati gestiti da sistemi di gestione del flusso di lavoro come Pegasus.WorkflowSim è stato sviluppato da Weiwei Chen e team presso l’Università di SouthernCalifornia, USA.

Scaricare e ulteriori informazioni possono essere trovate nel Github del progetto.

Cloud2Sim

Cloud2Sim propone un’architettura concorrente distribuita per le simulazioni Cloudsim. Sfruttando la griglia di dati in memoria di Hazelcast, CloudSim viene esteso per consentire a più istanze di eseguire i carichi di lavoro Cloudletand VM da più nodi e inviarli a Datacenterbroker, mentre esegue i segmenti di simulazione core che non possono essere distribuiti dall’istanza Cloud2Sim master. Inoltre, un’architettura adattiva è progettata e implementata per scalare elasticamente le risorse messe a disposizione della simulazione, con un thread Cloud2Simmonitoring in esecuzione su un cluster Hazelcast separato. Cloud2Simwork è stato sviluppato da Pradeeban Kathiravelu e Luis Veiga, atINESC-ID Lisboa, Universidade de Lisboa, Portogallo.

Scaricare e ulteriori informazioni possono essere trovate nella pagina Sourceforge del progetto.

SimpleWorkflow

Questo è un semplice pacchetto contenente classi che aiutano a simulare flussi di lavoro su CloudSim. Questo non è completo come WorkflowSim, ma utilizza gli stessi file di descrizione del carico di lavoro di WorkflowSim.

Scarica SimpleWorkflow qui.

DynamicCloudSim

L’instabilità delle prestazioni comunemente riscontrata in infrastrutture non uniformi e condivise come i cloud computazionali è stata ripetutamente osservata per influenzare fortemente il runtime delle applicazioni. Dynamicloudsim estende il CLOUDSIM simulation toolkit introducendo modelli per (1)eterogeneità nelle prestazioni delle risorse computazionali, (2)incertezza e cambiamenti dinamici nelle prestazioni delle macchine virtuali e (3) macchine ritardanti e guasti durante l’esecuzione delle attività.

Inoltre, Dynamicloudsim introduce una rappresentazione a grana fine delle risorse computazionali, consentendo in tal modo la simulazione dell’esecuzione di diversi tipi di applicazioni (CPU, I/O, communication-bound) su macchine con diverse caratteristiche prestazionali. Come punto di ingresso per la ricerca sulla pianificazione del flusso di lavoro, DYNAMICLOUDSIM fornisce la funzionalità per simulare l’esecuzione di flussi di lavoro scientifici utilizzando diversi scheduler ben consolidati.

Dynamicloudsim è stato sviluppato da Marc Bux presso l’Università Humboldt di Berlino, Germania. Il download è disponibile sul sito web del progetto su Google Code. Per domande e suggerimenti, contattabux (at) informatik.hu-berlin.de.

RealCloudSim

RealCloudSim è un simulatore di allocazioni di macchine virtuali basate sul motore principale del progetto CloudSim. RealCloudSim fornisce un’interfaccia graficaper leggere le topologie di rete basate sul formato BRITE. RealCloudSim utilizza anche itsown motore per simulare allocazioni basate su algoritmi genetici, IntegerProgramming misto con software Lingo, e simulazioni di rete basate sul NS2 (NetworkSimulator 2). Alla fine di ogni simulazione viene generato un report completo.

RealCloudSim è stato sviluppato da Lucio Agostinho Rocha e dal team dell’Università Statale di Campinas, in Brasile.

Dubbi e suggerimenti possono essere inviati via e-mail tooutrosdiasvirao a yahoo dot com dot br. Scaricare e ulteriori informazioni possono essere trovate nella pagina del progetto su SourceForge.

CloudReports

CloudReports è uno strumento grafico che simula ambienti di calcolo distribuiti basati sul paradigma del Cloud Computing. Esso utilizza CloudSim come itssimulation motore e fornisce un’interfaccia utente facile da usare, report generationfeatures e la creazione di estensioni in modo plugin.

CloudReports è stato sviluppato da Thiago Sa e dal team dell’Università Federale del Ceara, in Brasile.

Scaricare e ulteriori informazioni possono essere trovate nel github del progetto.

CloudAuction

Questo funziona estende Cloudsim sviluppando una libreria di pacchetti che enablesCloudSim per gestire i servizi basati su aste. L’obiettivo principale di questa ricerca èimplementare i meccanismi basati sull’asta in Cloudsim. Per testare la libreria di pacchetti, è stato introdotto un nuovo meccanismo di mercato per allocare efficacemente i servizi ai partecipanti sulla base del principio della doppia asta combinatoria. Il meccanismo considera gli attributi pertinenti applicabili negli ambienti di cloud computing a vantaggio e soddisfazione sia degli utenti che dei fornitori. In questa libreria di pacchetti, l’asta viene mantenuta in base al costo per i MIPS della CPU e alle caratteristiche remainig (larghezza di banda, dimensione della RAM, ecc.) sono considerati sul lato VM se corrispondono alla richiesta.

CloudAuction è stato sviluppato da Youness Teimoury (QIAU) e Parnia Samimi (UKM).

Scaricare: CloudAuctionV2. 0.zip (rilasciato il 25 marzo 2013).

CloudMIG Xpress

CloudMIG Xpress facilita il confronto e le fasi di pianificazioneriguardando la migrazione di sistemi software a cloud Environments basati su PaaS o IaaS. I modelli di codice possono essere estratti dal software basato su Java per (1) modellare l’attuale distribuzione del sistema e aumentarlo con un profilo di carico attuale, (2) confrontare i compromessi che devono essere effettuati per diverse opzioni di distribuzione cloud e (3) trasformare automaticamente il modello di sistema in un modello CloudSim per consentire la simulazione integrata di varie opzioni di distribuzione cloud

CloudMIG Xpress è stato sviluppato da Soren Frey, Florian Fittkau e dal team del Software Engineering Group, Kiel University, Kiel, Germania.

Scarica e maggiori informazioni: Progetto su Sourceforge.

FederatedCloudSim

FederatedCloudSim (FCS) è un’estensione versatile e flessibile del framework CloudSim. Consente una moltitudine di esperimenti di federazione cloud. FCS supporta gli SLA e offre un approccio di pianificazione a tre livelli per le VM (nei data center, tra data center dello stesso cloud Service provider (CSP) e tra CSP in una federazione). FCS offre anche un modello finanziario flessibile per analizzare l’impatto delle diverse strategie di pianificazione sui ricavi e sui profitti CSP e una piattaforma di vendita all’asta per lo scambio di VM.

FederatedCloudSim è stato sviluppato da ricercatori dell’Università Tecnica di Dortmund, in Germania. Per i dettagli, si prega di consultare il sito FederatedCloudSim.

CloudAnalyst

Cloud Analyst è uno strumento sviluppato presso l’Università di Melbourne il cui obiettivo è supportare la valutazione degli strumenti dei social network in base alla distribuzione geografica degli utenti e dei data center. In questo strumento,le comunità di utenti e data center che supportano i social network sono caratterizzati e, in base alla loro posizione; parametri come userexperience durante l’utilizzo dell’applicazione social network e il carico suldata center sono ottenuti/registrati.

Scarica: CloudAnalyst.zip (rilasciato il 26 novembre 2009).

Membri del Team di Progetto

Membri Attivi:

  • Rajkumar Buyya
  • Sara Kardani Moghaddam
  • Shashikant Ilager
  • TianZhang Lui
  • Amanda Jayanetti

Ex Membri e Collaboratori:

  • Rodrigo N. Calheiros
  • Rajiv Ranjan
  • Anton Beloglazov
  • Nikolay Grozev
  • Saurabh Garg
  • Sareh Fotuhi Piraghaj
  • Marcos Dias de Assuncao
  • Bhathiya Wickremasinghe
  • Jungmin Jay Figlio

Licenza Software

Il CloudSim Toolkit software è rilasciato come Open Source con licenza Apache, Versione 2.0 di licenza.
Copyright The CLOUDS Lab, Università di Melbourne, 2009 – ad oggi.

Pubblicazioni

  • Jungmin Son e Rajkumar Buyya, CloudSimSDN-NFV: Modellazione e simulazione di virtualizzazione delle funzioni di rete e concatenamento delle funzioni di servizio in ambienti di Edge Computing, SPE (in review).
  • Jungmin Son and Rajkumar Buyya, Priority-aware VM Allocation and Network Bandwidth Provisioning in Software-Defined Networking (SDN)-enabled Clouds, IEEE Transactions on Sustainable Computing (T-SUSC), Volume 4, Number 1, Pages: 17-28, ISSN: 2377-3782, IEEE Computer Society Press, USA, gennaio-marzo 2019.
  • Sareh Fotuhi Piraghaj, Amir Vahid Dastjerdi, Rodrigo N. Calheiros e Rajkumar Buyya, ContainerCloudSim: Un ambiente per la modellazione e la simulazione di contenitori nei Data Center cloud, Software: Practice and Experience, Volume 47, Numero 4, Pagine: 505-521, ISSN: 0038-0644, Wiley Press, New York, USA, aprile 2017.
  • Saurabh Kumar Garg e Rajkumar Buyya, NetworkCloudSim: Modelling Parallel Applications in Cloud Simulations,Proceedings of the 4th IEEE/ACM International Conference on Utility and CloudComputing (UCC 2011, IEEE CS Press, USA), Melbourne, Australia, December 5-7,2011.
  • Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, Cesar A. F. DeRose, e Rajkumar Buyya, CloudSim: A Toolkit for Modeling andSimulation of Cloud Computing Environments and Evaluation of ResourceProvisioning Algorithms, Software: Practice and Experience (SPE), Volume 41, Number 1, Pages: 23-50, ISSN: 0038-0644, Wiley Press, New York, USA, January, 2011.
  • Bhathiya Wickremasinghe, Rodrigo N. Calheiros, Rajkumar Buyya, CloudAnalyst: A CloudSim-based Visual Modeller for Analysis CloudComputing Environments and Applications, Proceedings of the 24thInternational Conference on Advanced Information Networking andApplications (AINA 2010), Perth, Australia, April 20-23, 2010.
  • Rajkumar Buyya, Rajiv Ranjan e Rodrigo N. Calheiros, Modellazione e simulazione di ambienti di cloud Computing scalabili e il toolkit CloudSim: sfide e opportunità, Atti della 7th High Performance Computing and Simulation Conference (HPCS 2009, ISBN: 978-1-4244-4907-1, IEEE Press, New York, USA), Lipsia, Germania, 21-24 giugno 2009.

Alcune pubblicazioni che utilizzano i risultati di CloudSim

  • Anton Beloglazov e Rajkumar Buyya, Ottimal Online Deterministic Algorithms and Adaptiveeuristics for Energy and Performance Efficient Dynamic Consolidation ofVirtual Machines in Cloud Data Center, Concurrency and Computation: Practice and Experience, Volume 24, Issue 13, Pages: 1397-1420, John Wiley & Sons, Ltd, New York, USA, 2012
  • Rodrigo Calheiros, Rajiv Ranjan e Rajkumar Buyya, Virtual MachineProvisioning Based on Analytical Performance and QoS in Cloud ComputingEnvironments, Proceedings of the 40th International Conference on ParallelProcessing (ICPP 2011), Taipei, Taiwan, September 13-16, 2011.
  • Linlin Wu, Saurabh Kumar Garg e Rajkumar Buyya, SLA-based ResourceAllocation for a Software as a Service Provider in Cloud Computing Environments,Proceedings of the 11th IEEE/ACM International Symposium on Cluster, Cloud andGrid Computing (CCGrid 2011), Los Angeles, USA, May 23-26, 2011.
  • Adel Nadjaran Toosi, Rodrigo N. Calheiros, Ruppa K. Thulasiran,Rajkumar Buyya, Resource Provisioning Policies to Increase IaaS Provider’s Profit in a FederatedCloud Environment, Proceedings of the 13rd International Conference on High Performanceand Communications (HPCC 2011), Banff, Canada, September 2-4, 2011.
  • Anton Beloglazov, e Rajkumar Buyya, Allocazione ad alta efficienza energetica di macchine virtuali nei Data center cloud. Proceedings of the 10th IEEE / ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid 2010), Melbourne, Australia, 17-20 maggio 2010.
  • Rodrigo N. Calheiros, Rajkumar Buyya, Cesar A. F. De Rose, creazione di un banco di prova di emulazione automatico e auto-configurabile per applicazioni grid.International Journal of Software: Practice and Experience, Volume 40, Issue 5, Pagine: 405-429, Wiley Press, USA, aprile 2010.
  • Kyong Hoon Kim, Anton Beloglazov e Rajkumar Buyya, Provisioning power-aware di risorse cloud per servizi in tempo reale. Atti del 7th International Workshop on Middleware for Grids, Clouds and e-Science, Urbana Champaign, Illinois, USA: ACM, 2009.
  • Rodrigo N. Calheiros, Rajkumar Buyya, Cesar A. F. De Rose,Aeuristic for Mapping Virtual Machines and Links in Emulation Testbeds, Proceedings of the 38th International Conference on Parallel Processing (ICPP 2009), Vienna, Austria, September 22-25, 2009.
  • Per l’elenco più recente, si prega di consultare Documenti che fanno riferimento/utilizzano CloudSim secondo Google Scholar

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.