Il cloud computing fornisce tutti i tipi di servizi computazionali come scalabilità, provisioning delle risorse, sicurezza, tolleranza ai guasti e sostenibilità ecc. Per garantire l’applicabilità di tutte queste caratteristiche, è necessario valutare le applicazioni cloud prima di implementarle o distribuirle nel mondo reale. La ragione principale di ciò è che è abbastanza difficile modificare le limitazioni verificatesi durante l’esecuzione in tempo reale. Può portare a spese generali del fornitore, aumento dei costi e spreco di tempo. La simulazione è il metodo migliore per evitare tutti questi tipi di frustrazioni.
Il primo strumento di simulazione CloudSim è stato rilasciato nell’anno 2009 dal Cloud Computing and Distributed Systems (CLOUDS) Laboratory, presso il Dipartimento di Informatica e Ingegneria del Software dell’Università di Melbourne. Successivi CloudSim, molti altri simulatori come CloudAnalyst, EmuSim, DCSim, Icancloud si sono evoluti gradualmente per facilitare l’implementazione di applicazioni personalizzate.
Il simulatore CloudSim
CloudSim è lo strumento di simulazione di base che fornisce la fornitura per implementare le applicazioni personalizzate e quindi la motivazione ad adottare questo strumento per i lavori di ricerca in corso. Varie versioni di CloudSim sono state rilasciate dal 2009 e sono elencate in tabella.
Versioni di CloudSim |
|
Cloud Sim Versioni |
Anno |
Cloud Sim 1.0 |
|
Cloud Sim 2.0 |
Lug 2010 |
Cloud Sim 2.1 |
Jan 2011 |
Cloud Sim 3.0 |
Jan 2012 |
Cloud Sim 3.0.1 |
Ott 2012 |
Cloud Sim 3.0.2 |
Nov 2012 |
Cloud Sim 3.0.3 |
Può 2013 |
- Architettura di CloudSim
CloudSimfollows l’architettura a più livelli.Come si evince dalla figura, l’architettura comprende principalmente tre livelli di codice utente specifico, componenti di CloudSim e il motore di simulazione. Esso fornisce l’ambiente virtualizzato completo con interfaccia keen per i servizi di macchine virtuali, servizi cloud e di rete. Ciascuno dei componenti è brevemente descritto come segue.
- Codice utente
Questa sezione contiene le specifiche di simulazione e la politica di pianificazione. Interpreta le entità di base per l’hosting come macchine virtuali, configurazioni VM, requisiti VM, numero di utenti e processi di pianificazione.Utilizzando queste configurazioni, lo sviluppatore cloud può distribuire i cloud federati e implementare l’applicazione personalizzata di provisioning delle risorse e distribuzione del carico.
Architettura a livelli di Cloud Sim
- Componenti di CloudSim
Questo livello comprende strutture di interfaccia utente, servizi VM, servizi cloud, risorse cloud e applicazioni di rete. Ogni componente di questa sezione ha una propria funzionalità e fornisce vari tipi di servizi. Gestisce tutti i problemi fondamentali del cloud.
- Motore di simulazione
Questa sezione fornisce la simulazione, ovvero tutte le applicazioni personalizzate vengono create e simulate in questa sezione.
Diagramma di classe di CloudSim:
Questa sottosezione delinea il blocco di costruzione di CloudSim sotto forma di diagramma di classe. Consiste di più classi descritteinoltre nella sezione.
Il diagramma di classe di Cloud Sim
DataCenterfornisce servizi di infrastruttura di base vale a dire. hardware e software offerti dai fornitori di risorse nel paradigma del cloud computing. Offre configurazioni di risorse sia omogenee che eterogenee. Ogni componente di un data center utilizzaun insieme di criteri che vengono ulteriormente utilizzati per allocare larghezza di banda, memoria e dispositivi di archiviazione. Datacenter Broker agire come un intermediario tra utenti e fornitori di servizi.Agisce per conto dell’utente e aiuta a cercare un fornitore di cloud adatto e negozia con il fornitore in termini di prezzo per soddisfare QoS e requisiti degli utenti.Cloud developer può estendere questa classe per creare applicazioni personalizzate.SANStorage sta per storage area network e viene utilizzato per memorizzare grandi quantità di dati nei data center. Con l’aiuto di questa classe, l’utente può archiviare e recuperare i dati in qualsiasi momento in base alla disponibilità della larghezza di banda della rete. La classe Virtual Machine viene utilizzata per creare istanze di una VM. Si occupa anche della gestione della VM e viene utilizzato per memorizzare le caratteristiche di una VM come la memoria, il processore e la sua politica di pianificazione. Tutti i componentisono astratti dalla classe VMScheduling. Cloudlet viene utilizzato per servizi applicativi basati su cloud come la distribuzione di contenuti, il social networking e il flusso di lavoro aziendale.La complessità di un’applicazione può essere rappresentata in termini di requisiti computazionali. Ogni componente dell’applicazione ha un’istruzione pre-assegnata e la quantità di trasferimento dei dati.CloudCoordinatorfornisce capacità federazione a un data center. Questa classe è responsabile percomunicare con altri servizi cloudcoordinator peer e broker cloud. Inoltre, monitora periodicamente lo stato interno di un data center durante la simulazione. BWProvisioner è una classe astratta che viene utilizzata per allocare la larghezza di banda della rete tra i criteri di provisioning. Gli sviluppatori possono estendere questa classe nella propria strategia in base alle esigenze dell’utente.Memoryprovisionerè un’altra classe abstract utilizzata per allocare la memoria alle macchine virtuali in un DC.L’host di VM è fattibile solo se questa classe trova lo spazio libero.Allo stesso modo, VMProvisioner rappresenta la politica di provisioning per l’hosting della VM. La sua responsabilità principale è selezionare l’host disponibile in un data center che soddisfi i requisiti di memoria, archiviazione e disponibilità per una distribuzione di VM. Viene anche utilizzato per implementare le politiche ottimizzate. Allo stesso modo delle classi sopra menzionate, VMMAllocationPolicy è una classe astratta utilizzata per implementare le politiche condivise nel tempo. Assegna anche la potenza di elaborazione alle macchine virtuali.
- Caratteristiche di CloudSim
CloudSim è dotato di alcune caratteristiche significative che lo rendono il simulatore più adatto per simulare il nostro lavoro. Le funzioni dei tasti sono elencate come segue:
- È in grado di gestire applicazioni su larga scala di modellazione e simulazioni.
- Supporta la strategia di provisioning delle risorse utilizzando la virtualizzazione per ospitare macchine virtuali sul server.
- Viene anche utilizzato per la modellazione e la simulazione di risorse computazionali energetiche.
- Ha la capacità di simulare topologie di rete e applicazioni di passaggio messaggi.
- Le nuvole federate possono anche essere simulate.
- L’utilizzo di questo utente ha il controllo sulle operazioni di simulazione come start, resume e exit.
- Ha la possibilità di simulazione per strategie definite dall’utente o politiche di allocazione delle risorse su macchine virtuali.
L’obiettivo principale di CloudSim è quello di fornire un framework estensibile e completo che faciliti la modellazione, le simulazioni e qualsiasi altro tipo di servizi come IAAAS, SaaS ecc. Utilizzando i simulatori, gli utenti possono concentrarsi su un problema specifico in esame. Tutti gli altri simulatori cloud ereditanocaratteristiche da cloudsimirispettivo del fatto se l’interfaccia utente grafica (GUI)è disponibile o meno.