Optimalizačné funkcie Dynamipsu
Optimalizačné funkcie majú významnú úlohu pri používaní emulátora Dynamips. Keďže Dynamips používa reálny operačný systém Cisco smerovačov nároky na výpočtovú kapacitu zariadenia nie sú zanedbateľné. Dynamips ponúka tri optimalizačné funkcie
- GhostIOS
- Sparsemen
- IdlePC
GhostIOS– je optimalizačná funkcia zameraná na optimalizáciu reálnej pamäte RAM
zariadenia na ktorom Dynamipsový proces beží. Pri povolení tejto funkcie príkazom
ghostios = True implicitne je nastavená na False, sa uloží do RAM pamäte zariadenia iba jedna kópia tej istej verzie emulovaného Cisco IOS, namiesto vytvárania kópie pre každé zariadenie zvlášť. To znamená, že pri topológiách s viacerými smerovačmi používajúcimi ten istý Cisco IOS, môže podstatne šetriť pamäť. Pokiaľ je funkcia povolená na globálnej úrovni v konfiguračnom súbore, Dynamips ju použije iba v prípade ak je v topológií viac ako jeden smerovač s tým istým Cisco IOS.
Príklad: Nech veľkosť Cisco IOS image-u je 90 MB, v topológií je 8 smerovačov s rovnakým IOS, tak potom je veľkosť ušetrenej pamäte s povolenou funkciou ghostios: 7 x 90 = 630 MB.
Sparsemen– je optimalizačná funkcia zameraná na optimalizáciu virtuálnej RAM pamäte
jednotlivých emulovaných smerovačov. Funguje tak, že v danom okamihu pridelí emulovanému smerovaču len také množstvo virtuálnej pamäte, aké jeho operačný systém skutočne potrebuje. Bez povolenej funkcie sparsemen Dynamips pridelí inštancií smerovača celú veľkosť virtuálnej pamäte RAM nakonfigurovanú v konfiguračnom súbore.
Funkcia má veľké opodstatnenie pri 32-bitových operačných systémoch, ktoré regulujú veľkosť jedného procesu na 2 GB (Windows) a 3GB (Linux). Povolenie funkcie sa vykoná príkazom sparsemen = True, implicitne je nastavená na False.
IdlePC- je funkcia zameraná na optimalizáciu zaťaženia procesora. Keďže Dynamips simuluje hardvér skutočného Cisco smerovača, nedokáže určiť kedy je proces jednotlivých Cisco IOS vo fáze idle. Výsledok je taký, že bez určenej hodnoty IdlePc inštancia smerovača vyťaží jadro procesora na 100 %. Cieľom funkcie IdlePc je nájsť bod v operačnom systéme smerovača, keď sa nachádza vo fáze čakacieho cyklu alebo vykonáva inštrukciu NOP (No operation). Po nájdení správnej hodnoty reprezentujúcej takýto stav, Dynamips vytvorí idle cyklus a uvedie smerovač na daný okamih do režimu spánku. Rozdiel zaťaženia CPU pred a po aplikácií funkcie idlePC je markantný, záleží však aj od jednotlivej verzie Cisco IOS.
Hľadanie hodnoty IdlePC
Algoritmus pre analýzu jednotlivých Cisco IOS sa spúšťa v Dynagene príkazom
idlepc get <smerovač> no kvôli správnosti nájdenej hodnoty je nevyhnutné pred jeho spustení splniť tieto podmienky:
- Smerovač musí byť zapnutý.
- Smerovač musí byť bez akejkoľvek konfigurácie, je nutné sa na smerovač prihlásiť pomocou konzolového portu, prejsť úvodný dialóg a počkať kým sa načítajú všetky rozhrania.
- Ostatné zariadenia v topológií musia byť vypnuté.
- Počas získavania štatistických dát, nezadávať žiadny príkaz a smerovač nechať v neprivilegovanom móde.
Po zbere dát Dynamips ponúkne hodnoty, ktoré môžu obsahovať správnu hodnotu, pravdepodobnejšie hodnoty sú označené *, je nutné vybrať jednu hodnotu a sledovať záťaž procesora ak významne klesla, je hodnota správna. Získanú hodnotu je možné uložiť pozri: Príkazy pre ovládanie emulácie.
Pre ďalšie informácie o práci v Dynamipse a Dynagene odporúčame prečítať si tieto články:
ODKAZ: Vytvorenie konfiguračného súboru .net pre nástroj Dynagen
ODKAZ: Spustenie a ovládanie emulácie v nástrojoch Dynamips a Dynagen
ODKAZ: Stručná charakteristika nástrojov Dynamips a Dynagen
Článok vznikol v rámci bakalárskej práce:
Tvorba vzorových sieťový topológií v nástroji Dynamips a Dynagen
Marek Macík 2012