cloud computing zapewnia wszelkiego rodzaju usługi obliczeniowe, takie jak skalowalność, udostępnianie zasobów, bezpieczeństwo, odporność na awarie i zrównoważony rozwój itp. Aby zapewnić możliwość zastosowania wszystkich tych cech, należy ocenić aplikacje w chmurze przed ich wdrożeniem lub wdrożeniem w świecie rzeczywistym. Głównym powodem tego jest to, że dość trudno jest zmienić ograniczenia występujące podczas wykonywania w czasie rzeczywistym. Może to prowadzić do narzutu na dostawcę, zwiększonych kosztów i marnotrawstwa czasu. Symulacja jest najlepszą metodą, aby uniknąć tego rodzaju frustracji.
pierwsze narzędzie do symulacji CloudSim zostało wydane w 2009 roku przez Laboratorium Cloud Computing and Distributed Systems (CLOUDS) na Wydziale Informatyki i Inżynierii Oprogramowania Uniwersytetu w Melbourne. Sukces CloudSim, wiele innych symulatorów, takich jak CloudAnalyst, EmuSim, DCSim, iCanCloudhave ewoluowało stopniowo, aby ułatwić wdrażanie niestandardowych aplikacji.
symulator CloudSim
CloudSim jest podstawowym narzędziem symulacyjnym, które zapewnia możliwość implementacji niestandardowych aplikacji, a tym samym motywację do przyjęcia tego narzędzia do bieżących prac badawczych. Różne wersje CloudSim zostały wydane od 2009 roku i są wymienione w tabeli.
wersje CloudSim |
|
wersje Cloud Sim |
rok |
Cloud Sim 1.0 |
|
Cloud Sim 2.0 |
Lip 2010 |
Cloud Sim 2.1 |
Jan 2011 |
Cloud Sim 3.0 |
Jan 2012 |
Cloud Sim 3.0.1 |
paź 2012 |
Cloud Sim 3.0.2 |
listopad 2012 |
Cloud Sim 3.0.3 |
maj 2013 |
- Architektura CloudSim
CloudSimfollows the layered architecture.Jak wynika z rysunku, Architektura składa się głównie z trzech warstw specyficznego kodu użytkownika, komponentów CloudSim i silnika symulacji. Zapewnia pełne zwirtualizowane środowisko wraz z interfejsem dla usług maszyn wirtualnych, usług w chmurze i sieci. Każdy ze składników jest krótko opisany w następujący sposób.
- kod użytkownika
Ta sekcja składa się ze specyfikacji symulacji i polityki planowania. Interpretuje podstawowe elementy hostingu, takie jak maszyny wirtualne, konfiguracje maszyn wirtualnych, wymagania maszyn wirtualnych, liczba użytkowników i procesy planowania.Korzystając z tych konfiguracji, programista w chmurze może wdrożyć chmury federacyjne i wdrożyć niestandardową aplikację udostępniania zasobów i dystrybucji obciążenia.
warstwowa Architektura Cloud Sim
- Komponenty CloudSim
ta warstwa obejmuje struktury interfejsu użytkownika, usługi VM, usługi w chmurze, zasoby w chmurze i aplikacje sieciowe. Każdy komponent tej sekcji ma swoją własną funkcjonalność i zapewnia różne rodzaje usług. Zajmuje się wszystkimi podstawowymi kwestiami związanymi z chmurą.
- simulation Engine
Ta sekcja określa symulację, tzn. wszystkie aplikacje niestandardowe są budowane i symulowane w tej sekcji.
Diagram klasy cloudsim:
ten podrozdział określa budowę cloudsim w postaci diagramu klasy. Składa się z wielu klas opisanych dalej w sekcji.
Diagram klas Cloud Sim
Datacenterprovives core infrastructure services viz. sprzęt i oprogramowanie oferowane przez dostawców zasobów w paradygmacie cloud computing. Oferuje zarówno jednorodne, jak i niejednorodne konfiguracje źródeł. Każdy komponent centrum danych wykorzystuje zestaw zasad, które są dalej wykorzystywane do przydzielania przepustowości, pamięci i urządzeń pamięci masowej. Broker centrów danych działa jako pośrednik między użytkownikami a dostawcami usług.Działa w imieniu użytkownika i pomaga wyszukać odpowiedniego dostawcę chmury, a także negocjuje z dostawcą pod względem ceny, aby spełnić QoS i wymagania użytkowników.Programista w chmurze może rozszerzyć tę klasę o tworzenie niestandardowych aplikacji.SANStorage oznacza Storage area network i służy do przechowywania dużej ilości danych w centrach danych. Za pomocą tej klasy użytkownik może przechowywać i pobierać dane w dowolnym momencie, w zależności od dostępności przepustowości sieci. Klasa Virtual Machine jest używana do tworzenia instancji maszyny wirtualnej. Zajmuje się również zarządzaniem maszyną wirtualną i służy do przechowywania cech maszyny wirtualnej, takich jak pamięć, procesor i jej polityka planowania. Wszystkie komponenty są abstrakcyjne z klasy VMScheduling. Cloudlet jest używany do usług aplikacji opartych na chmurze, takich jak dostarczanie treści, sieci społecznościowe i przepływ pracy w firmie.Złożoność aplikacji może być reprezentowana w kategoriach wymagań obliczeniowych. Każdy komponent aplikacji ma przypisaną wcześniej instrukcję i ilość transferu danych.Cloudcoordinator zapewnia Federacyjną pojemność centrum danych. Ta klasa jest odpowiedzialna za komunikację z innymi partnerskimi usługami cloudcoordinator i brokerami w chmurze. System okresowo monitoruje również stan wewnętrzny centrum danych podczas symulacji. BWProvisioner jest klasą abstrakcyjną, która służy do przydzielania przepustowości sieci między zasady udostępniania. Programiści mogą rozszerzyć tę klasę we własnej strategii zgodnie z wymaganiami użytkownika.MemoryProvisioneris to kolejna klasa abstract używana do przydzielania pamięci do maszyn wirtualnych W DC.Host maszyny Wirtualnej jest wykonalny tylko wtedy, gdy ta klasa znajdzie wolne miejsce.Podobnie, VMProvisioner reprezentuje politykę udostępniania dla hostingu maszyny wirtualnej. Jego głównym zadaniem jest wybór dostępnego hosta w centrum danych spełniającego wymagania dotyczące pamięci, pamięci masowej i dostępności dla wdrożenia maszyny wirtualnej. Jest również używany do wdrażania zoptymalizowanych polityk. Podobnie jak wyżej wymienione klasy, VMMAllocationPolicy jest abstrakcyjną klasą używaną do implementacji wspólnej polityki czasu. Przydziela również moc obliczeniową maszynom wirtualnym.
- cechy cloudsim
CloudSim posiada pewne istotne cechy, co czyni go najbardziej odpowiednim symulatorem do symulacji naszej pracy. Funkcje kluczy są wymienione w następujący sposób:
- jest w stanie obsługiwać Aplikacje modelowania i symulacji na dużą skalę.
- obsługuje strategię udostępniania zasobów za pomocą wirtualizacji do hostowania maszyn wirtualnych na serwerze.
- jest również używany do modelowania i symulacji zasobów obliczeniowych energii.
- ma możliwość symulacji topologii sieci i aplikacji przekazujących wiadomości.
- można również symulować chmury Sfederowane.
- Korzystanie z tego użytkownika ma kontrolę nad operacjami symulacji, takimi jak start, resume i exit.
- ma opcję symulacji dla zdefiniowanych przez użytkownika strategii lub zasad alokacji zasobów na maszynach wirtualnych.
głównym celem CloudSim jest zapewnienie rozszerzalnego i kompleksowego frameworka, który ułatwia modelowanie, symulacje i wszelkiego rodzaju usługi, takie jak IaaS, SaaS itp. Korzystając z symulatorów, użytkownicy mogą skupić się na konkretnym problemie badanym. Wszystkie inne symulatory chmury dziedziczą funkcje z Cloudsimirw zależności od tego, czy graficzny interfejs użytkownika (GUI)jest dostępny, czy nie.