Eredmények, tapasztalatok


Előző oldalKövetkező oldalHome


A nagyteljesítményű munkaállomás

A Gemini projekt megvalósításának első szakaszában (melyet elsősorban az 1999. évi ITKA pályázatban elnyert 800 000 Ft-os támogatás tett lehetővé, amit saját forrásból 60 000 Ft-tal kiegészítettünk ) beszereztünk egy nagyteljesítményű munkaállomást, amely a következő paraméterekkel jellemezhető: 2 db 450 MHz-es Pentium II/ECC processzor, ASUS P2B-DS alaplap, beépített SCSI UW2 vezérlővel, 3 db 256 MB PC100-as memóriamodul, 2 db Quantum Viking II 8.7 GB merevlemez, CR-589 CD ROM olvasó, 1.44 MB floppy, Matrox G200 8 MB videokártya, Belinea 10 70 30 monitor, BTC billentyűzet, PS/2 egér. Az említett összegből fedeztük egy APC BACK UPS 600 típusú szünetmentes tápegység, a helyi hálózat kialakításához beszerzett hálózati eszközök (8 db. KTI KF-230TX Fast Ethernet hálózati kártya, KTI KD8L 8 portos Fast Ethernet HUB, CAT 5-ös szerelt kábelek) költségeit is. Hangsúlyozni kell, hogy ez a konfiguráció elsősorban nem a nagy számolási teljesítményre lett optimalizálva, hanem a nagymennyiségű adattal végzett (nagy memória és I/O igényű) feladatokhoz konfiguráltuk.

A hálózati átjáró és a HUB

A Fast Ethernet HUB és hálózati kártyák felhasználásával csillag topológiájú, nagysebességű (100 Mbit/s) helyi hálózatot alakítottunk ki. Erre a helyi hálózatra fokozatosan rácsatlakoztatjuk a meglevő és a jövőben beszerzésre kerülő gépeinket. A külső (intézet+Internet) hálózatra történő csatlakozáshoz egy meglévő P133-as számítógépből alakítottunk ki hálózati átjárót. Ebben a gépben a 100 Mbit/s helyi hálózat egy KTI KF-230TX típusú Fast Ethernet kártyán csatlakozik (192.068.10.1-es azonosítóval), a külső hálózat pedig egy NE2000 kompatibilis kártyán keresztül érhető el (193.6.177.121 IP számmal). Az üzenettovábbítás IP Masquerading-gal történik, a bekonfigurálás a korábbiakban leírtakhoz hasonló módon történt.

Mindkét gép (a munkaállomás és a hálózati átjáró is) Red Hat Linux 6.0 operációs rendszer alatt működik, melynek szabad változatát az Internetről FTP-vel letöltöttük, majd írható CD-re másoltuk. Így az időráfordítástól és az írható CD anyagköltségétől eltekintve ingyen jutottunk legális szoftverhez. A rendszert azóta hasonló úton, de különböző forrásokból egészítettük ki azokkal a szoftverekkel, amelyeket az alaprendszer nem tartalmazott de a projekt megvalósításához számunkra szükségesek voltak (f2c, Vast F90, Vast HPF fordítók, MPICH, PVM3, LAM stb.). Természetesen nem lehet arra számítani, hogy a számunkra szükséges programok mindig ingyen beszerezhetők lesznek, de eddig még nem láttuk szükségét és értelmét kereskedelmi szoftverek beszerzésének.

Tapasztalatok

Az elmúlt félév során a legtöbb számolást a DV-Xa programmal végeztük. Mivel ezt a programot Japánból kaptuk, nem rendelkezünk a párhuzamosításához elengedhetetlenül szükséges technikai részletek ismeretével. Mégis sikerült a programot hatékonyan használni 2 illetve 4 processzoron úgy, hogy egyidejűleg több problémára, más-más bemenő adattal párhuzamosan futtattuk - szigorúan annyi példányban, amennyi a szabad processzorok száma volt. Így gyakorlatilag programfejlesztés nélkül végezhettünk párhuzamos feldolgozást.

A négyprocesszoros számolásokhoz a nagysebességű helyi hálózatra rácsatlakozattuk egy korábbi pályázatból (Infra OTKA) adagyűjtésre és adatkiértékelésre beszerzett számítógépünket is, mely két 300 MHz-es Pentium II processzorral, 128 MB memóriával és egy CD íróval rendelkezik. Ezzel egyrészt megoldottuk az adatarchiválás gondját, valamint megteremtettük a lehetőséget ezen gép szabad kapacitásának kihasználására is (a gyors hálózati kapcsolatot kihasználó párhuzamos feldolgozás révén). A tesztfuttatásokhoz a processzorokat 450 MHz-re feltuningoltuk, melyet a 300 MHz-es processzorok meglepően jól viseltek.

Néhány tesztfuttatás erejéig kipróbáltuk a párhuzamos programozást is. A bevezetőben ismertetett Pi közelítő értékét számoló programot az MPICH programkönyvtár felhasználásával fordítottuk le, s futtattuk sok-sok ciklusban, 1-4 processzoron. A futási időkből (az egyprocesszoros futtatást alapul véve) kiszámoltuk a tényleges teljesítményt, s a kapott értékek nagyon jól megközelítik az optimális (1-2-3-4-szeres) értékeket.

A cpi.c program futtatásának eredménylistája. A futási idők másodpercben vannak megadva. Zárójelben az egyprocesszoros esetre vonatkoztatott relatív teljesítmény látható
# cpi.c test program with 100,000,000 cycles
# pollux: 2x450 MHz PII Red Hat 5.2 with glibc 2.0
# castor: 2x450 MHz PII Red Hat 6.0 with glibc 2.1 (somewhat faster)

mpirun -np 1 cpi
~~~~~~~~~~~~~~~~
Process 0 on pollux.esao.atomki.hu
pi is approximately 3.1415926535902345, Error is 0.0000000000004414
wall clock time = 27.494601    ( 1.0 by definition)

mpirun -np 2 cpi
~~~~~~~~~~~~~~~~
Process 0 on pollux.esao.atomki.hu
Process 1 on pollux.esao.atomki.hu
pi is approximately 3.1415926535900001, Error is 0.0000000000002069
wall clock time = 13.816468    ( 27.49/13.82 = 1.99 )

mpirun -np 3 cpi
~~~~~~~~~~~~~~~~
Process 0 on pollux.esao.atomki.hu
Process 1 on pollux.esao.atomki.hu
Process 2 on castor.esao.atomki.hu
pi is approximately 3.1415926535901422, Error is 0.0000000000003491
wall clock time = 9.216245     ( 27.49/9.22 = 2.98 )

mpirun -np 4 cpi
~~~~~~~~~~~~~~~~
Process 0 on pollux.esao.atomki.hu
Process 1 on pollux.esao.atomki.hu
Process 2 on castor.esao.atomki.hu
Process 3 on castor.esao.atomki.hu
pi is approximately 3.1415926535901937, Error is 0.0000000000004006
wall clock time = 6.913883     ( 27.49/6.91 = 3.98 )


Előző oldalKövetkező oldalHome


Gemini Projekt Elekronspektroszópiai Osztály, MTA ATOMKI, Debrecen