P-GRADE: Párhuzamos programok fejlesztése és futtatása szuperszámítógépeken, klasztereken és Grid rendszereken

 

Kacsuk Péter

MTA SZTAKI

kacsuk@sztaki.hu

 

A P-GRADE rendszert eredetileg párhuzamos programok fejlesztésének támogatására hozta létre a SZTAKI Párhuzamos és Elosztott Rendszerek Laboratóriuma. A Párhuzamos rendszerek fejlesztése lényegesen nehezebb és összetettebb feladat, mint a szekvenciális programoké, ezért vált szükségessé egy olyan grafikus környezet kidolgozása, melyben nem informatikus képzettségű végfelhasználók (pl. meteorológusok, kémikusok, stb.) is képesek szuperszámítógépeken és klasztereken futtatható programok kifejlesztésére. A P-GRADE rendszer eredeti formájában grafikus nyelvet, grafikus editort, előfordítót, PVM könyvtár támogatást, elosztott grafikus hibakereső rendszert, monitorozó és vizualizációs rendszert biztosított a felhasználóknak. A "Klaszter programozási technológia és alkalmazása a meteorológiában" c. IKTA-3 projekt keretében a P-GRADE rendszert kiterjesztettük további olyan eszközökkel, amik a klasztereken történő párhuzamos végrehajtás esetén jelentősen növelik a végrehajtás hatékonyságát, ill. megbízhatóságát.

 

A Grid rendszerek megjelenésével a párhuzamos programok végrehajtása, már egyszerre több klaszteren és szuperszámítógépen is lehetségessé válik. Ahhoz, hogy ezeket az új lehetőségeket ki lehessen használni a P-GRADE rendszert tovább kellett fejleszteni a Grid rendszerek támogatása irányában. Itt a cél hasonló a klasztereken és szuperszámítógépeken történő párhuzamos programfejlesztéshez és végrehajtáshoz: minél inkább eltakarni a felhasználó elöl a Grid szervezésének részleteit, hogy a felhasználónak csak saját feladatának megoldásával kelljen törődnie. További cél volt, hogy ugyanazt a P-GRADE rendszert lehessen használni függetlenül attól, hogy a kifejlesztett program hol fog futni: szuperszámítógépen, klaszteren, vagy a Gridben.

 

Ezt a feladatot a Magyar Szuperszámítógépes Grid (SzuperGrid) projekt keretében oldjuk meg több lépcsős megközelítésben. Az első lépcsőben kidolgoztuk a P-GRADE job végrehajtási módját, ami a Gridben történő végrehajtáshoz elengedhetetlen, de jól használható a szuperszámítógépeken és klasztereken is. Ennek érdekében első lépésként összeintegráltuk a P-GRADE rendszert a Condor jobkezelő rendszerrel. Ennek a rendszernek előnye, hogy lehetővé teszi a P-GRADE-ben kifejlesztett párhuzamos programok futtatását Condor jobként egyetlen klaszteren belül, vagy több barátságos klaszteren párhuzamosan a "Condor flocking" technika kihasználásával. Ezt a rendszert demonstráltuk a berlini CCGrid2002 konferencia Grid Demo workshopján. Az így kifejlesztett P-GRADE/Condor rendszer kiválóan alkalmazható a magyar Klaszter Gridben, mivel az is a Condor rendszerre épül.

 

A P-GRADE/Condor rendszer hátránya, hogy nem teszi lehetővé a Grid alkalmazás monitorozását és on-line vizualizációját, nem teszi lehetővé az input fájlok mozgatását a Grid kiválasztott erőforrására, továbbá ellenőrzőpont készítését a párhuzamos alkalmazásról. Ez utóbbi hiányosság megakadályozza a párhuzamos program futásának ideiglenes felfüggesztését és későbbi folytathatóságát, ami pl. a magyar Klaszter Gridben okozhat jelentős problémát, hiszen annak gépei csak szakaszosan működnek Grid üzemmódban. A fenti problémák megoldására fejlesztettük ki a PERL-GRID réteget. A P-GRADE és PERL-GRID együttes használatával létrejött un. TotalGrid rendszer már alkalmas párhuzamos programok tetszőleges Gridbeli erőforráson történő végrehajtására és monitorozására. A TotalGrid rendszer már olyan megbízható technológiára épül, ami a vállalatok számára is érdemessé teszi a Grid rendszerek alkalmazását. A TotalGrid rendszer alkalmazhatóságát az Országos Meteorológiai Szolgálat MEANDER programcsomagjával demonstráltuk a Piliscsabán 2002 szeptemberében megrendezett 5. EU DataGrid konferencián ill. az IKTA-4 projektek 2002 novemberi nyilvános beszámolóján. A P-GRADE továbbfejlesztéseként a SzuperGrid projekt keretében kidolgozzuk a P-GRADE új, workflow üzemmódját, amely komplex, több jobból álló alkalmazás párhuzamos végrehajtását biztosítja a Gridben.

 

Az előadás bemutatja a P-GRADE különböző fentemlített végrehajtási módjait mind a klaszterek, mind a Grid rendszerek környezetében.