60 5.7 Testování distribuovaných výpočtů V této kapitole bude otestován systém distribuovaných výpočtů, který má prokázat, že rychlost řešení složitého optimalizačního problému je vyšší u systému distribuovaných výpočtů, než u jednoho GATE-DLL. K testování byla opět využita funkce F 6 , která simulovala složitý optimalizační problém s mnoha parametry. Test byl prováděny následovně: bylo spuštěno n klientů a po jednominutových intervalech hledání optima se zaznamenával nejlepší výsledek, který zobrazovala serverová aplikace. Po 5 minutách byl celý test ukončen. Měření bylo opakováno 5krát pro každých n klientů. Byly provedeny dva testy, jeden při 4 hardwarových strojích spojených pomocí sítě LAN a druhý byl prováděn na jednom HW stroji, kde běželi 4 klienti virtuálně. Nastavení GA, GA-HC: nParam = 100, nBitParam = 64, nIndi = 5000, funName = 'F6', funOpt = 'min', iParam = [−5.1 5], mInit = 'random', mCode = 'GC' Nastavení jednotlivých klientů bylo individuální, ponechala se tak výhoda variabilních výsledků a tím lepší kooperace klientů. Klienti byli po celou dobu měření nastaveni stejně. Algoritmem pro jednoho klienta byl zvolen účinnější GA-HC. Při testování více klientů bylo nastaveno 30% rozdílová hodnota pro automatický restart horších klientů. Test 1: Hardwarové distribuční stroje HW stroje (průměrné výsledky z pěti měření): n 1 2 4 čas 1 min 3,088∙10 2 1,881∙10 2 8,751∙10 1 2 min 1,841∙10 2 6,852∙10 1 3,453∙10 1 3 min 1,148∙10 2 2,775∙10 1 1,849∙10 1 4 min 7,203∙10 1 1,496∙10 1 8,990∙10 0 5 min 4,602∙10 1 1,373∙10 1 4,428∙10 0 Test 2: Virtuální distribuční stroje Virtuální stroje (průměrné výsledky z pěti měření): n 1 4 čas 1 min 3,088∙10 2 3,232∙10 2 2 min 1,841∙10 2 2,493∙10 2 3 min 1,148∙10 2 1,702∙10 2 4 min 7,203∙10 1 1,252∙10 2 5 min 4,602∙10 1 1,041∙10 2 Měření výsledků bylo časově náročné, proto jsem měřil vždy pouze pět hodnot u každého testu. Hodnoty fitness jsou tak vysoké, protože vyřešení optimalizačního problému se 100 parametry by zřejmě vyžadovalo hodně času i pro distribuované výpočty. Jen pro zajímavost uvedu mé pozorování práce čtyř HW klientů. Na dvou strojích běžely GA-HC, jeden s nastavením rand a druhý randp. Na zbylých dvou strojích běžely GA s různým nastavením. GA-HC poskytovaly celou dobu konstantní postup a většinu času byli „tahouni“. Naopak GA <strong>algoritmy</strong> předváděly větší skokové pokroky, obzvláště pokud jim bylo posláno lepší řešení od serveru. Tím se klienti navzájem velmi dobře doplňovali. Jak je z tabulek patrné, čtyři kooperující klienti nalezli za stejný čas řešení průměrně zhruba o jeden řád přesnější, než jeden samostatně pracující GATE-DLL. Čím složitější optimalizační problém, tím více by se zřejmě projevil přínos distribuovaných výpočtů.
61 350 fitness 300 250 200 150 100 1 klient 2 klienti 4 klienti 50 0 0 1 2 3 4 5 6 t [min] Obr. 31 Časové řezy 1, 2 a 4 klientů pracujících na HW strojích 350 fitness 300 250 200 150 1 klient 4 klienti 100 50 0 0 1 2 3 4 5 6 t [min] Obr. 32 Časové řezy 1 a 4 klientů pracujících na virtuálním stroji (1 CPU)