É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.
2/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ó
3/32 Őry Máté SzSzK 2012 Szuperszámítógép Mit tud? Élvonalbeli számítási teljesítményre képes rendszer. A teljesítményt párhuzamosítással éri el. Egyetlen szokásos gépnél nagyságrendileg erősebb.
3/32 Őry Máté SzSzK 2012 Szuperszámítógép Mit tud? Élvonalbeli számítási teljesítményre képes rendszer. A teljesítményt párhuzamosítással éri el. Egyetlen szokásos gépnél nagyságrendileg erősebb. Mire való? Ki használja? Tudományos célra. 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? Élvonalbeli számítási teljesítményre képes rendszer. A teljesítményt párhuzamosítással éri el. Egyetlen szokásos gépnél nagyságrendileg erősebb. Mire való? Ki használja? Tudományos célra. Párhuzamosítható, főleg lebegőpontos számítások. Nagy felhasználók: fizika, kémia, biológia. Ipar : bankok, grafika, műszaki tervezés, szimuláció stb. Hadsereg, kormányzat.
4/32 Őry Máté SzSzK 2012 HPC tapasztalatok hasznosulása A szupergépekben próbálják ki az új fejlesztéseket. Itt merül fel az igény először a méretkorlátok átlépésére. Ma már az energiaigény is szempont. 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.
5/32 Őry Máté SzSzK 2012 Nagyságrendek CPU 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 Moore-törvény: félvezetők sűrűsége két év alatt duplázódik. 1976 Első igazi szupergép (Cray 1) 80 MFLOP/s 2001 Első magyar szupergép (NIIF) 60 GFLOP/s 2012 BME szupergép 6 TFLOP/s 2011 Új NIIF szupergépek összesen 40 TFLOP/s 2012 TOP500 lista első (Cray Titan) 18 PFLOP/s FLOP: floating point operation (lebegőpontos művelet)
5/32 Őry Máté SzSzK 2012 Nagyságrendek CPU Moore-törvény: félvezetők sűrűsége két év alatt duplázódik. 1976 Első igazi szupergép (Cray 1) 80 MFLOP/s 2001 Első magyar szupergép (NIIF) 60 GFLOP/s 2012 BME szupergép 6 TFLOP/s 2011 Új NIIF szupergépek összesen 40 TFLOP/s 2012 TOP500 lista első (Cray Titan) 18 PFLOP/s Összehasonlítás (2012) Felső kategóriás mobiltelefon CPU-ja 200 MFLOP/s körül. Felső kategóriás PC processzor 100 GFLOP/s körül. Felső kategóriás videokártya 3 TFLOP/s körül (float). FLOP: floating point operation (lebegőpontos művelet)
6/32 Őry Máté SzSzK 2012 Nagyságrendek (összehasonlítás) Gép CPU mag GPU R max Lemez OpMem. Ár Cray Titan 299e 18, 6e 17, 6P 10P 710T 44M NIIF szsz. 5, 5e 0 40T 2, 5P 20T 1M BME szsz. 372 4 6T 40T 1, 5T 70m HP ProBook 2 0 6G 250G 4G 160e A NIIF üzembe helyez GPGPU-s node-okat is, ezeket nem számoltam.
/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.
/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.
/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.
8/32 Őry Máté SzSzK 2012 Szupergép megvalósítása a jelenben Fat cluster SMP gépekből álló cluster.
Szupergép megvalósítása a jelenben Fat cluster SMP gépekből álló cluster. GPU cluster GPGPU-t is tartalmazó cluster. 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. SMP gépek egyes műveleteit gyorsítja. Az érdemi számítást a GPU végzi. 8/32 Őry Máté SzSzK 2012
9/32 Őry Máté SzSzK 2012 Szupergép megvalósítása A GRID Tulajdonképpen lazán csatolt cluster. Földrajzilag távoli gépek: A tagjai egymással nem/lassan kommunikálnak, általában az interneten keresztül. Heterogén rendszer: 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 Tulajdonképpen lazán csatolt cluster. Földrajzilag távoli gépek: A tagjai egymással nem/lassan kommunikálnak, általában az interneten keresztül. Heterogén rendszer: Helyi üzemeltetés, karbantartás, telepítés. Központi feladatelosztás, eredménybegyűjtés: bonyolult middleware. Fő irányok Dedikált gépekből például EGEE, EMI. Felesleges kapacitásokból például BOINC, SETI@HOME.
10/32 Őry Máté SzSzK 2012 Interconnect (cluster gépei közti kapcsolat) Sok feladathoz kis késleltetésű és/vagy nagy sávszélességű hálózati kapcsolat kell. 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) Sok feladathoz kis késleltetésű és/vagy nagy sávszélességű hálózati kapcsolat kell. Ha ez nincs meg, a gép folyamatosan i/o-ra vár hasznos munka helyett. Infiniband + HPC világban elterjedt + < 1 µs késleltetés nagyon drága szabványos, de csak két gyártó rossz minőségű szoftverek nehéz kábelezés (régen) Gigabit Ethernet + olcsó, mindenhol elterjedt + jó szoftveres támogatás lassú, ingadozó késleltetés 10 Gigabit Ethernet + IB-nél olcsóbb, elterjedőben IB DDR-nél is lassabb
11/32 Őry Máté SzSzK 2012 NIIF Intézet (Nemzeti Információs Infrastruktúra Fejlesztési Intézet) Jelenleg a legerősebb szupergépek. 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. + Budapesten egy, a szegedihez hasonló, kisebb gép. + Szegeden 2 6 Tesla kártya (6TFLOP/s). A szupergépek mellett, valamint Sopronban és Dunaújvárosban PB-os nagyságrendű storage. Országos optikai gerinchálózat.
2/32 Őry Máté SzSzK 2012 További gépek Cluster ELTE 3,5 TFLOP/s, Xeon, HP, GE, 2009. OMSZ 14 TFLOP/s, Xeon, IBM, GE?, 2010. Győr? TFLOP/s, Xeon+Tesla, vegyes, IB, 2010. KFKI 5 TFLOP/s, Xeon, SGI, IB, 2010. Miskolc 2,9 TFLOP/s, Xeon, HP, IB, 2011. BME 6 TFLOP/s, Xeon+Tesla, HP, IB+10GE, 2012.??? ipar, bankok, biztosítók stb. Grid KFKI, Debrecen, NIIF, SZTAKI, BME 1 TFLOP/s
13/32 Őry Máté SzSzK 2012 A BME szupergépe 2012 nyarán üzemeltük be. Első szupergépnek nevezhető rendszerünk. Kiegészíti a NIIF infrastruktúráját: házon belül egyszerűbb, gyorsabb. Eddig PC-ken hónapokig futtatott számításokat végez órák alatt. Sokkal nagyobb paramétertereket és felbontásokat lehet kipróbálni. 60 évnyi CPU-idő szeptember óta. 70% fölötti kihasználtság.
Mi van a dobozban I HP gyártmányú cluster rendszer: 14/32 Őry Máté SzSzK 2012
14/32 Őry Máté SzSzK 2012 Mi van a dobozban HP gyártmányú cluster rendszer: DL180 fejgép 2 Intel Xeon X5660 CPU + 48 GiB DDR3 ECC RAM 24 2 TB MDL SAS lemez Infiniband QDR és 10Gb Ethernet vezérlő
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
14/32 Őry Máté SzSzK 2012 Mi van a dobozban HP gyártmányú cluster rendszer: DL180 fejgép 30 SL390s számító egység 2 2 Nvidia Tesla M2070 GPGPU
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
15/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ó
16/32 Őry Máté SzSzK 2012 Operációs rendszer Akadémiai környezetben terjedt el a HPC a UNIX, manapság a Linux megkerülhetetlen. TOP500 listán 3 Windowsost kivéve minden rendszer UNIX-like. Disztribúció A választás már nem olyan szabad. A RHEL és a SUSE elterjedt. (Grid világban: SCL.) Más választás nagyon nehéz út, hála a szoftver- és hardvergyártóknak.
17/32 Őry Máté SzSzK 2012 Hardver- és rendszerbeállítások Nem sok howto-t találunk a témában. Jobb híján a tapasztalatokra hagyatkozunk. Sok beállítás hatását nehéz mérni. BME 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). Általában nem akarunk swapelni, de a biztonság kedvéért áldoztunk 100-100 GB-ot erre.
18/32 Őry Máté SzSzK 2012 Hálózat, társzolgáltatás BME Kialakítottunk egy menedzsmenthálózatot a hálózati eszközöknek, ilo-knak (Gb Ethernet). 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. A HPC számítások üzenetei (MPI) pedig az Infinibanden. 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. /home: Két nagy Ext4-es fájlrendszer. 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.
19/32 Őry Máté SzSzK 2012 Rendszerindítás A clusterek általában lemez nélküli gépekből állnak, hálózatról bootolnak. BME 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: 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.
20/32 Őry Máté SzSzK 2012 Batch ütemező Probléma Interaktív futtatás számításintenzív esetben nem hatékony. ( Programozó kitiltása a gépteremből.) Több az igény, mint a szabad erőforrás. Biztosítani kell az erőforrások kiosztását. További szempontok Rossz ütemezéssel esélytelen sok gépen egyszerre futtatni. A kapacitást a lehető legnagyobb mértékben használni kell. A felhasználókat igazságosan kell kiszolgálni. Lehetőleg rövid várakozási időkkel. Ha nincs feladat, kapcsoljuk ki a gépeket.
21/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 Az ütemező egy/több várakozó sorban tárolja a beküldött feladatokat. Időszakonként a rendelkezésre álló erőforrások alapján kiválaszt egy futtatható feladatot. Ezt elindítja a követelményeknek megfelelő erőforrás(ok)on. Számon tartja a rendelkezésre álló és foglalt erőforrásokat.
22/32 Őry Máté SzSzK 2012 Batch ütemező lehetőségek Sun/Oracle Grid Engine... Az Oracle átnevezte, fizetőssé tette (cserébe alig fejleszti). Két szabad fork: Open Grid Engine, Son of Grid Engine. Várakozási sorokon alapuló ütemezés, sorhoz kötött gépekkel. A négy NIIF szupergép használja. SLURM (Simple Linux Utility for Resource Management) Grid Engine-hez hasonló működés. Lelassult fejlesztés.
22/32 Őry Máté SzSzK 2012 Batch ütemező lehetőségek Sun/Oracle Grid Engine... Az Oracle átnevezte, fizetőssé tette (cserébe alig fejleszti). Két szabad fork: Open Grid Engine, Son of Grid Engine. Várakozási sorokon alapuló ütemezés, sorhoz kötött gépekkel. A négy NIIF szupergép használja. SLURM (Simple Linux Utility for Resource Management) Grid Engine-hez hasonló működés. Lelassult fejlesztés. Heterogén, akár desktop környezethez készült. Dinamikusabb: igények és elérhető erőforrások párosításán alapuló ütemezési módszer. Aktívan fejlesztik, rengeteg funkció. Jó tapasztalatok.
23/32 Őry Máté SzSzK 2012 HTCondor 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. A felhasználó az összes elvárását feltételként adhatja meg. Az erőforrások kiválasztását rangsorolási szempontokkal befolyásolhatja. Az erőforráshasználat monitorozását és a számlázást is megoldja. Az ütemezés Igazságos beküldési sorrend és a korábbi használat számít. Gazdaságos nem csak a sorban elsőt szolgálja ki.
24/32 Őry Máté SzSzK 2012 HTCondor A szoftvertermék Kiforrottnak mondható (1988 óta készül). Apache License. A Wisconsini Egyetemen egy csoport aktívan fejleszti. A (főleg akadémiai) felhasználók is sok kódot adományoznak. Közösségi támogatása jó. A rendszer összetett, mindent meg lehet vele csinálni.... több módon is. Heterogén környezetre készült, nagyon rugalmas.
25/32 Őry Máté SzSzK 2012 HTCondor BME A frontend gépen fut, itt lehet feladatot beküldeni. Minden gépről kérhetőek egyesével magok, vagy az egész gép. A GPU- és fejgépekre csak rövid futásidejű feladatok kerülnek. GPU feladatokat lehet egy-egy, vagy a gépekben lévő mindkét kártyán futtatni. Az 1 órán keresztül nem használt gépeket lekapcsoljuk. Ha egy feladat elvárásai nem elégíthetőek ki, a szükséges számú gépet elindítjuk (ilo). Tapasztalat A felhasználók legalább egy teljes gépet kérnek, így a memória ütemezése/kezelése nem szükséges. A futásidőkorlát kötelező megadása javítaná a hatékonyságot.
26/32 Őry Máté SzSzK 2012 Párhuzamos programozás A különböző feladatok más megközelítést igényelnek. Clustereken elterjedt megoldás: MPI (message passing interface). Párhuzamos programok írását segíti az OpenMP. Egyes problémák feloszthatóak több független feladatra. (Népszerű megoldás: Hadoop.) GPGPU programozása: Nvidia Cuda és OpenCL. BME Négyféle MPI-implementációt támogatunk (a felhasználók megdöbbentően változatos binárisokat tudnak hozni). A fejlesztéshez-fordításhoz szükséges eszközök a fejgépen. OpenCL, OpenMP, Cuda különböző verziók. Hadoopra nem volt igény.
27/32 Őry Máté SzSzK 2012 Dinamikus környezet Environment Modules Egy több mint 20 éves TCL szkript. Nem nagy dolog, de kevesen ismerik. Különböző futtatási környezetek közti választáshoz. Nekünk nagyon jól jött: megbízhatóan lehet lokális alapértelmezett MPI-implementációt, Cuda-verziót választani. http://modules.sf.net/.
28/32 Őry Máté SzSzK 2012 Adminisztráció BME 3 hónap alatt 40 projektet regisztráltak. A gépet alapvetően egyetemi polgárok vehetik igénybe (20 ezer fő, 80 tanszék). Ezen kívül a projektekben külső kutatók is részt vesznek. Szükségszerű volt az adminisztráció automatizálása. Ezt egy Django alapú webalkalmazás oldja meg. Az első feladat beküldéséig a teljes regisztrációs folyamat: 1. EduID-val belép a kutató. 2. Megadja SSH publikus kulcsát. 3. Kitölt egy projektindító űrlapot. 4. Az illetékes bizottság e-mailben megkapja az összefoglalót. 5. Pozitív bírálat esetén egy kattintással létrejön a témaszám.
29/32 Őry Máté SzSzK 2012
30/32 Őry Máté SzSzK 2012
31/32 Őry Máté SzSzK 2012 Felhasználók BME A Django modell alapján egy Python kód hozza létre a felhasználókat. A projekt összes tagja egy közös projekt-felhasználó nevében lép be, a saját SSH kulcsával. A projektigényléskor becslést kérünk az erőforráshasználatra. Ezek közül a lemezhasználatot ki is kényszerítjük a kvóta alrendszerrel. 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. 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.
Köszönöm a figyelmet! Őry Máté, orymate@iit.bme.hu. 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