Superračunalnik

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje
Cray-2, najhitrejši računalnik v letih od 1985 do 1989
Računalnik CDC 6600 velja za prvi superračunalnik. Bil je najhitrejši med letoma 1964 in 1969
Ohranjeni superračunalnik Cray-1 v Deutsches Museum
Predal prototipa trenutno najzmogljivejšega superračunalnika K v RIPEN z zmogljivostjo 8.162 PFLOPS po testu s programsko knjižnico LINPACK

Súperračunálnik je najhitrejša, najmočnejša vrsta računalnika, sposobna svoje osnovne ukaze izvršiti v pikosekundah (10-12 s), namesto v nanosekundah (10-9 s) kot večina drugih računalnikov.

Za doseganje teh izrednih hitrosti superračunalniki hkrati uporabljajo več procesorjev, poslužujejo pa se tudi različnih drugih tehnik, na primer ohlajanja procesorjev na zelo nizke temperature, kar omogoča hitro delovanje vezij brez težav s pregrevanjem. Superračunalniki se na primer uporabljajo pri napovedovanju vremena, dinamiki tekočin, aerodinamiki, termodinamiki (prenos toplote), umetni inteligenci, simulacijah v biologiji, kvantni kromodinamiki, ... Znani proizvajalci superračunalnikov so: CDC, Cray Research, Fujitsu, Hitachi, IBM, Intel, NEC, Thinking Machines.

Zgodovina[uredi | uredi kodo]

Zgodovina superračunalnikov seže v 1960-ta leta, ko je Seymour Cray z inovativnimi zasnovami in paralelizmom izdelal niz računalnikov v družbi Control Data Corporation (CDC). Ti računalniki so dosegali izredno računsko moč.[1] Računalnik CDC 6600, izdelan leta 1964, v splošnem velja za prvi superračunalnik.[2][3] CDC je bil trikrat hitrejši od svojega predhodnika IBM 7030 Stretch. Z zmogljivostjo približno 1 MFLOPS je bil med letoma 1964 in 1969 najhitrejši, ko ga je prehitel CDC 7600.

Cray je leta 1972 zapustil CDC in ustanovil svoje podjetje.[4] Štiri leta kasneje je leta 1976 ponudil 80 MHz Cray-1, ki je postal eden najuspešnejših superačunalnikov.[5][6] Cray-2, narejen leta 1985, je bil 8 procesorski kapljevinsko hlajeni računalnik, hladilno tekočino Fluorinert pa je med njegovim delovanjem črpala črpalka. Deloval je z zmogljivostjo 1,9 GFLOPS in bil najhitrejši do leta 1990.[7]

V 1980-tih so imeli superračunalniki le nekaj procesorjev, v 1990-tih pa so se začeli pojavljati stroji z več tisoč procesorji, tako v ZDA kot na Japonskem, in so postavili nove rekorde računske zmogljivosti. Fujitsujev superračunalnik Numerical Wind Tunnel je uporabljal 166 vektorskih procesorjev in je imel leta 1994 največjo zmogljivost 1,7 GFLOPS na procesor.[8][9] Hitachi SR2201 je leta 1996 dosegel rekord 600 GFLOPS in imel 2048 procesorjev povezanih prek hitre trirazsežne mreže.[10][11][12] Intel Paragon je imel 1000 do 4000 procesorjev Intel i860 v različnih konfiguracijah in je bil leta 1993 najhitrejši. Paragon je imel zgradbo MIMD, v kateri so bili procesorji povezani s hitro dvorazsežno mrežo, kar je omogočalo, da se procesi izvajajo v odvojenih točkah in komunicirajo prek sistema MPI.[13]

Strojna oprema in arhitekture[uredi | uredi kodo]

Pristopi k superračunalniškim arhitekturam so se dramatično spremenili odkar so bili v 60-ih letih vplejani prvi sistemi. Zgodnje superračunaliniške arhitekture, ki so bile vpeljane s strani Seymour-ja Cray-a so temeljile na kompaktnih inovativnih pristopih ter lokalnemu paralelizmu za doseganje višjih zmogljivosti. Čez čas je potreba po povečanih računskih zmogljivostih pripreljala do dobe masivno paralelnih sistemov.

Medtem ko so superračunalniki v 70-ih uporabljali le nekaj procesorjev, so se v 90-ih začeli pojavljati sistemi z več tisoč procesorji. Proti koncu 20-ega stoletja pa so bili že ustaljeni masivno paralelni sistemi z več deset tisoč nespecializiranih (ang: off-the-shelf) procesorjev. Superračunalniki 21-ega stoletja lahko uporabljajo že več kot 100.000 procesorjev (nekateri tudi koprocesorje), ki so povezani z izjemno hitrimi povezavami.

Skozi desetletja, upravljanje z gosto toplotnega toka ostaja ključno vprašanje za večino centraliriziranih superračunalnikov. Veliko ustvarjene toplote, ki jo proizvede sistem ima lahko tudi druge vplive npr. krajšanje življenske dobe sistemskih komponent. Bilo je že veliko različnih pristopov k reševanju tega problema od črpanja Fluorinerta skozi sistem do hibridnih hladilnih sistemov kot so "tekočina-zrak" ali zračno hlajenje z klimatskimi napravami.

Poraba energije in upravljanje s toploto[uredi | uredi kodo]

Tipičen superračunalnik porabi velike količine električne energije, katere je večina spremenjene v toploto, ki jo je potrebno hladiti. Primer, Tianhe-1A porabi 4.04 Megawatta električne energije. Cena napajanja in hlajenja sistema je zato zelo visoka, npr. 4MW pri 0,7€/kWh je 280€/h kar znaša približno 2,5 miljona evrov na leto.

Upravljanje toplote je velik problem v kompleksnih elektronskih napravah, in vpliva na zmogljive računalniške sisteme na različne načine. Velika količina toplote ki jo ustvarja CPE in vprašanje odvajanja te toplote v superračunalništvu, presega te v tradicionalnih računalniških hladilnih tehnologijah. Nagrade, ki jih prejemajo superračunalniki za zeleno računalništvo odražajo to vprašanje.

Sestavljanje na tisoče procesorjev skupaj neizogibno ustvarja znatne količine toplote s katero je potrebno nekaj narediti. Cray 2 je bil vodno hlajen in uporabljal tako imenovan "hladilni slap" z Fluorinertom, ki je pod pritiskom tekel skozi module. Vendar pristop potapljanja v hladilno tekočino ni bil praktičen za sisteme, ki so sestavljeni iz več omar in (ang: off-the-shelf) procesorjev. Zato so za System x v sodelovanjz z podjetjem Liebert razvili posebn hladilni sistem, ki je kombinacija klimatske naprave in vodnega hlajenja.

Energetska učinkovitost računalniških sistemov se običajno meri v FLOPS/Watt. Leta 2008 je IBMjev Roadrunner deloval pri 376 MFLOPS/Watt. Novembra 2010 je Blue Gene/Q dosegel 1684 MFLOPS/Watt. Junija 2011 sta najvišje dve mesti na lestivici "Green 500" zasedla Blue Gene računalnika v New Yorku z 2097 MFLOPS/W, tretje mesto je pa zasedel DEGIMA cluster v Nagasakiju z 1375 MFLOPS/W.

Programska oprema in upravljanje[uredi | uredi kodo]

Operacijski sistemi[uredi | uredi kodo]

Od konca 20-ega stoletja so superračunalniški operacijski sistemi doživeli precej sprememb. Medtem ko so bili prvi operacijski sistemi namensko narejeni z namenom doseganja čim boljših zmogljivosti; so se trendi premaknili v prid generičnim operacijskim sistemom kot je naprimer Linux.

Programska orodja in message passing[uredi | uredi kodo]

Superračunalniške paralelne arhitekture pogosto zahtevajo uporabo posebnih programerskih prijemov, da se lahko izkoristi vsa računska moč, ki je na voljo. Porgramska orodja za paralelno procesiranje torej uporabljajo standardizirana razvojna okolja kot naprimer MPI in PVM, VTL ter druge odprtokodne rešitve kot je naprimer Beowulf.

Najpogosteje se uporabljajo okolja kot so PVM in MPI za redko povezane sestave in OpenMPI za gosto povezane sestave z deljenim pomnilnikom. Veliko truda je potrebnega za optimiziranje algoritmov na med seboj povezanih strojih, namen tega je da se minimizra število neuporabljenih CPE-jev. GPGPUji imajo stotine jeder na eni plošči. Za upravljanje s takimi arhitekturami se uporabljajo programski jeziki kot so CUDA in OpenCL.

Porazdeljeno superračunalništvo[uredi | uredi kodo]

Oportunistični pristopi[uredi | uredi kodo]

Primer arhitekture sistema mrežnega računalništva, ki povezuje več osebnih računalnikov prek interneta

Oportunistično superračunalništvo je oblika mrežnega računalništva (ang. grid computing), kjer "super virtualni računalnik" povezuje veliko prostovoljno povezanih računaniških naprav, ki morajo računati kompleksne računske probleme. Mrežno računalništvo (ang. grid comupting) je bilo uporabljeno za reševanje številnih problemov, ki zahtevajo paralelno reševanje z močjo superračunalnika. Vendar pa osnovna omrežja (ang. basic grid) in računalništvo v oblaku, ki se zanašajo na prostovoljno ali globalno računalništvo ne zmorejo tradicionalnih superračunalniških nalog, kot so simulacije dinamike tekočin.

Najhitrejši sistem Mrežnega računalništva je računalniški projekt Folding@home. Marca 2012 je imel F@h 8,1 petaflopov x86 procesorske moči, od tega 5,8 petaflopa so prispevale stranke iz različnih grafičnih procesorjev, 1,7 petaflopa iz playstation 3 konzol, in ostalo iz različnih CPE sistemov.

BOINC platforma gosti številne porazdeljene računalniške projekte. Od maja 2011, je BOINC zabeležil več kot 5,5petaflopov procesorske moči s pomočjo več kot 480.000 aktivnih računalnikov v omrežju. Najbolj aktiven projekt (merjen po računski moči) je MilkyWay@home, ki uporablja 700 teraflopov preko več kot 33000 aktivnih računalnikov.

Od maja 2011, GIMPS (Great Internet Mersenne Prime Search ali veliko internetno iskanje Marsennovega števila), ki računa Mersennovo število trenutno dosega približno 60 teraflopov preko več kot 25.000 registriranih računalnikov.Internet PrimeNet Server podpira pristop mrežnega računanja Marsennovega števila, enega prvih in najbolj uspešnih mrežnih računalniških projektov, od leta 1997.

Kvazi-oportunistični pristopi[uredi | uredi kodo]

Kvazi oportunistično superračunalništvo je oblika porazdeljenega računalništva, kjer "super virtualni računalnik" sestavljen iz velikega števila geografsko razpršenih računalnikov povezanih v omrežje, opravlja računske naloge, ki zahtevajo ogromno procesorske moči. Namen kvazi-oportunističnega visoko zmogljivega računalništva je zagotavljati višjo kakovost storitve kot oportunistično omrežje z boljšim nadzorom nad dodeljevanjem nalog razpršenim virom in uporabo podatkov o razpožljivosti in zanesljivosti posameznih sistemov znotraj superračunalniškega omrežja.

Merjenje zmogljivosti[uredi | uredi kodo]

V splošnem se zmogljivost sestavov uporablja merska enota 'FLOPS' (FLoating Point Operations Per Second) kar pomeni merilo v številu izvrženih računskih operacij s plavajočo vejico v sekundi in ne 'MIPS' ki merijo ukaze na sekundo in se uporabljajo kot enota za zmogljivost splošno namenskih računalnikov. Dejansko številka ne pokaže dejanske zmogljivosti računalnika, je pa Linpack postal standard kot zadovoljivo merilo za približek računske zmogljivosti sestava.

Top 500[uredi | uredi kodo]

Graf prikazuje delež superračunalnikov po državah, Top500 November 2013

Od leta 1993 se vodi tudi seznam najhitrejših superračunalnikov na svetu na podlagi Linpack merila. Upravljalci seznama ne zagotavljajo da je seznam nepristranski ali dokončen. Je pa Top500 seznam slošno uporabljen, kot ažuren seznam 'najhitrejših' supperačunalnikov ob danem času. Seznam se posodablja dvakrat letno in sicer v juniju in novembru na konferencah ISC v Evropi in SC v ZDA.

Leto Superračunalnik Peak Speed
(Rmax)
Lokacija
2008 IBM Roadrunner 1.026 PFLOPS Los Alamos, ZDA
1.105 PFLOPS
2009 Cray Jaguar 1.759 PFLOPS Oak Ridge, ZDA
2010 Tianhe-IA 2.566 PFLOPS Tianjin, Kitajska
2011 Fujitsu K computer 10.51 PFLOPS Kobe, Japonska
2012 IBM Sequoia 17.17 PFLOPS Livermore, ZDA
2012 Cray Titan 17.59 PFLOPS Oak Ridge, ZDA
2013 NUDT Tianhe-2 33.86 PFLOPS Guangzhou, Kitajska

Uporaba superračunalnikov[uredi | uredi kodo]

Najpogostejši uporabniki superračunalnikov so znanstvene in akademske ustanove, uporablja pa se tudi v poslovne namene. Nekaj velikih multinacionalnih bank in korporacija uporablja manjše superračunalnike. Uporaba vključuje, posebne učinke v filmih, zbiranje in obdelavo vremenskih podatkov, obdelavo geoloških podatkov, podatkov o genetskih zapisih, aerodinamiko, simulacije ter v vojaške namene. Uporabniki so filmska industrija, vremenske organizacije, vesoljske agencije, vladne organizacije, znanstveni laboratoriji, raziskovalne skupine, vojaški in obrambni sistemi ter velike korporacije.

Faze uporabe superračunalnika je mogoče povzeti v naslednji tabeli:

Desetletje Uporaba in sodelujoči računalniki
1970 vremenske napovedi, aerodinamične raziskave (Cray-1)
1980 verjetnosnta analiza, modeliranje zaščite pred sevanjem,(CDC Cyber)
1990 razbijanje kode s poskušanjem (EFF DES cracker)
2000 3d simulacije jedrskih poskusov, zaradi sporazuma pogodbe o neširjenju jederskega orožja (ASCI Q)
2010 simulacija molekularne dinamike (Tianhe-1A)

Superračunalniki v Sloveniji[uredi | uredi kodo]

Prvi superračunalnik v sloveniji, CONVEX C220, je bil postavljen leta 1990 na Inštitutu Jožef Štefan. Imel je dve jedri, vsak z maksimalno učinkovitostjo 50 MFLOPs.

Arctur-1 HPC
Superračunalnik Peak speed
(Rmax)
Zavod/Podjetje
SGI ICE-X ~20 TFLOPS ARSO
Arctur-1 10,5 TFLOPS Arctur
Računalnik HPC 7,9 TFLOPS Fakulteta za strojništvo
BladeCenter HS21 36,752 GFLOPS Turboinštitut

Inštitut Jožef Štefan ima največ HPC naprav v Sloveniji, ki pa niso povezane v enoten HPC sistem, razpršene so po ločenih raziskovalnih oddelkih (Teoretična fizika F-1 , eksperimetnalna fizika osnovnih delcev F-9 in reaktorska tehnika R-4)

Raziskovalni in razvojni trendi[uredi | uredi kodo]

Glede na trenutno hitrost napredka, strokovnjaki ocenjujejo, da bodo superračunalniki dosegli 1 exaflop (1018x10-30 FLOPS) do leta 2018. Kitajska je naznanila načrte da bodo imeli superračunalnik ki bo dosegal hitrosti 1 exaflopa do leta 2018. Uporabljal naj bi intel MIC multi-core procesorsko arhitekturo, ki je intelov odgovor na sisteme z grafičnimi procesorji, SGI namerava doseči 500-kratno povečanje učinkovitosti do leta 2018, da bi dosegli en exaflop. Vzorci MIC čipov z 32 jedi, ki združujejo vektorske procesne enote s standardnim CPEjem so že dostopne. Indijska vlada ima tudi ambicije postaviti superračunalnik z močjo enega exaflopa do leta 2017.

Erik P. DeBenedictis iz Sandia National Laboratories je podal teorijo, da potrebujemo superračunalnik z močjo enega zettaflopa (1018x10-36 FLOPS) za natančen vremenski model, kateri bi bil natančen za obdobje dveh tednov. Takšen sistem bi lahko zgradili okrog leta 2030.

Sklici in opombe[uredi | uredi kodo]

  1. ^ Chen; Lin; Hsiung; Hu (2009), str.70-72.
  2. ^ Impagliazzo; Lee (2004), str. 172.
  3. ^ Sisson; Zacher (2006), str. 1489.
  4. ^ Hannan (2008), str. 84-84.
  5. ^ Hill; Jouppi; Sohi (1999), str. 41-48
  6. ^ Reilly (2003), str. 65.
  7. ^ Tokhi; Hossain (2003), str. 201-202.
  8. ^ "TOP500 Annual Report 1994" (v angleščini). Pridobljeno dne 2011-09-04. 
  9. ^ Hirose; Fududa (1997)
  10. ^ Fujii; idr. (1997), str. 233-241.
  11. ^ Iwasaki (1998), str. 246-254.
  12. ^ van der Steen (1997).
  13. ^ Reed (2003), str. 182.

Viri[uredi | uredi kodo]