Párhuzamos programok futásának kiértékelése Scalasca profiler segítségével

Rőczei Gábor <>
NIIF Intézet

A szuperszámítógép gyártók folyamatos fejlesztéseinek köszönhetően egyre több processzor magot tartalmaznak a szuperszámítógépek. Például a 2013. novemberi top500-as lista első helyén a Tianhe-2 (MilkyWay-2) gép szerepel. Azt kell tudni erről a gépről, hogy összesen 3120000 processzor maggal rendelkezik. Ebből látható, hogy milyen komplex rendszerről van szó. Akkor lehetünk igazán elégedettek, ha a szuperszámítógépes szoftverek megfelelően ki tudják használni ezt a nagyon sok processzor magot és gyorsan tudnak futni. Nem mindegy ugyanis, hogy egy tudományos számítás (“in silico” kísérlet) egy hónapig fut, vagy csak néhány napig. Ez főleg akkor érdekes, ha ugyanazt a számítást többször le kell futtatni, csak éppen más paraméterekkel. Ezek a szoftverek párhuzamosítási megoldások segítségével tudják kihasználni a több processzoros környezet lehetőségeit. A két legelterjedtebb ilyen megoldás az OpenMP és az MPI.

A profiler programok annak a kiértékelésére szolgálnak, hogy a programunk mennyire jól vagy rosszul fut. Több processzoros rendszerek esetén a Scalasca profiler egy tökéletes választás erre a célra. Ez egy ingyenesen letölthető profiler program, ami képes támogatást nyújtani a párhuzamos programok (MPI, OpenMP illetve hibrid változat (MPI + OpenMP) esetén is) teljesítmény optimalizálásához. Erről az oldalról tudjuk letölteni: http://www.scalasca.org és szabadon felhasználható az új BSD nyílt forráskódú licensznek megfelelően.

Az előadásom során néhány egyszerű példán keresztül szemléltetni fogom, hogy mire képes a Scalasca profiler. Nagyon szeretném azt elérni, hogy a magyarországi szuperszámítógép felhasználók számára ez egy hasznos eszközzé váljon.