Cloud computing poskytuje všechny druhy výpočetních služeb, jako je škálovatelnost, poskytování zdrojů, zabezpečení, odolnost proti chybám a udržitelnost atd. Aby byla zajištěna použitelnost všech těchto charakteristik, je nutné vyhodnotit cloudové aplikace před jejich implementací nebo nasazením v reálném světě. Hlavním důvodem je to, že je poměrně obtížné změnit omezení, ke kterým došlo během provádění v reálném čase. To může vést k režii poskytovatele, zvýšené náklady a plýtvání času. Simulace je nejlepší metoda, jak se vyhnout všem těmto druhům frustrací.
první simulační nástroj CloudSim byl vydán v roce 2009 laboratoří Cloud Computing and Distributed Systems (CLOUDS) na katedře informatiky a softwarového inženýrství University of Melbourne. Následný CloudSim, mnoho dalších simulátorů, jako je CloudAnalyst, EmuSim, DCSim, iCanCloudhave se postupně vyvíjely, aby usnadnily implementaci vlastních aplikací.
CloudSim Simulator
CloudSim je základní simulační nástroj, který poskytuje opatření k implementaci vlastních aplikací a tím i motivaci k přijetí tohoto nástroje pro současné výzkumné práce. Různé verze CloudSim byly vydány od roku 2009 a jsou uvedeny v tabulce.
verze CloudSim |
|
verze Cloud Sim |
rok |
Cloud Sim 1.0 |
|
Cloud Sim 2.0 |
července 2010 |
Cloud Sim 2.1 |
Jan 2011 |
Cloud Sim 3.0 |
Jan 2012 |
Cloud Sim 3.0.1 |
Říjen 2012 |
Cloud Sim 3.0.2 |
Listopad 2012 |
Cloud Sim 3.0.3 |
Květen 2013 |
- Architektura CloudSim
CloudSimfollows vrstvené architektury.Jak je zřejmé z obrázku, architektura se skládá hlavně ze tří vrstev, konkrétně uživatelského kódu, komponent CloudSim a simulačního motoru. Poskytuje plné virtualizované prostředí spolu s horlivým rozhraním pro služby virtuálních strojů, cloudové služby a síť. Každá ze složek je stručně popsána následovně.
- uživatelský kód
tato část se skládá ze specifikací simulace a Zásad plánování. Interpretuje základní entity pro hostování, jako jsou virtuální stroje, konfigurace VM, požadavky na VM, počet uživatelů a procesy plánování.Pomocí těchto konfigurací může vývojář cloudu nasadit federované mraky a implementovat vlastní aplikaci zajišťování zdrojů a distribuce zatížení.
Vrstvená Architektura Cloud Sim
- komponenty CloudSim
tato vrstva zahrnuje struktury uživatelského rozhraní, služby VM, cloudové služby, cloudové zdroje a síťové aplikace. Každá součást této části má svou vlastní funkčnost a poskytuje různé typy služeb. Zabývá se všemi základními otázkami cloudu.
- simulační Engine
tato část ustanovení simulace tj. všechny vlastní aplikace jsou postaveny a simulovány v této části.
třídní Diagram CloudSim:
tato podsekce vymezuje stavební blok CloudSim ve formě třídního diagramu. Skládá se z více popsaných tříddále v sekci.
schéma třídy Cloud Sim
Datacenterposkytuje základní infrastrukturní služby viz. hardware a software nabízené poskytovateli zdrojů v paradigmatu cloud computingu. Nabízí homogenní i heterogenníkonfigurace zdrojů. Každá součást datového centra používásada zásad, které se dále používají k přidělení šířky pásma, paměti a paměťových zařízení. Zprostředkovatel Datacenter působí jako prostředník mezi uživateli a poskytovateli služeb.Jedná jménem uživatele a pomáhá vyhledávat vhodného poskytovatele cloudu a vyjednává s poskytovatelem z hlediska ceny, aby splnil QoS a požadavky uživatelů.Cloud developer může rozšířit tuto třídu vytvářet vlastní aplikace.SANStorage je zkratka pro storage area network a slouží k ukládání velkého množství dat v datových centrech. Pomocí této třídy může uživatel ukládat a načítat data kdykoli v závislosti na dostupnosti šířky pásma sítě. Třída Virtual Machine se používá k vytvoření instancí VM. Rovněž se stará o správu VM a používá se k ukládání charakteristik VM, jako je paměť, procesor a jeho plánovací politika. Všechny komponenty jsou abstrahovány ze třídy VMScheduling. Cloudlet se používá pro cloudové aplikační služby, jako je doručování obsahu, sociální sítě a obchodní workflow.Složitost aplikace může být reprezentována z hlediska výpočetních požadavků. Každá komponenta aplikace má předem přiřazenou instrukci a množství přenosu dat.Cloudcoordinatorposkytuje kapacitu federace datovému centru. Tato třída je zodpovědná zakomunikaci s dalšími službami peer cloudcoordinator a cloudovými makléři. Pravidelně také monitoruje vnitřní stav datového centra během simulace. BWProvisioner je abstraktní třída, která se používá pro přidělování šířky pásma sítě mezi zásadami zajišťování. Vývojáři mohou tuto třídu rozšířit ve své vlastní strategii podle požadavku uživatele.MemoryProvisioneris a dalšíabstraktní třída používaná k přidělení paměti do VM V DC.Hostitel VM je proveditelný pouze tehdy, pokud tato třída najde volné místo.Podobně VMProvisioner představuje politiku poskytování pro hostování VM. Jeho hlavní odpovědností je vybrat dostupného hostitele v datovém centru splňujícím požadavky na paměť, úložiště a dostupnost pro nasazení VM. Používá se také k implementaci optimalizovaných zásad. Stejně jako výše uvedené třídy, VMMAllocationPolicy je abstraktní třída používaná k implementaci zásad sdílených časem. Přiděluje také výpočetní výkon VMs.
- vlastnosti CloudSim
CloudSim má určité významné vlastnosti, které z něj činí nejvhodnější simulátor pro simulaci naší práce. Funkce klíče jsou uvedeny následovně:
- je schopen zvládnout rozsáhlé aplikace modelování a simulací.
- podporuje strategii poskytování zdrojů pomocí virtualizace pro hostování virtuálních strojů na serveru.
- používá se také pro modelování a simulaci energetických výpočetních zdrojů.
- má schopnost simulovat síťové topologie a aplikace pro předávání zpráv.
- federované mraky lze také simulovat.
- použití tohoto uživatele má kontrolu nad simulačními operacemi, jako je start, resume a exit.
- má možnost simulace pro uživatelem definované strategie nebo zásady alokace zdrojů na virtuálních strojích.
hlavním cílem CloudSim je poskytnout rozšiřitelný a komplexní rámec, který usnadňuje modelování, simulace a jakýkoli jiný druh služeb, jako jeeiaas, SaaS atd. Pomocí simulátorů se uživatelé mohou zaměřit na konkrétní zkoumaný problém. Všechny ostatní cloudové simulátory dědífunkce z CloudSimirrespective skutečnosti, zda grafické uživatelské rozhraní (GUI) je k dispozici, nebo ne.