Cloud Computing bietet alle Arten von Berechnungsdiensten wie Skalierbarkeit, Ressourcenbereitstellung, Sicherheit, Fehlertoleranz und Nachhaltigkeit usw. Um die Anwendbarkeit all dieser Merkmale sicherzustellen, ist es erforderlich, Cloud-Anwendungen zu bewerten, bevor sie in der realen Welt implementiert oder bereitgestellt werden. Der Hauptgrund dafür ist, dass es ziemlich schwierig ist, die Einschränkungen zu ändern, die während der Ausführung in Echtzeit aufgetreten sind. Dies kann zu einem Overhead des Anbieters, erhöhten Kosten und Zeitverschwendung führen. Simulation ist die beste Methode, um all diese Frustrationen zu vermeiden.
Das allererste Simulationstool CloudSim wurde im Jahr 2009 vom Cloud Computing and Distributed Systems (CLOUDS) Laboratory am Fachbereich Informatik und Software Engineering der University of Melbourne veröffentlicht. Nach CloudSim haben sich viele andere Simulatoren wie CloudAnalyst, EmuSim, DCSim und iCanCloudhave schrittweise weiterentwickelt, um die Implementierung benutzerdefinierter Anwendungen zu vereinfachen.
Der CloudSim-Simulator
CloudSim ist das grundlegende Simulationswerkzeug, das die Bereitstellung zur Implementierung der benutzerdefinierten Anwendungen und damit die Motivation zur Übernahme dieses Tools für die aktuellen Forschungsarbeiten bietet. Seit 2009 gibt es verschiedene Versionen von CloudSim, die in der Tabelle aufgeführt sind.
Versionen von CloudSim |
|
Cloud-Sim-Versionen |
Jahr |
Wolke Sim 1.0 |
|
Wolke Sim 2.0 |
Jul 2010 |
Wolke Sim 2.1 |
Jan 2011 |
Wolke Sim 3.0 |
Jan 2012 |
Wolke Sim 3.0.1 |
Okt 2012 |
Wolke Sim 3.0.2 |
Nov 2012 |
Wolke Sim 3.0.3 |
Mai 2013 |
- Architektur von CloudSim
CLOUDSIM Folgt der Schichtenarchitektur.Wie aus der Abbildung hervorgeht, besteht die Architektur hauptsächlich aus drei Ebenen, Benutzercode, Komponenten von CloudSim und der Simulations-Engine. Es bietet die vollständige virtualisierte Umgebung sowie eine Schnittstelle für virtuelle Maschinendienste, Cloud-Dienste und Netzwerke. Jede der Komponenten wird wie folgt kurz beschrieben.
- Benutzercode
Dieser Abschnitt enthält Simulationsspezifikationen und Planungsrichtlinien. Es interpretiert die grundlegenden Entitäten für das Hosting wie virtuelle Maschinen, VM-Konfigurationen, VM-Anforderungen, Anzahl der Benutzer und Planungsprozesse.Mit diesen Konfigurationen kann der Cloud-Entwickler die Verbundwolken bereitstellen und die benutzerdefinierte Anwendung der Ressourcenbereitstellung und Lastverteilung implementieren.
Mehrschichtige Architektur von Cloud Sim
- Komponenten von CloudSim
Diese Schicht umfasst Benutzeroberflächenstrukturen, VM-Dienste, Cloud-Dienste, Cloud-Ressourcen und Netzwerkanwendungen. Jede Komponente dieses Abschnitts verfügt über eigene Funktionen und bietet verschiedene Arten von Diensten. Es behandelt alle grundlegenden Fragen der Cloud.
- Simulations-Engine
In diesem Abschnitt wird die Simulation bereitgestellt, dh alle benutzerdefinierten Anwendungen werden in diesem Abschnitt erstellt und simuliert.
Klassendiagramm von CloudSim:
Dieser Unterabschnitt beschreibt den Baustein von CloudSim in Form eines Klassendiagramms. Es besteht aus mehreren Klassen beschriebenweiter im Abschnitt.
Das Klassendiagramm von Cloud Sim
DataCenterprovides core infrastructure services viz. hardware und Software, die von Ressourcenanbietern im Cloud-Computing-Paradigma angeboten werden. Es bietet sowohl homogene als auch heterogeneressourcenkonfigurationen. Jede Komponente eines Rechenzentrums verwendeteine Reihe von Richtlinien, die weiter verwendet werden, um Bandbreite, Speicher und Speichergeräte zuzuweisen. Datacenter Broker fungieren als Vermittler zwischen Benutzern und Dienstanbietern.Es handelt im Namen des Benutzers und hilft bei der Suche nach einem geeigneten Cloud-Anbieter sowie bei Verhandlungen mit dem Anbieter in Bezug auf den Preis, um die QoS und die Anforderungen der Benutzer zu erfüllen.Cloud Developer kann diese Klasse erweitern, um benutzerdefinierte Anwendungen zu erstellen.SANStorage steht für Storage Area Network und wird verwendet, um große Datenmengen in den Rechenzentren zu speichern. Mit Hilfe dieser Klasse kann der Benutzer die Daten jederzeit speichern und abrufen, abhängig von der Verfügbarkeit der Netzwerkbandbreite. Die virtuelle Maschinenklasse wird verwendet, um Instanzen einer VM zu erstellen. Es kümmert sich auch um die Verwaltung von VM und wird verwendet, um die Eigenschaften einer VM wie Speicher, Prozessor und seine Planungsrichtlinie zu speichern. Alle Komponenten werden von der VMScheduling-Klasse abstrahiert. Cloudlet wird für cloudbasierte Anwendungsdienste wie Content Delivery, Social Networking und Business Workflow verwendet.Die Komplexität einer Anwendung kann in Form von Rechenanforderungen dargestellt werden. Jede Anwendungskomponente verfügt über eine vorab zugewiesene Anweisung und Datenübertragungsmenge.Cloudcoordinator stellt einem Rechenzentrum Verbundkapazität zur Verfügung. Diese Klasse ist verantwortlich fürKommunikation mit anderen Peer-Cloudcoordinator-Diensten und Cloud-Brokern. Es überwacht auch regelmäßig den internen Zustand eines Rechenzentrums während der Simulation. BWProvisioner ist eine abstrakte Klasse, die zum Zuweisen von Netzwerkbandbreite zwischen den Bereitstellungsrichtlinien verwendet wird. Entwickler können diese Klasse in ihrer eigenen Strategie entsprechend den Benutzeranforderungen erweitern.Memoryprovisionerist eine andere abstrakte Klasse, die verwendet wird, um den Speicher VMs in einem DC zuzuweisen.Der Host der VM ist nur möglich, wenn diese Klasse den freien Speicherplatz findet.In ähnlicher Weise stellt VMProvisioner die Bereitstellungsrichtlinie für das Hosting der VM dar. Seine Hauptaufgabe besteht darin, den verfügbaren Host in einem Rechenzentrum auszuwählen, der die Anforderungen an Arbeitsspeicher, Speicher und Verfügbarkeit für eine VM-Bereitstellung erfüllt. Es wird auch verwendet, um die optimierten Richtlinien zu implementieren. Wie die oben genannten Klassen ist VMMAllocationPolicy eine abstrakte Klasse, die zur Implementierung der time Shared Policies verwendet wird. Es weist auch die Verarbeitungsleistung zu VMs.
- Funktionen von CloudSim
CloudSim verfügt über bestimmte wichtige Funktionen, die es zum am besten geeigneten Simulator für die Simulation unserer Arbeit machen. Die wichtigsten Funktionen sind wie folgt aufgelistet:
- Es ist in der Lage, große Modellierungs- und Simulationsanwendungen zu verarbeiten.
- Es unterstützt die Strategie der Ressourcenbereitstellung mithilfe von Virtualisierung, um virtuelle Maschinen auf dem Server zu hosten.
- Es wird auch zur Modellierung und Simulation von Energierechnungsressourcen verwendet.
- Es ist in der Lage, Netzwerktopologien und Message-Passing-Anwendungen zu simulieren.
- Föderierte Wolken können ebenfalls simuliert werden.
- VerwendungDieser Benutzer hat die Kontrolle über Simulationsvorgänge wie Start, Fortsetzen und Beenden.
- Es hat die Möglichkeit der Simulation für benutzerdefinierte Strategien oder Richtlinien der Ressourcenzuweisung auf virtuellen Maschinen.
Das Hauptziel von CloudSim ist es, ein erweiterbares und umfassendes Framework bereitzustellen, das Modellierung, Simulationen und andere Arten von Diensten wie IaaS, SaaS usw. erleichtert. Mithilfe von Simulatoren können sich Benutzer auf ein bestimmtes zu untersuchendes Problem konzentrieren. Alle anderen Cloud-Simulatoren erben Funktionen von Cloudsimir, unabhängig davon, ob eine grafische Benutzeroberfläche (GUI) verfügbar ist oder nicht.