Další cestou, jak zrychlit zpracování úlohy, je její rozložení na několik pracovních stanic. Na každé univerzitě nebo větším výzkumném ústavu jsou desítky nebo stovky pracovních stanic spojených obvykle sítí Ethernet s přenosovou rychlostí 10 nebo 100 Mb/s, jejichž procesory bývají využity z 5-30%. Je tedy přirozené, že mnoho lidí napadlo přimět tyto výkonné výpočetní prostředky, aby pracovaly na nějakém relativně snadno paralelizovatelném problému v době, kdy by jinak zahálely, a stanou se důstojnou náhradou superpočítače. Tak vznikly tzv. farmy .
Pracovní stanice jsou výborným “stolním” prostředkem pro pohotové a rychlé výpočty. Mají rychlé procesory, ale pomalý přístup k paměti a velmi pomalé vstupní a výstupní jednotky - což je v souladu s požadavky uživatelů na “stolní” počítání. Pracovní stanice jsou v současné době nesporně nejlepším výpočetním nástrojem pro málo nebo středně náročné problémy.
Na druhé straně tytéž okolnosti, které postavily pracovní stanice na přední místo ve “stolním” počítání, jsou příčinou jejich omezení pro distribuované problémy, které jsou náročné jak na výpočetní výkon, tak na kooperaci jednotlivých částí prováděných na různých jednotkách: řešení je brzděno nebo znemožněno pomalým přístupem k paměti, distribuovanou pamětí a nízkým výkonem vstupních a výstupních jednotek. Jestliže se ovšem problém podaří tak paralelizovat, že tyto nevýhody nevadí, jsou spřežení pracovních stanic nejlevnějším výpočetním nástrojem.
Přesto je použití několika unixových stanic pro paralelní řešení velmi lákavé: nejenom že jsou skoro vždy po ruce, ale paralelizace programu se může připravit na vlastní stanici. Je potřeba jen jediné - na všech pracovních stanicích ve spřežení instalovat a osvojit si nějaké programovací prostředí. I přes různé naše negativní poznámky si myslíme, že to stojí zato zkusit si program paralelizovat na několik stanic. Člověk se nově zamyslí nad svým problémem, vyzkouší si metodu řízení několika procesorů pomocí předávání zpráv (což mu může být užitečné pro paralelní počítače) a když to nevyjde, tak mu vždycky zůstane program, který může spouštět na své stanici.
Kdo se do toho pustí, musí však počítat s tím, že skoro celou práci musí udělat sám, protože nebude mít k dispozici žádné nástroje pro paralelizaci a pro zjišťování “jalových časů” na pracovních stanicích.
Paralelizaci ve spřežení pracovních stanic lze samozřejmě organizovat různými způsoby. Farma je charakterizována tím, že v ní je “jeden pastýř a více ovcí”, což znamená, že všechny komunikace se odehrávají jen jako dialog mezi “pastýřem” ( master ) a některou “ovcí” ( slave ); “ovce” vzájemně nekomunikují. Obvyklý je také klastr ( cluster ), což je spřežení, v němž se data rozdělí do pamětí jednotlivých pracovních stanic, které proto mohou pracovat nezávisleji než ve farmě a dále spolu smějí komunikovat přímo. Tento model je blíže obecné paralelizační strategii, protože umožňuje transformovat problém efektivně na paralelní počítače.
© J. Nadrchal (28.4.2000) | ![]() ![]() |