Ultrarövidtávú meteorológiai elõrejelzõ rendszer párhuzamosítása a P-GRADE fejlesztõkörnyezettel


Lovas Róbert

MTA SZTAKI, Budapest 1518, Pf. 63

rlovas@sztaki.hu

Horváth Ákos

Országos Meteorológia Szolgálat, Siófok 8600, Vitorlás utca 17.

horvath.a@met.hu


Kivonat. Az Országos Meteorológiai Szolgálat által kifejlesztett Mezoskálájú Analízis és Ultrarövidtávú Elõrejelzõ Rendszer (MEANDER) alapvetõen fontos, életvédelmi feladatokat lát el: a beérkezõ mérések és elõzetes számítások felhasználásával idõjárási riasztásokat készít, amely fontos adalékot jelent pl. a Balatoni Viharjelzés vagy a Repülésmeteorológiai Szolgálat munkájához. A MEANDER-ben számos nagy számításigényû feladat található, melyek idõben történõ elkészítése lehetetlen lenne az eljárások hatékony párhuzamosítás nélkül. A szekvenciális FORTRAN és C++ programkód párhuzamosítására az MTA SZTAKI és a Miskolci Egyetem által kifejlesztett P-GRADE grafikus programozási környezetet használtuk, ami hatékony támogatást nyújt a párhuzamos alkalmazások teljes fejlesztési életciklusához. A cikkben ismertetjük néhány alapvetõen fontos, a P-GRADE programfejlesztõ környezet segítségével párhuzamosított ultrarövidtávú elõrejelzési eljárás rövid leírását és párhuzamosításának menetét a tervezési fázistól, a hibakeresésen át a teljesítményanalízisig. Bemutatjuk továbbá a futtatások eredményeit, mind szuperszámítógépes, mind klaszteres környezetben, illusztrálva a P-GRADE rendszer hatékony felhasználását mindkét platformon.1

Elõzmények

A nagy számításigényû feladatok megoldására kialakult módszerek és lehetõségek az elmúlt két évtizedben jelentõs változáson mentek át. Az általános célú számítógépek elterjedésével a szuperszámítógépek alkalmazási aránya az ilyen jellegû feladatokban fokozatosan csökken, és egyre több helyen figyelhetjük meg az általános célú számítógépekbõl felépített számítógép-farmok (klaszterek) alkalmazását.

A 90-es években a személyi számítógépek (PC-k) és munkaállomások ára drasztikusan csökkent, ami tömeges elterjedésükhöz vezetett, emellett teljesítményük jelentõsen növekedett, de kihasználtságuk igen alacsony fokú. Ezzel egy idõben a PC-k operációs rendszere a valódi többtaszkos rendszerek felé tolódott, a lokális hálózati technológia jelentõs fejlõdésnek indult és ennek eredményeként megjelentek a nagysebességû és ugyanakkor elegendõen olcsó lokális hálózatok (FastEthernet, Myrinet).

A fenti hatások kézenfekvõvé tették, hogy a nagyszámú, gyors lokális hálózatba kötött általános célú munkaállomásokat, majd késõbb a PC-ket is fel lehet használni számításigényes feladatok megoldására. Ehhez természetesen olyan új szoftver rétegek bevezetésére volt szükség, amely biztosította a programok párhuzamosításának hatékony megvalósítását az így kialakított munkaállomás farmokon. Itt elsõsorban az új kommunikációs könyvtárak (PVM, MPI) játszottak döntõ szerepet és tették lehetõvé a számítógép-farmok gyors elterjedését.

A számítógép-farmok nagy elõnye relatív olcsóságuk mellett könnyû bõvíthetõségük, skálázhatóságuk. Napjainkra a számítógép-farmok bizonyították életképességüket, és mind több helyen veszik át a szuperszámítógépek helyét a számításigényes feladatok megoldásában. Ezt bizonyítja a legnagyobb teljesítményû gépkonfigurációk TOP 500-as listáján a számítógép-farmok aránya, vagy pl. a CERN döntése, hogy a továbbiakban nagy teljesítményû PC-kbõl felépített farmokat alkalmaznak.

P-GRADE párhuzamos grafikus fejlesztõ környezet

A klaszterek hatékony programozása számos nyitott kérdést vet fel. Mindenek elõtt elengedhetetlen a párhuzamos programozási technikák alkalmazása a klaszterek processzorainak kihasználása és együttes alkalmazása érdekében. Ehhez megfelelõ programozási módszertan és azt támogató fejlesztõ rendszer szükséges.

Az MTA SZTAKI és a Miskolci Egyetem kidolgozott egy párhuzamos programfejlesztõ rendszert, amely egységes grafikus környezetbe integrálja a párhuzamos alkalmazások fejlesztésének minden fázisát: program dekomponálás, tervezés, kódolás, processzortérbe való leképezés, fordítás, hibakeresés, monitorozás, vizualizáció a programvégrehajtás és teljesítmény analíziséhez. Ez a program fejlesztõ rendszer a P-GRADE [4] és elsõ változata [3] szuperszámítógépek és kisebb UNIX munkaállomás hálózatok programozását támogatta, de a legújabb változat már lehetõvé teszi nagyobb (dedikált) klaszterek kihasználását is. A közeljövõben tervezi az MTA SZTAKI kiadni a dinamikus terheléselosztást támogató, hibatûrõ változatot, ami még tovább növeli a klaszterek kihasználásának hatékonyságát, fõleg hosszan futó alkalmazások és megosztott használat esetén.

Célunk volt, hogy a P-GRADE fejlesztõ környezet olyan alkalmazók számára is tegye lehetõvé a klaszterek és szuperszámítógépek használatát, akik nem professzionális informatikusok/programozók, de akik érdekeltek programjaik felgyorsításában. Ennek érdekében a P-GRADE rendszer egy olyan grafikus megközelítést alkalmaz, ahol a különbözõ fejlesztési fázisokat támogató eszközök egységesen ugyanazokat a szerkesztési/tervezési nézeteket használják és a szoros integrációnak köszönhetõen könnyen beazonosíthatóak az egymáshoz tartozó programrészek, események, töréspontok, stb. Továbbá a P-GRADE rendszer támogatja a hierarchikus felülrõl-lefelé történõ programtervezést az általa használt grafikus nyelv három szintjével: applikációs szint (kommunikációs topológia leírása a processzek között), processz szint (a processz viselkedését leíró folyamatábra-szerû jelöléstechnikával) és szöveges kód szint (a szekvenciális programrészek leírására). A grafikus nyelv segítségével a párhuzamos végrehajtáshoz szorosan kötõdõ programrészeket mintegy "megrajzoljuk" a P-GRADE részét képezõ grafikus szerkesztõvel (GRED), de a szekvenciális programrészeket érintetlenül hagyva beemelhetjük a P-GRADE programba. Így a fejlesztõeszköz hatékonyan tudja támogatni a meglévõ szekvenciális kódok gyors párhuzamosítását.


NOWCASTING & MEANDER

A P-GRADE programrendszer alkalmazásának demonstrálása és tesztelése a nowcasting meteorológiai programcsomagon történik a "Klaszter programozási technológia és alkalmazása a meteorológiában" c. OM / IKTA-3 projekt keretében az MTA SZTAKI, az OMSZ és a Silicon Computers Kft. együttmûködésében.

A nowcasting [1][2] programcsomag egy olyan komplex szoftver, amely képes a rendelkezésre álló összes lehetséges meteorológiai információt (felszíni és magaslégköri megfigyelések, radar és mûhold adatok, számszerû elõrejelzési modellek eredményei, stb.) analizálni (a meteorológiában objektív analízisnek nevezik azt az eljárást, mely során a térben szabálytalanul elhelyezkedõ információk, mérések alapján egy szabályos rács hálózatára interpolálunk), s egységes rendszerbe foglalni, valamint ez alapján néhány órára vonatkozóan elõrejelzéseket adni. Ez a gyakorlatban annyit jelent, hogy a fent említett információk beérkezése után a lehetõ legrövidebb idõn belül egy Kárpát-medencét lefedõ tartományon minél nagyobb térbeli felbontásban az összes lényeges meteorológiai paraméter értékére egy lehetõség szerint minél pontosabb becslést adunk (azaz ott is elõállítjuk ezen paraméterek értékeit, ahol ezeket közvetlenül nem mérjük). Itt két fontos tényezõ jelenik meg: a gyorsaság (a program végrehajtási sebessége), valamint a pontosság a térbeli lefedettség (felbontás) tekintetében. Nem szabad arról sem megfeledkeznünk, hogy a meteorológiában alapvetõ fontosságú az alkalmazott szoftverek és futtató eljárások megbízhatósága, azaz azokat minden eshetõségre fel kell készíteni annak érdekében, hogy a programok eredményei minden körülmények között az elõrejelzõ szakemberek rendelkezésére álljanak.

A programcsomag analízis része a MEANDER, azaz Mezoskálájú Analízis, Nowcasting és Döntési Rendszer a Kárpát-medence térségében kb. 4 km-es horizontális felbontással állítja elõ a meteorológiai változók analizált értékeit. A nowcasting csomag többek között az alábbi elemeket tartalmazza: optimális interpoláción alapuló objektív analízis rendszer a felszínközeli megfigyelések analízéséhez, a téli csapadék halmazállapotának analízise és elõrejelzése, a látástávolság és köd analízise és elõrejelzése, a felhõborítottság és felhõtetõ magasság meghatározása mûholdképek alapján, felhõtípusok elkülönítése mûholdképek alapján, zivatarok elõrejelzése radarképek automatikus kiértékelése révén, döntési eljárás konvektív szélviharok regionális elõrejelzésére radaradatok alapján.

A fentiekbõl látható, hogy egy nagyon összetett és sokrétû alkalmazásról (melynek egyes elemei egymással is kölcsönhatásban állnak) van szó, amit az 1. ábra is szemléltet. Az elsõ program változat Hewlett-Packard (HP) munkaállomásokra lett kifejlesztve, s az analízis rendszer végrehajtási ideje egy HP szerveren kb. 30 percet vett igénybe, amely messzemenõleg nem elégíti ki az elõrejelzõk elvárásait, akik a mérések után már néhány perccel szeretnék a komplex analízis rendszer eredményeit felhasználni. Ennek az elvárásnak csak akkor tudunk megfelelni, ha az analízis rendszer végrehajtási sebességét ugrásszerûen fokozzuk, s ennek egyik hatékony módja a program párhuzamosítása. A projektben ezt a rendkívül komplex programcsomagot kezdtük a P-GRADE párhuzamos programfejlesztõ rendszer segítségével párhuzamosítani elõször egy SGI Origin2000 számítógépen (12xMIPS R12000/400 MHz), majd az MTA SZTAKI intézeti klaszterére átemelve (58xPentium III/500MHz). Ezen alkalmazás segítségével vizsgáljuk a P-GRADE párhuzamos programfejlesztési környezet alkalmazhatóságát mind szuperszámítógépen, mind klaszteren.


A MEANDER rendszer párhuzamos változatának eddig elkészített változata nagyban felgyorsította a programcsomag végrehajtási sebességét, s így az analízis rendszer végeredményei már néhány perccel a mérések után megjeleníthetõek az elõrejelzõ szakemberek számára (de még további részeket szándékozunk párhuzamosítani a futási idõ további rövidítése végett).


4. Ábra A nowcasting rendszer folyamatábrája

A rendszer legfontosabb kimeneti eredménye az ún. jelen idõ kódja, mely révén az elõrejelzõ egyetlen pillantással meg tudja állapítani az adott területen, pontban uralkodó idõjárást (pl. zápor, vagy zivatar, hóesés, szélvihar, párásság, zavartalan napsütés, stb.). Ez a tudás elengedhetetlen az idõjárás jelenlegi állapotának leírása mellett az ultrarövidtávú elõrejelzéshez is (megjegyezzük, hogy a néhány órára vonatkozó elõrejelzéseket elsõsorban a jelen idõ alapján végzett extrapolációs módszerekkel származtatjuk, az egyébként széles körben alkalmazott számszerû elõrejelzési modellek helyett). A nowcasting feladatok elsõsorban az OMSZ állami alapfeladatainak elvégzésében segítenek, hisz az így elõállt eredmények az élet- és vagyonvédelem számos területén hasznosíthatóak, méghozzá elsõsorban az olyan veszélyt hordozó idõjárási jelenségek leírásánál és elõrejelzésénél, mint az intenzív szélviharok, nagy csapadékkal járó idõjárási helyzetek, villámcsapással fenyegetõ jelenségek, stb. A legismertebb alkalmazások a légi közlekedés biztosításával, vagy éppen a balatoni viharjelzéssel függnek össze.

Párhuzamosítás

Eddig a következõ négy alapvetõen fontos eljárást párhuzamosítottunk a P-GRADE programfejlesztõ környezet segítségével.

A CANARI alrendszer a mérések, és a numerikus modellek adatait asszimilálja és helyezi egy két dimenziós nagyfelbontású rácsra. A delta módszer az elõbbi eljárás eredményeit terjeszti ki három dimenzióra, olyan módon, hogy a mezõ fizikai konzisztenciája ne sérüljön (tömeg és impulzus konzervatívitás fennmaradjon). A harmadik eljárás a zivatar fázisok, fõként a jég fázis térbeli meghatározást végzi el, ilyen módon elõsegíti a veszélyes konvektív folyamatok elõrejelzését. Végül a negyedik eljárás a légkör optikai vastagságát számolja ki, amely a besugárzás és a ködök elõrejelzését teszi lehetõvé.

A fenti eljárások meteorológiai leírását, párhuzamosításának menetét és futtatásának eredményeit a [5]-ben részletesen bemutatjuk, a következõekben a delta módszer párhuzamosítását foglaljuk össze, illusztrálva eddigi munkánkat és a P-GRADE hatékony felhasználását szekvenciális programok párhuzamosítására.


Meteorológiai mezõk objektív analízise: a delta módszer

A nowcasting eljárások egyik kulcsfontosságú lépése, hogy a meteorológiai állomásokon végzett mérések adataiból, az egyidejûleg végzett radar mérésekbõl, a mûholdas megfigyelésekbõl, az adott idõpontra elõrejelzett numerikus modell-eredményekbõl és más, rendelkezésre álló információkból kiszámolja egy nagy felbontású ekvidisztáns rácsra az un. meteorológiai alapparamétereket: a nyomást, hõmérsékletet, nedvességet, és a szelet (1. Ábra). Ebben a fejezetben a feladat egyik lehetséges megoldását ismertetjük, amelyik erõsen támaszkodik a rácspontokra készített ún. first guess adatokra, amelyek a gyakorlatban az OMSZ-nál alkalmazott nagy felbontású numerikus modell, az ALADIN által készített elõrejelzésekbõl származik. A felszíni mérések nyilvánvalóan nem reprezentálják kellõen a magasban lejátszódó folyamatokat, de olyan integrális paraméterek, mint a felszíni nyomás, jelzik a magasabb rétegek változásait is. Ahhoz, hogy a felszíni mérések adatait a magasabb rétegekre is alkalmazni tudjuk, bevezettük az un. virtuális szondákat, amelyek a magasság és hõmérséklet profilok pontosítására használhatóak. Az eljárás egyik fõ eleme, hogy a mérések és a first guess közötti különbségeket interpolálja a mérési pontokból a rácspontokra, és ott hozzáadva az ottani first guess értékekhez kapjuk az objektív analízis eredményeit.

A virtuális szonda

A virtuális szondát a szinoptikus állomások fölé számoljuk ki. A virtuális szonda legalsó szintje a felszín, ezért oda a szinoptikus állomáson mért felszíni légnyomást, a hõmérsékletet, a relatív nedvességet és széladatokat rendeljük. A felszín fölött kezdõdik az un. csatolási réteg, amelynek a vastagságát az évszakok függvényében érdemes változónak tekinteni. Nyáron amikor a konvektív turbulencia alaposan átkeveri a troposzférát, akkor 500 hPa körüli értéket választottunk, télen a 700 hPa tûnik alkalmasnak a csatolási réteg tetejének . A csatolási réteg fölött nincs értelme a felszíni mérések figyelembevételének, e réteg fölött a numerikus modellbõl származó first guess adatokat tekintjük a virtuális szonda értékeinek. Ezek után a feladat az, hogy a csatolási rétegben meghatározzuk a hõmérséklet, magasság és nedvesség profilt. Az általunk alkalmazott numerikus modell nyomási koordinátarendszerben adja meg a first guess értékeket: a magasságot, hõmérsékletet, relatív nedvességet és a szelet. A csatolási rétegben a hõmérséklet profilt az alábbiak szerint számítjuk ki. Egyrészt tekintjük a modell által adott hõmérséklet profilt, másrészt tekintjük azt a profilt, amit úgy kapunk, hogy a modell profilt eltoljuk úgy, hogy az éppen a felszíni hõmérséklet értéken menjen át. A virtuális szonda profilja a két görbe között húzódik úgy, hogy fentrõl lefelé a modell profiltól monoton módon tart az elcsúsztatott profil felé és a rétegenként a hidrosztatikus egyenlettel kiszámolt nyomásszintek közötti távolságok összege a végén a csatolási szint vastagságát adják ki. Az így számolt profil tehát hidrosztatikus lesz, és figyelembe veszi a felszíni méréseket is. A hidrosztatikus számolás nyilvánvalóan a virtuális hõmérséklet segítségével történik, ehhez pedig a nedvesség profilra is szükség van. Itt lehetõség van arra, hogy kissé módosítsuk a first guess által kapott értékeket olyan módon, hogy figyelembe vesszük a felhõzet mértékét. Ahol a radar mérés szerint csapadék hullik, ott a relatív nedvességet a csatolási rétegben 100 %-nak tekintjük, más esetben különbözõ borultsági szintekre és felhõ típusok esetén ugyancsak lehetõség van a relatív nedvesség profiljának becslésére. A virtuális szonda szelet nem számol, erre késõbb kerül sor.

4. Ábra - A 850 hPa-os hõmérsékleti és szélmezõ a MEANDER rendszer alaprácsán.
(a mezõ kiszámítása a P-GRADE-del párhuzamosított delta módszerrel történt)

A háromdimenziós objektív analízis


A fentiek értelmében a szinoptikus állomások fölött rendelkezésünkre állnak a virtuális szondák profiljai, és az oda interpolált first guess adatok. A továbbiakban két lehetõség van. Az egyik (COST-78) ajánlás szerint a következõ lépésben minden egyes vertikális szinten képezhetjük a különbséget a first guess és a mérés (esetünkben a virtuális szonda értékei) között, az így kapott eltéréseket (deltákat) interpoláljuk a nowcasting rács fölé, és ott hozzáadjuk az ottani first guess adatokhoz, és az így kapott mennyiségeket tekintjük az objektív analízis eredményének. Ennek kissé módosított változata szerint, csak a felszíni mért értékek és a felszínre adott first guess-ek közötti különbségeket interpoláljuk a rácspontokra és ott ismét felépítjük a virtuális szondákat a föntebb leírtak szerint. Az így kapott mezõ elõnye, hogy hidrosztatikus lesz. Itt megint meg kell jegyezni, hogy ha radar adatok, vagy felhõképek is rendelkezésünkre állnak, akkor lehetõség van minden egyes rácsponton a nedvesség profil finomítására, és a virtuális hõmérsékleten keresztül a hõmérséklet-magasság mezõk pontosítására is. A horizontális interpolációhoz mindenütt a biharmonikus spline-t alkalmaztunk.

A szél számolására részben ismét a különbségek interpolációját alkalmaztuk. Mivel feltételezzük, hogy a magasság-hõmérsékleti mezõ meglehetõsen nagy pontossággal lett kiszámolva, így az azokból a mérési pontokban kiszámoljuk a geosztrófikus szelet és vesszük az eltérést a modell által adott széltõl. Ezt az eltérést (ageosztrofikus komponenst) interpoláljuk a rácspontokra és ott hozzáadjuk a geosztrófikus komponensekhez, és az így kapott értékeket tekintjük az objektív analízis szelének.


Párhuzamosítás a P-GRADE grafikus programfejlesztõ eszközzel

Tervezés és hibafeltárás

A párhuzamosítási során mind a négy eddig párhuzamosított algoritmusnál alapvetõen az ún. master/worker alapelvet alkalmaztuk, ahol egy dedikált folyamat (3. Ábra / Process: master,) felelõs a komplex feladat kisebb részekre történõ felosztásáért, az így kapott részfeladatok szétosztásáért a slave processzek között (3. Ábra / Template: Slaves), valamint a számítás után kapott eredmények begyûjtéséért és összeillesztéséért. A többi folyamat (workers vagy slaves) a master folyamathoz képest alárendelt szerepet játszik; a részfeladatot átveszi, a szükséges mûveleteket elvégzi, majd az eredményt visszaküldi a master folyamatnak. Az üzenetek küldését a következõ három grafikus nyelvi elem támogatja: a processz leíró szinten a kommunikációs ikon segítségével az átküldendõ/átveendõ változó(ka)t adhatjuk meg (3. Ábra / jobb alsó ablak szürkével kijelölt ikon), valamint a processz topológiát leíró szinten a kommunikációs portok (3. Ábra / szürke és zöld számozott négyzetek) és csatornák (3. Ábra / kék nyilak) szolgálnak a kommunikációs protokoll és a fogadó/címzett processz megadására.

A párhuzamos dekompozíció során az adatpárhuzamosság paradigmáját követtük, ahol a feladatot nem alfunkciókra bontjuk szét, hanem a vizsgálandó területet/mátrixot osztjuk fel, esetünkben diszjunkt sávokra/vektorokra, és ezeken az adatokon végzi el a slave a szükséges számításokat. Ez a gyakorlatban azt jelenti, hogy Magyarország és a környezõ térség területét a slave-k számával megegyezõ, egyenlõ területû és egymást nem fedõ sávokra osztjuk fel, és ezeket rendeljük hozzá egy-egy slave-hez, mint elvégzendõ munka.

A P-GRADE rendszerben a master/worker típusú alkalmazásokat a processz FARM elõre definiált és skálázható kommunikációs sablon támogatja (3. Ábra / Template: Slaves). A P-GRADE segítségével, így elég volt csupán egyetlen példányt implementálni a slave processzekbõl, a kommunikációs sablon skálázása már automatikus. A P-GRADE 1-tõl 128 példányig tudja kezelni a FARM sablonokat a szerkesztési, futtatási és teljesítmény-vizualizációs fázisban, valamint minimális méretre átállítva képes a hibakereséshez is segítséget nyújtani a DIWIDE elosztott hibakeresõvel (debugger). A fejlesztés során intenzíven támoszkodtunk a DIWIDE-re, hogy megtaláljuk a párhuzamos verzióban a szemantikai hibákat, illetve a PROVE-ra a teljesítménnyel kapcsolatos problémák kiküszöbölése céljából. Rendkívül hasznos volt a grafikus szintû lépésenkénti végrehajtás, amikor a kiválasztott processz viselkedését leíró folyamatábra egyes grafikus elemeit egymás után lépésrõl-lépésre hajtottuk végre, majd a (gyanítottan) hibás részhez közeledve áttértünk a finomabb granularitású, forráskód szintû lépésenkénti végrehajtásra. A tömbök és struktúrák egy lépésben történõ megjelenítésére is lehetõségünk nyílt a DIWIDE grafikus adatstruktúra böngészõjének segítségével a hibák feltárása céljából.

4. Ábra – A delta módszer P-GRADE-del párhuzamosított változata


Mûködését tekintve a master folyamat elõször elvégzi a szükséges paraméterek beolvasását (netCDF fájlból és parancssorból) majd lefoglalja a megfelelõ méretû puffereket a slave-k számától függõ hosszúságban az elküldendõ bemenõ adatok számára A következõ lépésben minden slave-nek elküldi a számításhoz szükséges paramétereket a P-GRADE kollektív kommunikációs lehetõségeit kiaknázva. A slave-k a már elõre lefoglalt puffereikbe átveszik a részfeladatokat, majd magát a számításokat - az elõzõ alfejezetekben tárgyalt módszereknek megfelelõen - külsõ objekt fájlokban megvalósított szekvenciális algoritmussokkal végzik el. Minden egyes slave egy egész számot küld vissza a kiszámított paraméterekhez szükséges memóriaterület meghatározása végett, majd magát a számítás eredményeit. Végül a master begyûjti az eredményeket és összefûzi õket, majd kiírja a megfelelõ netCDF állományba.

A numerikus megvalósítás során minden program netCDF adatmezõbõl olvassa az input információkat, és netCDF formátumba írja az eredményeket. Az eredmény vizualizációja az OMSZ HAWK grafikus munkaállomás segítségével történik, a csatolt meteorológiai ábra is onnan származik.

A master 1-es számú portja és a farm kommunikációs sablon 1-es számú ún. csoport portja között a kommunikációs protokoll változó hosszúságú üzenetek átvitelét teszi lehetõvé (az aktuális hosszt a másik kommunikációs csatornán egyeztetik). Hasonló megoldásokat alkalmaztunk még a látástávolság és halmazállapot számítását végzõ alkalmazások esetén is.

Jól látható a 3. ábrán, hogy a P-GRADE rendszerben elkészült alkalmazásban a ún. folyamatleíró szinten ("Process: xxx" fejlécû ablakok), ahol az egyes processzek viselkedését egy folyamatábrához hasonló technikával adhatjuk meg, gyakran alkalmaztuk a részgráfok egységbe zárását (elrejtését) az áttekinthetõség és kezelhetõség javítása végett. Ilyen folyamatleíró algráfot láthatunk a master folyamatnak ("Process: master" fejlécû ablak) végén, ahol a "results" cimkével ellátott grafikus dobozt és az általa egységbe zárt részgráfot ("Process: master à results" fejlécû ablak) láthatjuk. A grafikus doboz oldalán található azoknak a portoknak a részhalmaza, amelyek az egységbe zárt részgráfon belül is használhatóak kommunikációs célokra. Így tudjuk a processzleíró gráfokat strukturálni és kezelhetõ méretben tartani.


Futási eredmények és teljesítményvizsgálat

Mind az MTA SZTAKI klaszterén, mind az OMSZ SGI számítógépén történt párhuzamos futtatás során kapott eredmény megegyezik a szekvenciális változat eredményével, de a végrehajtási idõ drasztikusan csökkent a szekvenciális változatokhoz képes, megközelítõleg a 15%-ára (kb. 15 mp-re) csökkent 10 slave processz alkalmazása esetén a delta módszernél. Hasonló teljesítményjavulást tapasztaltunk a többi algoritmus esetén is. A P-GRADE rendszerbe integrált PROVE teljesítmény-vizualizációs eszköz által generált statisztikák és idõdiagramok is a hatékony párhuzamosítás tényét támasztják alá. Minden grafikonon a fekete szín jelöli a szekvenciális számításokat, míg a szürke és zöld színek reprezentálják az üzenetküldést és fogadást. A 4. ábra legfelsõ ablakában a teljes alkalmazás viselkedését leíró idõdiagram látható, ahol az egyes sorok reprezentálják az egyes processzek életútját, a nyilak pedig az üzenetváltásokat mutatják. Az alsó ablakokban a PROVE néhány statisztikai jellegû ablakát láthatjuk; egy körszelet diagramon ábrázolta az egyik slave processz különbözõ állapotaiban összegesen eltöltött idõt, és egy másik idõdiagramon, hogy hány processz kommunikált illetve végzett számítási feladatot egy adott pillanatban.

Klaszteren történt futtatás során némi teljesítménycsökkenést tapasztaltunk, ami a processzorok gyengébb (fõleg lebegõpontos) számítási teljesítményével hozható szoros összefüggésbe.





4. Ábra - A delta módszer teljesítmény-vizualizációja a PROVE eszközzel

Összegzés

Mint a leírtak jól illusztrálták, a P-GRADE fejlesztõeszközt sikeresen alkalmaztuk a MEANDER csomag több algoritmusának párhuzamosítására. A közeljövõben a projekt folytatásaként a többi algoritmust is az eddigi tapasztalatokra támaszkodva párhuzamosítani fogjuk, de ott már ki kell használunk a P-GRADE által nyújtott lehetõségek közül nemcsak a processz farm sablont, hanem a 2 dimenziós rács és a csõvonal kommunikációs sablonokat is, melyek elõzetes tanulmányaink szerint a legjobban fognak alkalmazkodni a párhuzamosítandó algoritmusokhoz. További információ és a P-GRADE letölthetõ változata elérhetõ az MTA SZTAKI weblapján [6].

Referenciák

  1. Horváth Ákos: Nowcasting System of the Hungarian Meteorological Service, Fifth European Conference on Applications of Meteorology, OMSZ Budapest, 2001. pp. 13.

  2. I.Geresdi and Á. Horváth: Nowcasting of precipitation type, Idojaras Vol. 104. No.4. 2000. December pp 241-252.

  3. P. Kacsuk, G. Dózsa, T. Fadgyas, R. Lovas. GRADE: A Graphical Programming Environment for Multicomputers. Computer and Artificial Intelligence. 17 (5) :417-427. (1998)

  4. P. Kacsuk. Visual Message Passing Programming – the P-GRADE Concept. Scientific Programming Journal. 2000, Special Issue on SGI’2000

  5. Klaszter programozási technológia és alkalmazása a meteorológiában, IKTA-3 projekt, 2. jelentés, 2. melléklet

  6. www.lpds.sztaki.hu

1 A cikkben leírt eredmények az Oktatási Minisztérium által támogatott "Klaszter programozási technológia és alkalmazása a meteorológiában" c. IKTA-3 projekt keretében jöttek létre.

8