\"/
\"/ \"/    

První zkušenosti z evropského metapočítání

Luděk Matyska, Miroslav Ruda, Aleš Křenek, FI MU, ÚVT MU
Ročník XI - číslo 2, prosinec 2000
Citace: L. Matyska, M. Ruda, A. Křenek. První zkušenosti z evropského metapočítání. Zpravodaj ÚVT MU. ISSN 1212-0901, 2000, roč. XI, č. 2, s. 4-7.
Tematické zařazení: Superpočítače a gridy
 předchozí článek | následující článek 

Výpočetní Grid v Evropě

Základní informace o evropských aktivitách v oblasti rozsáhlého distribuovaného metapočítání (EGridu) jsme podali v příspěvku v minulém čísle Zpravodaje [4]. Jednou ze zmíněných aktivit byla i příprava demonstrace využití myšlenky Gridu v Evropě a ověření skutečného stavu programového vybavení i organizační připravenosti pro rozsáhlé výpočty, vyžadující spolupráci řady superpočítačových center a obdobných pracovišť v Evropě. Tento článek, který je do značné míry shrnutím společného příspěvku [3], podává podrobnější informace o vlastním experimentu a zkušenostech při něm získaných.

Příprava a prezentace experimentu

Jedním z nejsložitějších problémů vytváření výpočetní mřížky (Computational Grid) je organizační zajištění a vytvoření alespoň základní bezpečnostní infrastruktury, která umožní využít Grid jako skutečně jedno (byť virtuální) výpočetní prostředí. Cílem experimentu, jehož výsledky byly prezentovány v průběhu nejvýznamnější konference v oblasti superpočítání (konference SC2000 konaná v Dallasu ve Spojených státech), bylo prokázat, že v Evropě, přes její rozdělení do národních států, je již v současné době příznivé prostředí pro realizaci obdobně rozsáhlých Gridů, jaké jsou v posledních letech využívány v USA.

Kromě této organizační složky (která s sebou nese i zajištění nezbytné bezpečnostní infrastruktury, překonání jazykových i kulturních bariér), tedy důkazu, že se v Evropě umíme domluvit, bylo cílem experimentu též:

Zvlášť podstatný je poslední bod, neboť přestože jedním z dílčích experimentů byla i realizace rozsáhlého distribuovaného výpočtu rozprostřeného přes řadu zúčastněných center, hlavním cílem bylo předvést putujícího červa, tedy výpočet, který se umí sám přizpůsobit prostředí Gridu, nalézt dostupné počítače s volnou kapacitou, vybrat z nich a přesunout se na vybraný, pokračovat tam ve výpočtu a po vypršení přiděleného času opět vyhledat další počítač a na něm ve výpočtu pokračovat.

Použitý software

Globus Metacomputing Toolkit.  Základní softwarové prostředí experimentu tvořil Globus Metacomputing Toolkit [2], který se v poslední době, zejména v USA, stává de-facto standardem pro prostředí GRIDu.

Globus je sada nástrojů zařaditelná do oblasti middleware, je volně šiřitelný (pod Globus Toolkit Public License) včetně zdrojového kódu. Vývoj systému Globus je podporován řadou grantů NSF.

Primárním účelem systému Globus je uniformní přístup k heterogenním výpočetním zdrojům. Obsahuje kompletní bezpečnostní infrastrukturu založenou primárně na asymetrické kryptografii, informační služby publikující statické i dynamické informace o dostupných výpočetních zdrojích, speciální jazyk pro specifikaci požadavků úlohy na výpočetní zdroje, uniformní přístup k různým systémům správy úloh, celou řadu standardních nástrojů (ssh, ftp, ...) rozšířených o autentizační a autorizační mechanismy systému, integraci MPI atd. Uživatelským programům zajišťují přístup ke specifickým částem prostředí Globus (např. plánovač a správa zdrojů, vstup/výstup) odpovídající knihovny (GRAM, globus-io, ...).

Cactus Code and Computational Toolkit.  Cactus [1] je rozsáhlé softwarové prostředí pro vědecké a technické výpočty, vyvíjené především v Evropě (Německo, Albert-Einstein-Institut v Postupimi (Potsdam)). Jeho modulární architektura dovoluje na jedné straně spolupráci různých skupin při vývoji programů, na straně druhé paralelní běh výsledného kódu v heterogenním prostředí.

Jméno celého systému nebylo vybráno náhodně, ale je akronymem základní architektury - Cactus je tvořen základním "tělem" (obecné, na vlastní aplikaci nezávislé), k němuž se pak připojují "trny" (ty implementují aplikační kód, numerické a komunikační knihovny, distribuci dat, řízení výpočtu apod.). Tato modulární struktura umožnila poměrně snadné napojení obou systémů, CactusGlobus, kde Globus poskytuje základní infrastrukturu, včetně nezávislosti na konkrétní platformě (heterogennost) a v systému Cactus je implementována vlastní aplikace. Tímto způsobem je snadné programy, které využívají systém MPI pro komunikaci v distribuovaném prostředí, převést do heterogenního prostředí GRIDu právě využitím systému Globus a jím podporované implementace MPICH.

Cactus WWW Portál.  Jak bylo uvedeno již výše, jedním z největším problémů GRIDových výpočtů je organizační zajištění. Je to nejen administrativní dohoda mezi jednotlivými centry, ale především netriviální objem práce spojené s přípravou odpovídajícího prostředí pro rozsáhlé distribuované výpočty na jednotlivých počítačích. I v případě homogenních systémů (např. počítače SGI Origin) existují drobné rozdíly mezi dostupným programovým vybavením, způsoby uložení programů a knihoven; situace v případě heterogenních výpočetních zdrojů je pak mnohem složitější: existují rozdíly ve jménech překladačů, defaultním nastavení prostředí, dostupností knihoven apod. Netriviální je i případná správa více uživatelských účtů, různých způsobů autentizace a autorizace (včetně případné správy hesel). Zvládnutí těchto odlišností je v poslední době považováno za jednu z významných příčin relativně malého využití již existujících GRIDů.

K usnadnění práce koncových uživatelů systému Cactus bylo proto vytvořeno speciální WWW rozhraní, tzv. Cactus portál. Tento portál umožňuje současnou správu systému Cactus na více počítačích, spouštění, řízení a sledování výpočtu atd. To vše prostřednictvím jednoho webového rozhraní, zabezpečeného jediným heslem (je využit protokol SSL). Portál poskytuje nástroje pro překlad aplikací napsaných v prostředí Cactus a využívajících Globus, instalaci zdrojového kódu i výsledných binárních programů na libovolném počtu i architekturou zcela různých počítačů, kopírování vstupních dat na jednotlivé počítače apod. Potřebné procesy jsou automatizovány a uživatel je tak v maximální možné míře odstíněn od nutnosti znát konkrétní podrobnosti jednotlivých použitých výpočetních prostředí.

Uspořádání výpočtu

Byla předvedena dvě odlišná uspořádání výpočtu: distribuovaná simulace běžící na několika geograficky vzdálených počítačích současně a tzv. Červ Cactus (Cactus Worm), reprezentující nový, odlišný výpočetní model, který se sám dynamicky přizpůsobuje stavu sítě (tzv. "síťové počasí"), tj. momentálnímu zatížení a dostupnosti jednotlivých výpočetních zdrojů (a v budoucnu i zatížení a dostupnosti Internetových linek výpočetní zdroje propojujících).

V tomto modelu je výpočet spuštěn na nějakém uzlu GRIDu, kde má k dispozici určité kvantum strojového času. Jakmile je toto kvantum vyčerpáno (resp. o chvíli dříve), výpočet se sám pozastaví, "zjistí", kde je k dispozici další volný uzel (pro tento účel se v souladu s architekturou systému Globus používá adresářový protokol LDAP) a následně se na tento nově vybraný uzel přesune a tam pokračuje ve výpočtu. Tento model vyžaduje samozřejmě podporu na straně aplikace, na druhé straně umožňuje realizovat i velmi dlouhé a rozsáhlé výpočty nezávisle na tom, kolik konkrétního času má uživatel na jednom každém počítači k dispozici. Důsledné využití adresářových služeb umožní i automatické přesměrování případných výsledků na stanici (stanice), která výpočet monitoruje. V konečném důsledku se pak uživatel vůbec nemusí starat, kde právě výpočet probíhá, a přitom bude moci trvale sledovat průběh výpočtu např. vizualizací mezivýsledků. Tento model byl v rudimentární podobě použit i při vlastní demonstraci, kdy putující výpočet posílal definovaným způsobem vizualizační data, která bylo možno nezávisle na aktuálním uzlu EGridu, kde výpočet probíhal, zobrazovat na koncové stanici v Dallasu.

Zúčastněné organizace

Zájem o účast na experimentu projevilo původně 12 superpočítačových center ze 7 evropských států, na realizaci testu se nakonec podílelo 9 pracovišť ze 6 zemí. Dále uvádíme seznam pracovišť společně se stručnou charakteristikou počítačů poskytnutých pro účely experimentu.

Závěr

Přes určité problémy s transatlantickou konektivitou (která byla bohužel výrazně horší než před rokem) proběhl celý experiment velmi dobře. Podařilo se prokázat, že je možno vytvořit a skutečně realizovat putující výpočet, idea portálu umožnila sledovat průběh výpočtu i z počítačů do ruky (Palm, iPaq, ...). Autoři jsou optimisticky přesvědčeni, že i tato demonstrace je dalším příspěvkem k vytváření skutečně běžně využitelných GRIDů jako výpočetního prostředí budoucnosti.

Literatura

[1] G. Allen, W. Bwnger, T. Goodale, H. Hege, G. Lanfermann, A. Merzky, T. Radke, and E. Seidel. The Cactus Code: A problem solving environment for the Grid. In Proc. High Performance Distributed Computing, pages 253-260. IEEE Computer Society, 2000.
... zpět do textu
[2] I. Foster and C. Kesselman. Globus: A metacomputing infrastructure toolkit. Int. Journal of Supercomputer Applications, 11(2):115-128, 1997.
... zpět do textu
[3] G. Allen et al. Early experiences with the EGrid testbed, 2000. submitted.
... zpět do textu
[4] L. Matyska. Distribuované počítání ve velkém. Zpravodaj ÚVT MU, ISSN 1212-0901, 2000, roč. 11, č. 1, s. 1-4.
... zpět do textu
Zpět na začátek
ÚVT MU, poslední změna 14.11.2011