Superračunalnik od blizu
V prejšnji številki smo si ogledali, kako so sestavljeni moderni superračunalniki, in od daleč pokukali v slovenske superračunalniške zmogljivosti. Tokrat pa smo vzeli pot pod noge in jo mahnili v Novo Gorico, kjer v predmestju Kromberk najdemo enega večjih komercialnih superračunalnikov na Slovenskem.
Omare s strežniki so postavljene v krogu, da porabijo manj kablov in se laže hladijo.
V industrijski coni Kromberk navzven nič ne daje slutiti, da se v eni izmed stavb skriva superračunalnik, ki za industrijske uporabnike iz širne Evrope, od Grčije do Belgije, rešuje kompleksne računske probleme. Arctur-2 je največji slovenski komercialni superračunalnik, ki ga upravlja podjetje Arctur. S precej publicitete so ga slovesno zagnali oktobra lani, ko je bil na odprtju celo slovenski predsednik. Slabo leto dni pozneje Arctur-2 računa za industrijo iz vse Evrope, je pojasnil Nejc Bat, vodja projektov HPC (high-performance computing).
Arctur-2 se skriva v pritličju prostrane hale, v katero vodijo dvoja debela vrata, ki jih odpirajo zgolj čip in pravilna koda. Če smo navajeni, da so omare strežnikov, ki sestavljajo superračunalnike, razvrščene lepo po vrsti, so te razporejene v krogu. Na prvi pogled nenavadna rešitev je zelo gospodarna, razlaga Bat, saj tako porabimo kar najmanj kablov. Pomaga pa tudi pri hlajenju. V resnici je nekaj podobnega imel že Cray-1 leta 1976.
Prostore z veliko strežniki najučinkoviteje hladimo tako, da jih pregradimo na dvoje – na toplo in hladno cono. Celotna hala je hladna cona, kjer klimatske naprave vzdržujejo primerno temperaturo, ki je bila na vroč majski dan prijetnih 24° C. V notranjosti okroglega prostora na sredini hale pa imamo toplo cono. Računalniki se hladijo preprosto tako, da skoznje piha zrak iz hladne v toplo cono. Vodno hlajenje prinaša toliko nevarnosti in težav, da so ga raje preskočili.
Hlajenje superračunalnikov je zahtevno in drago, saj je treba vso za računalnike porabljeno električno energijo tudi odvesti. Konkretni superračunalnik porablja do 30 kW električne energije (kadar je polno obremenjen), ki se neobhodno spremeni v toploto. V povprečju imajo faktor energetske učinkovitosti okrog 1,2, ob vročih dneh pa se lahko poslabša vse do 1,5. Za sredozemsko podnebje v Novi Gorici je to zelo dober rezultat, a Arctur-2 bo šele letos preživel prvo goriško poletje.
Strojna oprema
In kaj ustvarja toliko energije? Industrijskim uporabnikom je načeloma vseeno, kaj poganja njihove izračune, z vidika vzdrževanja pa je najlaže imeti enaka vozlišča. Tako ima Arctur-2 procesorje Intel Xeon E5-2690 z 2,6 GHz, ki imajo 28 jeder in 128 GB pomnilnika, vozlišča pa so med seboj povezana z 2×25 Gb/s ethernetom. Poleg običajnih vozlišč imajo še grafična vozlišča, ki imajo zraven še po štiri Nvidiine Tesle M60, in vozlišča za pomnilniško intenzivne aplikacije, ki imajo 1 TB pomnilnika (in nekoliko počasnejše procesorje z 1,7 GHz). Na vseh teče Linux distribucija CentOS.
Pri vprašanju, koliko jeder in prostora je na voljo uporabnikom, se je Bat le nasmehnil, češ da bomo potem začeli ocenjevati, koliko FLOPS imajo, česar pa sploh niso izmerili niti ne želijo. Res LINPACK ni edini zveličavni »benchmark« in je za nekatere rabe v resnici zelo zavajajoč, a približno lahko ocenimo velikost sistema tudi iz njegove porabe energije.
Zanimivo, da za povezovanje nimajo Infinibanda. Resda je drag kot žafran, a če želimo iz vozlišč iztisniti največ, ga potrebujemo. Bat na drugi strani postreže z izračunom iz lastnih preizkusov, ki je pokazal, da bi z Infinibandom na konkretni sestavi pridobili zgolj kakšnih pet odstotkov, to pa se ne splača. Uporabniki ga niti ne pogrešajo, veliko opravil je takih, da hitre povezave med vozlišči sploh ne potrebujejo (denimo izris – rendering).
Kaj pa računa?
V zadnji številki Monitorja smo nanizali dolg seznam problemov, ki so s superračunalniki rešljivi in lahko pomagajo izboljšati svet. Toda akademija je eno, industrija, ki mora ustvarjati dobiček, pa nekaj povsem drugega. Od 60 do 70 odstotkov vsega procesorskega časa se na Arcturju-2 porabi za izračunavanje dinamike fluidov (CFD), od 10 do 30 odstotkov pa za metode končnih elementov. Vsega drugega je zanemarljivo malo, najbolj pa se veča uporaba simulacij računalniškega učenja z Googlovim odprtokodnim orodjem TensorFlow. Za razliko od CFD, kjer je programskih paketov na desetine, združljivost med njimi pa stvar sreče in orientacije nebesnih teles, je pri računalniškem učenju Googlov TensorFlow prevzel primat. Veliko denarja in možganov na kupu je ustvarilo eno rešitev, ki se je prijela.
Čeprav je povprečna zasedenost Arcturja-2 okrog tretjinska, je treba številko razumeti. Ko je zahtev veliko, se na prosta jedra tudi čaka, so pa vmes tudi tedni zatišja. Slovenska industrija je glede uporabe računalnikov še v kameni dobi. So nekatere svetle izjeme, ki jih resno uporabljajo, denimo izdelovalec magnetov iz Ljubljane, ki skupaj z Xlabom uporablja superračunalnik za izboljševanje proizvodnega procesa, drugače pa to v glavnem počno tujci. V zadnjih letih je bilo teh izjem še več (tudi Pipistrel) in, ker jih je precej, prihajajo iz najrazličnejših evropskih držav in počno marsikaj.
Primeri problemov, ki se rešujejo na superračunalniku, zajemajo izračunavanje navorov v menjalniku, simulacije obrabe menjalnika, trdnostne analize, izračun širjenja požarov v trgovinskih centrih, termodinamične analize, napovedi dogajanja v (bio)reaktorjih, simulacije morskih tokov, nabiranja snega na stavbah, segrevanja avtomobilskih luči, proizvodnih linij, letalske aerodinamike, vremena v Afriki za 100 let z ločljivostjo 1 km itd. Da se vse skupaj ne ustavi, skrbita dva velikanska UPS, ki zdržita nekaj minut, dokler se ne zažene dizelski agregat. Zagotavljati 30 kW pač ni mačji kašelj.
Kako se lotimo superračunalnika?
Kako torej poteka uporaba superračunalnika čisto v praksi? Najprej moramo pripraviti novce, saj stane ena računska ura okrog 1,5 evra. Ena računska ura pomeni uporabo enega vozlišča 60 minut, uporaba vozlišča z 1 TB pomnilnika pa je dvakrat dražja, tistega z grafičnimi procesorji pa trikrat dražja. Elektrika ni zastonj. Če seveda vemo, koliko časa bodo naše simulacije tekle, se lahko pogajamo v paketih, če pa plačujemo po sprotni porabi, manevrskega prostora skoraj ni.
In potem se prek SSH povežemo v sprejemno vozlišče, kamor odložimo potrebne podatke in pokličemo skripto, ki bo zagnala simulacijo. Glavni vozlišče oziroma okolje SLURM jo pospravi na najprimernejše vozlišče. Podatke prenašamo s scp ali sftp, torej prek ukazne vrstice. SLURM in CentOS sta seveda brezplačna, kaj pa preostala programska oprema?
Rezultat simulacije zvijanja optičnega kabla. Slika: Arctur
Načeloma se Arctur ne ukvarja z licencami, temveč zgolj z nameščanjem in sestavo programske opreme. To pomeni, da mora uporabnik zagotoviti licenco za program, ki ga želi uporabljati, potem pa mu vse pripravijo, da zgolj poganja izračune. Odprtokodna orodja navadno niso težava, saj imajo poleg tega tudi zgledno dokumentacijo in predvsem skupnost, na katero se je moč obrniti. Čeprav, se spomni Bat, so nameščali že tudi programsko opremo, ki jo na svetu uporablja pet ljudi. Preden so jo usposobili, je trajalo in trajalo. S komercialno programsko opremo pa je tako, da si moramo licenco prinesti sami. Koliko nas bo to stalo, je odvisno od požrešnosti izdelovalca. Na eni strani pogledamo priljubljen inženirski paket Ansys, kjer mora uporabnik od izdelovalca kupiti licenco za poganjanje na superračunalniku. Na oko stane 24 ur na osmih nitih kakšnih 50 evrov, s čimer je mogoče v tednu dni narediti precej. Na drugi strani spektra je Matlab, ki ponudi licence za superračunalnik (in ne uporabnika) in bi želel za tak sistem okrog milijon evrov na leto. Zato ga na Arcturju-2 pač ni.
Ko so optične povezave pretanke
Ko dobimo izračunane podatke, jih je treba pretočiti domov. Ena izmed večjih pomanjkljivosti Arcturja-2, ki jo po Batovih besedah kanijo odpraviti še letos, je odsotnost vozlišča za vizualizacijo rezultatov. Če ste torej izračunali velikansko mrežo v OpenFOAMu, jo morate najprej prenesti domov, da si jo lahko predočite. Zato bo nekoč dobrodošla dopolnitev poseben strežnik z dostopom prek VNC, kjer bo mogoče podatke vizualizirati.
Uporaba dinamike fluidov: rezultat simulacije zračnega toka čez jadra. Slika: Arctur
Problem je zdaj čisto tehničen. Čeprav ima Arctur-2 tri ločene povezave do interneta prek več ponudnikov, ga omejuje slovenska infrastruktura. ARNES ima sicer izmenjavo prometa z italijanskim GARRom, preostali ponudniki interneta pa promet tja po navadi pošljejo skozi Dunaj, Frankfurt, Amsterdam, Francijo ali Švico, in v Italijo. Razlog je italijanska vojaška optika, ki teče v smeri sever-jug ob slovenski meji, zato prečnih navezav kar tako ni mogoče zgraditi. Dogovoriti pa se Ljubljana in Rim ne znata, zato gre promet pač prek ponudnikov Tier 1.
Ko je tržaški Mednarodni center za teoretično fiziko (ICTP) 3 mesece računal podnebje v Afriki z ločljivostjo 1 kvadratnega kilometra za petdeset let nazaj in sto let vnaprej, so pridelali 70 TB podatkov. Preden bi to prenesli prek Avstrije, bi trajalo, zato je ICTP v prostore enostavno priključil svoj strežnik višine 4U z diskovnim poljem in vanj prekopiral rezultate. Tudi v Sloveniji je torej metaforični golob s kartico microSD včasih hitrejši od optičnih povezav.
In varnost podatkov? Iz gigabajtov podatkov iz simulacij CFD bodo oči nepovabljenih sicer težko kaj pametnega izvrtale, a številna podjetja svoje podatke skrbno varujejo. Kako je torej z obdelavo na superračunalniku v drugi državi? Spomnimo se, da je Google Street View v Slovenijo zamujal več let prav zato, ker mu informacijska pooblaščenka ni dovolila iznosa neobdelanih podatkov v ZDA, saj so bili na njih osebni podatki (fotografije). V velikih koncernih podobno ljubosumno skrivajo industrijsko lastnino. Bat pojasnjuje, da drugi uporabniki seveda nimajo dostopa do podatkov, upravljavci pa ga teoretično imajo, a so pogodbe o varovanju podatkov dovolj stroge, da niti Nemci niso komplicirali.
Tako je torej videti slovenski superračunalniški center, ki naj bi se do konca leta še nekoliko nadgradil, saj bodo vanj prinesli prvi superračunalnik Arctur-1, ki ga bodo razstavili. Od daleč zgolj moderna hala, v notranjosti veliko praznega prostora in krog iz črnih omar, v drobovju pa simulacije, ki industriji prihranijo milijone. In od koder je bilo včasih treba podatke v Italijo peljati z diski v samokolnici.