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.