Építsünk szuperszámítógépet szabad szoftverből! Őry Máté BME Közigazgatási Informatikai Központ BME Irányítástechnika és Informatika Tanszék
Szabad Szoftver Konferencia – Budapest, 2012. december 8.
Tartalom A szuperszámítógépek Áttekintés Architektúrák Szupergépek Magyarországon Felsorolás Superman (BME) Szoftverkörnyezet A rendszer Ütemezés, programozás Adminisztráció
2/32 – Őry Máté – SzSzK 2012
Szuperszámítógép Mit tud? I
Élvonalbeli számítási teljesítményre képes rendszer.
I
A teljesítményt párhuzamosítással éri el.
I
Egyetlen „szokásos” gépnél nagyságrendileg erősebb.
3/32 – Őry Máté – SzSzK 2012
Szuperszámítógép Mit tud? I
Élvonalbeli számítási teljesítményre képes rendszer.
I
A teljesítményt párhuzamosítással éri el.
I
Egyetlen „szokásos” gépnél nagyságrendileg erősebb.
Mire való? Ki használja? I
Tudományos célra. I I
Párhuzamosítható, főleg lebegőpontos számítások. Nagy felhasználók: fizika, kémia, biológia.
3/32 – Őry Máté – SzSzK 2012
Szuperszámítógép Mit tud? I
Élvonalbeli számítási teljesítményre képes rendszer.
I
A teljesítményt párhuzamosítással éri el.
I
Egyetlen „szokásos” gépnél nagyságrendileg erősebb.
Mire való? Ki használja? I
Tudományos célra. I I
Párhuzamosítható, főleg lebegőpontos számítások. Nagy felhasználók: fizika, kémia, biológia.
I
„Ipar”: bankok, grafika, műszaki tervezés, szimuláció stb.
I
Hadsereg, kormányzat.
3/32 – Őry Máté – SzSzK 2012
HPC tapasztalatok hasznosulása
I
A szupergépekben próbálják ki az új fejlesztéseket.
I
Itt merül fel az igény először a méretkorlátok átlépésére.
I
Ma már az energiaigény is szempont.
I
A HPC világ eredményeinek egy része ma már a zsebünkben is elfér (és ott is van): FPU Lebegőpontos segédprocesszor. GPU Grafikus processzor (leánykori nevén vektorprocesszor). SMP A standard többmagos architektúra lett.
4/32 – Őry Máté – SzSzK 2012
Nagyságrendek – CPU I
Moore-törvény: félvezetők sűrűsége két év alatt duplázódik.
FLOP: floating point operation (lebegőpontos művelet) 5/32 – Őry Máté – SzSzK 2012
Nagyságrendek – CPU I
Moore-törvény: félvezetők sűrűsége két év alatt duplázódik. 1976 2001 2012 2011 2012
Első igazi szupergép (Cray–1) Első magyar szupergép (NIIF) BME szupergép Új NIIF szupergépek összesen TOP500 lista első (Cray Titan)
80 MFLOP/s 60 GFLOP/s 6 TFLOP/s 40 TFLOP/s 18 PFLOP/s
FLOP: floating point operation (lebegőpontos művelet) 5/32 – Őry Máté – SzSzK 2012
Nagyságrendek – CPU I
Moore-törvény: félvezetők sűrűsége két év alatt duplázódik. 1976 2001 2012 2011 2012
Első igazi szupergép (Cray–1) Első magyar szupergép (NIIF) BME szupergép Új NIIF szupergépek összesen TOP500 lista első (Cray Titan)
80 MFLOP/s 60 GFLOP/s 6 TFLOP/s 40 TFLOP/s 18 PFLOP/s
Összehasonlítás (2012) I
Felső kategóriás mobiltelefon CPU-ja 200 MFLOP/s körül.
I
Felső kategóriás PC processzor 100 GFLOP/s körül.
I
Felső kategóriás videokártya 3 TFLOP/s körül (float).
FLOP: floating point operation (lebegőpontos művelet) 5/32 – Őry Máté – SzSzK 2012
Nagyságrendek (összehasonlítás)
Gép Cray Titan NIIF szsz. BME szsz. HP ProBook
CPUmag
GPU
Rmax
Lemez
OpMem.
Ár
299e 5, 5e 372 2
18, 6e 0 4 0
17, 6P 40T 6T 6G
10P 2, 5P 40T 250G
710T 20T 1, 5T 4G
44M 1M 70m 160e
A NIIF üzembe helyez GPGPU-s node-okat is, ezeket nem számoltam. 6/32 – Őry Máté – SzSzK 2012
Szupergép megvalósítása – a közelmúltban SMP Symmetric Multiprocessing: közös memórián több CPU.
7/32 – Őry Máté – SzSzK 2012
Szupergép megvalósítása – a közelmúltban SMP Symmetric Multiprocessing: közös memórián több CPU. NUMA Non-Uniform Memory Access: minden CPU-hoz saját memória tartozik, de minden folyamat eléri a teljes tartományt.
7/32 – Őry Máté – SzSzK 2012
Szupergép megvalósítása – a közelmúltban SMP Symmetric Multiprocessing: közös memórián több CPU. NUMA Non-Uniform Memory Access: minden CPU-hoz saját memória tartozik, de minden folyamat eléri a teljes tartományt. Cluster Saját operációs rendszert futtató, egymáshoz hasonló számítógépek gyors hálózatba kötve. MPP Nagyon szorosan csatolt cluster.
7/32 – Őry Máté – SzSzK 2012
Szupergép megvalósítása – a jelenben Fat cluster SMP gépekből álló cluster.
8/32 – Őry Máté – SzSzK 2012
Szupergép megvalósítása – a jelenben Fat cluster SMP gépekből álló cluster. GPU cluster GPGPU-t is tartalmazó cluster. I SMP gépek egyes műveleteit gyorsítja.
8/32 – Őry Máté – SzSzK 2012
Szupergép megvalósítása – a jelenben Fat cluster SMP gépekből álló cluster. GPU cluster GPGPU-t is tartalmazó cluster. I SMP gépek egyes műveleteit gyorsítja. I Az érdemi számítást a GPU végzi.
8/32 – Őry Máté – SzSzK 2012
Szupergép megvalósítása – A GRID I
Tulajdonképpen lazán csatolt cluster.
I
Földrajzilag távoli gépek: I
I
A tagjai egymással nem/lassan kommunikálnak, általában az interneten keresztül.
Heterogén rendszer: I I
Helyi üzemeltetés, karbantartás, telepítés. Központi feladatelosztás, eredménybegyűjtés: bonyolult middleware.
9/32 – Őry Máté – SzSzK 2012
Szupergép megvalósítása – A GRID I
Tulajdonképpen lazán csatolt cluster.
I
Földrajzilag távoli gépek: I
I
A tagjai egymással nem/lassan kommunikálnak, általában az interneten keresztül.
Heterogén rendszer: I I
Helyi üzemeltetés, karbantartás, telepítés. Központi feladatelosztás, eredménybegyűjtés: bonyolult middleware.
Fő irányok I
Dedikált gépekből – például EGEE, EMI.
I
Felesleges kapacitásokból – például BOINC, SETI@HOME.
9/32 – Őry Máté – SzSzK 2012
Interconnect (cluster gépei közti kapcsolat) I
Sok feladathoz kis késleltetésű és/vagy nagy sávszélességű hálózati kapcsolat kell.
I
Ha ez nincs meg, a gép folyamatosan i/o-ra vár hasznos munka helyett.
10/32 – Őry Máté – SzSzK 2012
Interconnect (cluster gépei közti kapcsolat) I
Sok feladathoz kis késleltetésű és/vagy nagy sávszélességű hálózati kapcsolat kell.
I
Ha ez nincs meg, a gép folyamatosan i/o-ra vár hasznos munka helyett.
Infiniband
Gigabit Ethernet
+ HPC világban elterjedt
+ olcsó, mindenhol elterjedt
+ < 1 µs késleltetés
+ jó szoftveres támogatás
− nagyon drága
− lassú, ingadozó késleltetés
− szabványos, de csak két gyártó − rossz minőségű szoftverek − nehéz kábelezés (régen) 10/32 – Őry Máté – SzSzK 2012
10 Gigabit Ethernet + IB-nél olcsóbb, elterjedőben − IB DDR-nél is lassabb
NIIF Intézet
(Nemzeti Információs Infrastruktúra Fejlesztési Intézet)
I
Jelenleg a legerősebb szupergépek.
I
Három konvergencia-régiós egyetemen: Debrecen 18 TFLOP/s, Xeon, SGI cluster, IB. Pécs 10 TFLOP/s, Xeon, SGI ccNUMA, Numalink. Szeged 14 TFLOP/s, Opteron, HP fat cluster, IB.
I
+ Budapesten egy, a szegedihez hasonló, kisebb gép.
I
+ Szegeden 2 × 6 Tesla kártya (6TFLOP/s).
I
A szupergépek mellett, valamint Sopronban és Dunaújvárosban PB-os nagyságrendű storage.
I
Országos optikai gerinchálózat.
11/32 – Őry Máté – SzSzK 2012
További gépek
I
I
Cluster ELTE OMSZ Győr KFKI Miskolc BME ???
3,5 TFLOP/s, Xeon, HP, GE, 2009. 14 TFLOP/s, Xeon, IBM, GE?, 2010. ? TFLOP/s, Xeon+Tesla, vegyes, IB, 2010–. 5 TFLOP/s, Xeon, SGI, IB, 2010. 2,9 TFLOP/s, Xeon, HP, IB, 2011. 6 TFLOP/s, Xeon+Tesla, HP, IB+10GE, 2012. ipar, bankok, biztosítók stb.
Grid KFKI, Debrecen, NIIF, SZTAKI, BME ≈ 1 TFLOP/s
12/32 – Őry Máté – SzSzK 2012
A BME szupergépe I
2012 nyarán üzemeltük be.
I
Első szupergépnek nevezhető rendszerünk.
I
Kiegészíti a NIIF infrastruktúráját: házon belül egyszerűbb, gyorsabb.
I
Eddig PC-ken hónapokig futtatott számításokat végez órák alatt.
I
Sokkal nagyobb paramétertereket és felbontásokat lehet kipróbálni.
I
60 évnyi CPU-idő szeptember óta.
I
70% fölötti kihasználtság.
13/32 – Őry Máté – SzSzK 2012
Mi van a dobozban I
HP gyártmányú cluster rendszer:
14/32 – Őry Máté – SzSzK 2012
Mi van a dobozban I I
HP gyártmányú cluster rendszer: DL180 fejgép
I I I
2 × Intel Xeon X5660 CPU + 48 GiB DDR3 ECC RAM 24 × 2 TB MDL SAS lemez Infiniband QDR és 10Gb Ethernet vezérlő
14/32 – Őry Máté – SzSzK 2012
Mi van a dobozban I I I
HP gyártmányú cluster rendszer: DL180 fejgép 30 × SL390s számító egység
I I I
2 × Intel Xeon X5660 CPU + 48 GiB DDR3 ECC RAM 1 × 500 GB MDL SATA lemez Infiniband QDR és 10Gb Ethernet vezérlő
14/32 – Őry Máté – SzSzK 2012
Mi van a dobozban I
HP gyártmányú cluster rendszer:
I
DL180 fejgép
I
30 × SL390s számító egység
I
2 × 2 × Nvidia Tesla M2070 GPGPU
14/32 – Őry Máté – SzSzK 2012
Mi van a dobozban I
HP gyártmányú cluster rendszer:
I
DL180 fejgép
I
30 × SL390s számító egység
I
2 × 2 × Nvidia Tesla M2070 GPGPU
I
Infiniband QDR switch
14/32 – Őry Máté – SzSzK 2012
Mi van a dobozban I
HP gyártmányú cluster rendszer:
I
DL180 fejgép
I
30 × SL390s számító egység
I
2 × 2 × Nvidia Tesla M2070 GPGPU
I
Infiniband QDR switch
I
10Gb Ethernet switch
14/32 – Őry Máté – SzSzK 2012
Tartalom A szuperszámítógépek Áttekintés Architektúrák Szupergépek Magyarországon Felsorolás Superman (BME) Szoftverkörnyezet A rendszer Ütemezés, programozás Adminisztráció
15/32 – Őry Máté – SzSzK 2012
Operációs rendszer
I
Akadémiai környezetben terjedt el a HPC
→ a UNIX, manapság a Linux megkerülhetetlen. I
TOP500 listán 3 Windowsost kivéve minden rendszer UNIX-like.
Disztribúció I
A választás már nem olyan szabad.
I
A RHEL és a SUSE elterjedt. (Grid világban: SCL.)
I
Más választás nagyon nehéz út, hála a szoftver- és hardvergyártóknak.
16/32 – Őry Máté – SzSzK 2012
Hardver- és rendszerbeállítások
I
Nem sok howto-t találunk a témában.
I
Jobb híján a tapasztalatokra hagyatkozunk.
I
Sok beállítás hatását nehéz mérni.
BME I
A node-okon kikapcsoltuk a HyperThreadinget. Általános célra jó, de egy HPC gép, ha dolgozik, akkor minden CPU-n folyamatosan teker, ezen a HT csak ront (mérés szerint is).
I
Általában nem akarunk swapelni, de a biztonság kedvéért áldoztunk 100-100 GB-ot erre.
17/32 – Őry Máté – SzSzK 2012
Hálózat, társzolgáltatás BME I
Kialakítottunk egy menedzsmenthálózatot a hálózati eszközöknek, iLO-knak (Gb Ethernet).
I
A fájlrendszer elérése, és az általános célú hálózati forgalom a 10Gb Ethernet hálózaton történik.
I
A HPC számítások üzenetei (MPI) pedig az Infinibanden.
I
Főleg szekvenciális írást-olvasást feltételeztünk, és nincs túl nagy kapacitásunk. Ezért a hardveres RAID6-ot választottuk.
I
/home: Két nagy Ext4-es fájlrendszer.
I
A választott ütemező működéséből adódóan megosztott fájlrendszerre van szükségünk. Az NFS minden elvárást teljesített, és ez a legegyszerűbb.
18/32 – Őry Máté – SzSzK 2012
Rendszerindítás I
A clusterek általában lemez nélküli gépekből állnak, hálózatról bootolnak.
BME I
I
A gépekben van egy kis lemez, de ezeket szinkronban tartani nehéz. RAID-re sincs lehetőség. PXE bootot választottuk. A Dracut initrd-infrastruktúrát bővítettük: I I I
I I I
I
A / fájlrendszer egy csak olvasható NFS megosztás. Egyes fájlokat írhatóvá kell tenni a rendszer működéséhez. Ehhez első indításkor lemásoljuk őket egy gép-specifikus könyvtárba. Ezt írható módban osztjuk meg. mount --bind-dal az írandó fájlokat a helyükre „linkeljük”. Hozzáadtuk a 10Gb Ethernet kártyánkhoz szükséges modult. Lemezeket indításkor ürítjük (400 GB /var/tmp, 100 GB swap).
Dhcpd-t, tftpd-t be kellett állítani.
19/32 – Őry Máté – SzSzK 2012
Batch ütemező Probléma I
Interaktív futtatás számításintenzív esetben nem hatékony. (∼ Programozó kitiltása a gépteremből.)
I
Több az igény, mint a szabad erőforrás.
I
Biztosítani kell az erőforrások kiosztását.
További szempontok I
Rossz ütemezéssel esélytelen sok gépen egyszerre futtatni.
I
A kapacitást a lehető legnagyobb mértékben használni kell.
I
A felhasználókat igazságosan kell kiszolgálni.
I
Lehetőleg rövid várakozási időkkel.
I
Ha nincs feladat, kapcsoljuk ki a gépeket.
20/32 – Őry Máté – SzSzK 2012
Batch ütemezőkről általában Futtatás módja 1. A felhasználó feladatleírót küld be az ütemezőnek. 2. Amint lehet, az ütemező futtatja a feladatot. 3. Ha elkészült, értesíti a felhasználót.
Működése I
Az ütemező egy/több várakozó sorban tárolja a beküldött feladatokat.
I
Időszakonként a rendelkezésre álló erőforrások alapján kiválaszt egy futtatható feladatot.
I
Ezt elindítja a követelményeknek megfelelő erőforrás(ok)on.
I
Számon tartja a rendelkezésre álló és foglalt erőforrásokat.
21/32 – Őry Máté – SzSzK 2012
Batch ütemező – lehetőségek Sun/Oracle Grid Engine. . . I
Az Oracle átnevezte, fizetőssé tette (cserébe alig fejleszti).
I
Két szabad fork: Open Grid Engine, Son of Grid Engine.
I
Várakozási sorokon alapuló ütemezés, sorhoz kötött gépekkel.
I
A négy NIIF szupergép használja.
SLURM
(Simple Linux Utility for Resource Management)
I
Grid Engine-hez hasonló működés.
I
Lelassult fejlesztés.
22/32 – Őry Máté – SzSzK 2012
Batch ütemező – lehetőségek Sun/Oracle Grid Engine. . . I
Az Oracle átnevezte, fizetőssé tette (cserébe alig fejleszti).
I
Két szabad fork: Open Grid Engine, Son of Grid Engine.
I
Várakozási sorokon alapuló ütemezés, sorhoz kötött gépekkel.
I
A négy NIIF szupergép használja.
SLURM
I
Heterogén, akár desktop környezethez készült.
I
Dinamikusabb: igények és elérhető erőforrások párosításán alapuló ütemezési módszer.
I
Aktívan fejlesztik, rengeteg funkció.
I
Jó tapasztalatok.
(Simple Linux Utility for Resource Management)
I
Grid Engine-hez hasonló működés.
I
Lelassult fejlesztés.
22/32 – Őry Máté – SzSzK 2012
HTCondor I
Nincsenek különböző várakozási sorok és ezekhez rendelt gépek. A szabad erőforrások és a feladatok hirdetéseket (ClassAds) adnak föl, ezeket párosítja a rendszer.
I
A felhasználó az összes elvárását feltételként adhatja meg.
I
Az erőforrások kiválasztását rangsorolási szempontokkal befolyásolhatja.
I
Az erőforráshasználat monitorozását és a „számlázást” is megoldja.
Az ütemezés I
Igazságos – beküldési sorrend és a korábbi használat számít.
I
Gazdaságos – nem csak a sorban elsőt szolgálja ki.
23/32 – Őry Máté – SzSzK 2012
HTCondor
A szoftvertermék I
Kiforrottnak mondható (1988 óta készül).
I
Apache License.
I
A Wisconsini Egyetemen egy csoport aktívan fejleszti.
I
A (főleg akadémiai) felhasználók is sok kódot adományoznak.
I
Közösségi támogatása jó.
I
A rendszer összetett, mindent meg lehet vele csinálni.
. . . több módon is. I
Heterogén környezetre készült, nagyon rugalmas.
24/32 – Őry Máté – SzSzK 2012
HTCondor BME I
A frontend gépen fut, itt lehet feladatot beküldeni.
I
Minden gépről kérhetőek egyesével magok, vagy az egész gép.
I
A GPU- és fejgépekre csak rövid futásidejű feladatok kerülnek.
I
GPU feladatokat lehet egy-egy, vagy a gépekben lévő mindkét kártyán futtatni.
I
Az 1 órán keresztül nem használt gépeket lekapcsoljuk.
I
Ha egy feladat elvárásai nem elégíthetőek ki, a szükséges számú gépet elindítjuk (iLO).
Tapasztalat I
A felhasználók legalább egy teljes gépet kérnek, így a memória ütemezése/kezelése nem szükséges.
I
A futásidőkorlát kötelező megadása javítaná a hatékonyságot.
25/32 – Őry Máté – SzSzK 2012
Párhuzamos programozás I
A különböző feladatok más megközelítést igényelnek.
I
Clustereken elterjedt megoldás: MPI (message passing interface).
I
Párhuzamos programok írását segíti az OpenMP.
I
Egyes problémák feloszthatóak több független feladatra. (Népszerű megoldás: Hadoop.)
I
GPGPU programozása: Nvidia Cuda és OpenCL.
BME I
Négyféle MPI-implementációt támogatunk (a felhasználók megdöbbentően változatos binárisokat tudnak hozni).
I
A fejlesztéshez-fordításhoz szükséges eszközök a fejgépen.
I
OpenCL, OpenMP, Cuda – különböző verziók.
I
Hadoopra nem volt igény.
26/32 – Őry Máté – SzSzK 2012
Dinamikus környezet – Environment Modules
I
Egy több mint 20 éves TCL szkript.
I
Nem nagy dolog, de kevesen ismerik.
I
Különböző futtatási környezetek közti választáshoz.
I
Nekünk nagyon jól jött: megbízhatóan lehet lokális alapértelmezett MPI-implementációt, Cuda-verziót választani.
I
http://modules.sf.net/.
27/32 – Őry Máté – SzSzK 2012
Adminisztráció BME I
3 hónap alatt 40 projektet regisztráltak.
I
A gépet alapvetően egyetemi polgárok vehetik igénybe (20 ezer fő, 80 tanszék).
I
Ezen kívül a projektekben külső kutatók is részt vesznek.
I
Szükségszerű volt az adminisztráció automatizálása.
I
Ezt egy Django alapú webalkalmazás oldja meg. Az első feladat beküldéséig a teljes regisztrációs folyamat:
I
1. 2. 3. 4. 5.
EduID-val belép a kutató. Megadja SSH publikus kulcsát. Kitölt egy projektindító űrlapot. Az illetékes bizottság e-mailben megkapja az összefoglalót. Pozitív bírálat esetén egy kattintással létrejön a témaszám.
28/32 – Őry Máté – SzSzK 2012
29/32 – Őry Máté – SzSzK 2012
30/32 – Őry Máté – SzSzK 2012
Felhasználók BME I
A Django modell alapján egy Python kód hozza létre a felhasználókat.
I
A projekt összes tagja egy közös projekt-felhasználó nevében lép be, a saját SSH kulcsával.
I
A projektigényléskor becslést kérünk az erőforráshasználatra.
I
Ezek közül a lemezhasználatot ki is kényszerítjük a kvóta alrendszerrel.
I
Első próbálkozás sok esetben: belép a fejgépre, és elindít egy nagy programot. Ennek kiszűrésére a PAM limits rendszer hatékonynak bizonyult.
I
A felhasználók a 30 node-on is léteznek (az NFS-ből jön a passwd fájl), de nem tudnak interaktívan belépni.
31/32 – Őry Máté – SzSzK 2012
Köszönöm a figyelmet! Őry Máté,
[email protected].
Köszönetnyilvánítás (BME Szuperszámítógép) A rendszer kialakítását dr. Szeberényi Imre vezetésével, Guba Sándor-ral közösen végeztük. A vasat a BME TIO munkatársai üzemeltetik.
A program az „Új tehetséggondozó programok és kutatások a Műegyetem tudományos műhelyeiben” TÁMOP - 4.2.2.B-10/1-2010-0009 című projekt támogatásával valósul meg.
32/32 – Őry Máté – SzSzK 2012