Systém pro distribuci výpočtů 


 


Zobrazit pokyny k instalaci

Instalovat

Centrum počítačové grafiky a vizualizace dat na Západočeské univerzitě v Plzni

Systém pro distribuci výpočtů
GSD 1.2 BETA

Jan Doubek, Josef Kohout

Obsah

  1. Co je to GSD?
  2. Uživatelské moduly.
  3. Jak GSD používat?
  4. Historie systému.
  5. Stav systému a dosavadní zkušenosti se systémem.
  6. Plánované změny.
  7. Odkazy
  8. Kontakt

 

Co je to GSD?

          General System for Distribution (GSD) je systém umožňující uživatelům vytvářet jejich vlastní "distribuované aplikace" bez jakékoliv hlubší znalosti ohledně distribuovaného zpracování. Na systém lze pohlížet jako na černou skřínku se vstupy a výstupy. Vstupem je uživatelská úloha, výstupem řešení uživatelského problému, a mezitím "magie" od které je programátor používající GSD systém ušetřen (narozdíl od programátorů používajících profesionálních systémů MPI a PVM).
         Tento komfort sebou přináší řadu omezení, nejvýznamnějším je použitelnost pouze pro úlohy paralelizovatelné ve smyslu master-slave (farmer-worker), rozsah práce musí být znám před zahájením výpočtu, výpočet může být předčasně ukončen, nelze používat na strojích s odlišnou architekturou, pouze pod WinNT 4.0 nebo Win2000. Protože systém je psán obecně, nemusí být efektivní pro konkrétní typ úlohy. Pokud vyžaduje efektivitu, použijte raději MPI nebo PVM.
        Systém je určen pro laiky, kteří nemají čas ani chuť pouštět se do zkoumání komunikace mezi distribuovanými komponentami, ale potřebují (resp. chtějí si vyzkoušet) výpočetní sílu distribuovaného zpracování.  Systém by měl být určen pro všechny uživatele, kteří mají k dispozici internet a potřebují rychlý výpočet, ale jejich podniková síť je příliš malá, aby výpočet mohl být dokončen v řádném termínu - viz Stav systému.  

Uživatelské moduly.

        Algoritmus uživatelské úlohy může být napsán v libovolném programovacím jazyce, který produkuje .DLL knihovny. Uživatel, který chce použít GSD systém musí napsat dva moduly označované Master User (MU) a Slave User (SU) a tyto moduly umístit do jedné nebo dvou DLL knihoven. MU poběží na centrálním počítači v síti GSD, SU poběží na všech ostatních počítačích. Zatímco MU je modul pro načítání (resp. generování) vstupních dat, sběr výsledků a uložení na disk; SU modul obsahuje vlastní algoritmus. Uživatel musí napsat v obou modulech definované funkce pro komunikaci s GSD, a také tyto funkce označit jako DLL exportované. 

 

Jak GSD používat?

        Systém GSD sestává ze čtyř (resp. z pěti) částí: GSDMaster, GSDSlave, GSDControl a GSDLoader (resp. ASP verze GSDLoader). GSDMaster je nainstalován na jediném počítači a v jeho adresním prostoru běží MU. Kromě toho komunikuje se všemi klony GSDSlave (GSDSlave nainstalován na všech ostatních počítačích, které GSD využívá). V adresním prostoru GSDSlave běží SU. GSDControl je nainstalován na všech počítačích a monitoruje činnost systému a umožňuje automatický upgrade. S těmito komponentami přijde do styku administrátor systému, běžný uživatel přijde do styku pouze s GSDLoaderem. GSDLoader existuje ve dvou verzích, a to .EXE spustitelný soubor nainstalovaný na stejném počítači jako GSDMaster, a ASP verze umožňující zadání úlohy s využitím sítě Internet. GSDLoader tvoří jednoduchý formulář, ve kterém vyplní informace o minimálním a maximálním počtu počítačů na které bude SU modul distribuován. Vyplňují se rovněž umístění DLL knihovny s MU a SU modulem a umístění konfiguračního souboru. MU je inicializován na základě tohoto souboru, protože MU ani SU nesmí zobrazovat jediný dialog, nebo chybovou hlášku. Poslední nepovinná informace je stručný název úlohy a e-mailová adresa na kterou se má odeslat informace po skončení výpočtu. 

Historie systému.

  • listopad 2000 - zadáno jako semestrální práce z Algoritmů Počítačové Grafiky týmu Jan Doubek, Josef Kohout. Navržený systém poběží jako NT service pod Windows 2000 využívaje asynchronní COM+ pro komunikaci
  • konec listopadu 2000 - asynchronní COM+ dokáže přenést maximálně 4MB dat, tj. málo vzhledem k velikosti běžných dat grafických aplikací. Řešením je asynchronní COM 
  • prosinec 2000 - první implementace, vnitřní algoritmus distribuce založený na technice pipe-line
  • 2.1.2001 - testování verze 1.0 na 2 počítačích s Win2000 v laboratoři ZČU UL407 na úloze DCT
  • 3.1.2001 - prezentace GSD 1.0 v rámci CGG ZČU
  • leden 2001 - nahrazen asynchronní COM sychronním COM, který je asynchronně volán, čímž GSD rozšířen i na počítače s operačním systémem WinNT 4.0
  • druhá polovina ledna - odstraňování chyb, testování na 5 počítačích (nutnost práv administrátora)
  • únor 2001 - testování na homogenní síti v UL406, 10 počítačů,  testování ověřilo nepoužitelnost interního algoritmu distribuce, nutné přepracování jádra. První uživatel systému Tomáš Hlavatý shledává použití uživatelského rozhraní příliš složitým, nutné přepracování.
  • březen 2001 - nový algoritmus distribuce vyhovuje pouze úlohám s konstantní dobou trvání výpočtu jednoho elementu, navíc poslední element počítán pouze jedním strojem i více než minutu, zatímco ostatní stroje již svou činnost ukončili. Service není schopen posílat e-mail, nutno vyřešit problém mailování.
  • duben 2001 - distribuce aplikace Povray,  zjednodušení algoritmu distribuce, duplicitní zpracovávání posledních elementů, přidání synchronizace pro odstranění problémů s nepřesným odhadem stavu na jednotlivých strojích, možnost ukončit uživatelský algoritmus - harakiri. Mailing funkční pouze přes interface v CDONT.DLL, který však vyžaduje IIS 4.0+ s podporou SMTP, tj. standardně Windows 2000 nebo WinNT 4.0 server s nainstalovaným OptionPack. Jediné jiné řešení je přímá komunikace přes WinSockety se SMTP serverem. Toto řešení vyžaduje však důkladnou znalost MIME standardu, proto prozatím ponecháno řešení IIS.
  • 6.5.2001 - Jan Doubek končí svou účast na projektu
  • 7.5.2001 - GSD verze 1.1
  • 8.5.2001 - Jan Doubek opouští Českou republiku
  • 21.5.2001 - prezentace projektu na SVOČ ZČU 2001
  • květen/červen 2001 - testování nové verze (převážně T. Hlavatý na své úloze MWT) 
  • 9.6.2001 - instalace systému na cca 30 počítačů v laboratořích KIV, z důvodů chybějících administrátorských práv (potřebné pro instalaci) nebyla instalace provedena v UL402 a z důvodu bezpečnosti v UL405.
  • 22.6.2001 - GSDMaster verze 1.2

 

Stav systému a dosavadní zkušenosti se systémem.

        Verze GSD 1.2 BETA by měla odstranit  závažné chyby odhalené testováním, jako např. že občas se výpočet ukončí ještě před spočítáním všech jednotek.
        V současnosti neexistuje GSDLoader - ASP verze, veškerá činnost je řízena pouze z počítače na němž je nainstalován GSDMaster, Výsledky jsou ukládány na disk tohoto počítače spolu s reportem o průběhu výpočtu. Tento report je zasílán jako příloha zadavateli úlohy pouze pokud běží GSDMaster na počítači se SMTP podporou. Výsledky nejsou automaticky odstraňovány, o toto by se měl postarat uživatel.

Plánované změny.

  1. Možnost automatické změny celého systému z jednoho počítače
  2. Snadnější přístup k výsledkům pro uživatele
  3. Vlastní SMTP/MIME komunikace
  4. Rozšíření na Web 

Odkazy

http://herakles.zcu.cz - domácí stránky Centra počítačové grafiky a vizualizace dat.
http://herakles.zcu.cz/research.php - informace o GSD a dalších projektech.

Kontakt

Centrum počítačové grafiky a vizualizace dat
Katedra informatiky a výpočetní techniky, Fakulta aplikovaných věd
Západočeská univerzita
Univerzitní 8, Box 314, 30614 Plzeň
EMAIL: cse@kiv.zcu.cz (předmět : GSD - Centrum grafiky)
Fax : 019 / 7491 213