Superarvuti

**Superarvuti** on arvuti, mis kuulub esimeste hulka oma töötlusvõimsuse, eriti arvutuskiiruse poolest.

Superarvuteid hakati looma 1960. aastatel, Seymore Cray oli üks peamisi superarvutite väljatöötajaid Control Data Corporationis (CDC). 1972. aastal lahkus Cray CDC-st, et luua oma firma Cray Research, mis võttis üle superarvutite turu, hoides superarvutamise esikohta 5 aastat (1985–1990). 1980. aastatel tuli turule hulk väiksemaid konkurente, kuid paljud neist kadusid 1990. aastate keskel toimunud "superarvutituru krahhi" käigus. Tänapäeva superarvutid on tavaliselt ainulaadsed lahendused, mis on loodud selliste "traditsiooniliste" firmade poolt nagu Cray, IBM ja Hewlett-Packard, kes ostsid paljud 1980. aastate arvutitega tegelevatest firmadest ja omandasid sellega vajalikud kogemused.

2011. aasta keskpaigast on maailma kiireim superarvuti K Computer, mis asub Jaapanis ja ületab eelmist rekordiomanikku (Tianhe-I) kolmekordselt.

Mõiste *superarvuti* on aja jooksul palju muutunud ja tänane superarvuti kipub olema homne tavaarvuti. CDC varased masinad olid lihtsalt väga kiired skalaarprotsessorid, mõned kümme korda kiiremad kui teiste firmade pakutavad. Enamik 1970. aastate superarvuteid oli loodud töötama vektorprotsessoril. 1980. aastate esimesel poolel loodi arvutid, kus paralleelselt töötas mitu, tavaliselt 4–6, vektorprotsessorit. 1980. aastate lõpus ja 1990. aastatel pöördus tähelepanu vektorprotsessoritelt massiivsetele paralleeltöötlussüsteemidele, mis sisaldasid tuhandeid "tavalisi" protsessoreid. Tänapäeva paralleelsüsteemid põhinevad tavakasutuses olevatel serveriklassi mikroprotsessoritel nagu PowerPC, Opteron või Xeon ja kaasprotsessoritel nagu NVIDIA Tesla GPGPUs, AMD GPUs, IBM Cell, FPGAs. Enamik tänapäeva superarvutitest on kõrgtasemel seadistatud klastrid, mis kasutavad tavakasutuses olevaid protsessoreid eriotstarbeks loodud omavaheliste ühendustega.

Superarvuteid kasutatakse väga palju arvutusi nõudvate ülesannete lahendamiseks, näiteks kvantfüüsikas, ilmaennustamises, kliimauuringutes, molekulide modelleerimiseks ja füüsikaliste simulatsioonide jaoks.

## Riistvara ja tarkvara superarvutites
Kohandatud protsessoreid kasutavad superarvutid saavutasid traditsiooniliselt suurema kiiruse üle tavaarvutite innovaatiliste disainidega, mis lubasid neil teha mitut ülesannet paralleelselt. Tavaliselt on superarvutid spetsialiseeritud teatud tüüpi arvutustele, tavaliselt numbrilistele arvutustele, ning tänu sellele töötavad halvemini üldisemate andmetöötlus ülesannete puhul. Nende mälu hierarhia on väga hoolikalt välja töötatud, et tagada, et protsessor saaks pidevalt infot ja juhendeid – tegelikult, suur erinevus aeglasemate arvutite ja superarvutite vahel tuleneb mälu hierarhiast. Nende sisend/väljund süsteemid on tavaliselt konstrueeritud toetama suurt ribalaiust ning latentsus ei ole nii tähtis, sest superarvuteid ei kasutata transaktsiooniliseks andmetöötluseks.

### Superarvutite väljakutsed ja tehnoloogiad
Superarvuti toodab suurtes kogustes soojust ja seetõttu tuleb seda jahutada. Tüüpiline TOP500 superarvuti kasutab elektrit 1 ja 10 megavatti ning muudab peaaegu kõik selle soojuseks. Elektrikulu ja jahutus on tavaliselt üks teguritest, mis seab süsteemi suurusele piirid. (Näiteks Tianhe-1A võiks kulutada iga aasta mitme miljoni dollari väärtuses elektrit.)

Informatsiooni kahe arvuti vahel ei ole võimalik liigutada kiiremini kui valguse kiirus. Seetõttu superarvuti, mille osad on üksteisest palju meetreid eemal, peab omama latentsust vähemalt kümneid nanosekundeid. Seymore Gray superarvutis üritati seetõttu hoida kaableid nii lühikesena kui võimalik. Modernsetes superarvutites, mis on ehitatud paljudest paralleelselt töötavatest tavaprotsessoritest, on tavaline latentsus kahe protsessoril vahel 1–5 mikrosekundit.

Superarvutid tarvitavad ja toodavad väga lühikese aja jooksul väga suurtes kogustes andmeid. Ken Batcher on öelnud: "Superarvuti on seadeldis, millega pöörata arvutuspiirangud sisend-/väljundpiiranguteks." Palju tööd on vaja teha andmekandjate ribalaiuse kallal, et teha kindlaks, et informatsioon saab kiiresti toimetatud ja talletatud või korrektselt vastu võetud.

Tehnoloogiad, mis on välja töötatud superarvutite jaoks, sisaldavad:
# vektortöötlust;
# vedelikjahutust;
# NUMA-t (*Non-Uniform Memory Access*);
# andmete paigutamist korraga kahele füüsilisele kettale, et neid kiiremini kasutada (esimene etapp sellest, mida hiljem hakati kutsuma RAID-iks);
# paralleelseid failisüsteeme.

### Töötlemistehnikad
Vektortöötluse tehnikad olid esmalt arendatud superarvutitele ja edaspidi olid spetsiaalsetes kõrgvõimsusega programmides. Vektortöötluse tehnikad on jõudnud massina turule DSP arhitektuurina ja SIMD (*Singe Instruction Multiple Data*) töötlemisjuhenditena tavaarvutitele.

Eriti tänapäeva videomängukonsoolid kasutavad SIMD-d ja seetõttu mõned tootjad väidavad, et nende mängumasinad on superarvutid. Mõnedel graafikakaartidel on arvutusvõimsus isegi kuni mõni teraflops. Koht, kus seda võimsust kasutada saab, oli piiratud varase videotöötluse iseloomu pärast. Videotöötlus on arenenud, graafikaprotsessor (GPU ehk *graphics processing unit*) on edasi arenenud ning nüüd on nad kasulikumad tavaliste vektorprotsessoritena. Sellest on välja arenenud täiesti uus arvutiteaduse alaliik: tavaotstarbeline arvutus graafikaprotsessoritel (GPGPU – *General-Purpose Computing on Graphics Processing Unit*).

### Operatsioonisüsteemid

Tänapäeval kasutavad superarvutid kõige enam Linuxi eri variante. 1980. aastate esimeses pooles ohverdasid superarvutid juhendite ühilduvuse ja koodi teisaldatavuse, et saada paremaid tulemusi (töötlus- ja mälu kättesaamise kiirusi). Selle ajani olid superarvutitel enamasti väga erinevad operatsioonisüsteemid. Cray-1'l üksi oli vähemalt 6 erinevat operatsioonisüsteemi, mis olid tavalisele arvutikogukonnale enamasti tundmatud. Samamoodi olid olemas erinevad ja mitteühilduvad vektoriseerivad ning paralleeliseerivad kompilaatorid Fortranilt. Selline trend lõppes, kui loodi ühilduv juhendite komplekt Cray-1 ja Cray X-MP vahel ja võeti kasutusele sellised arvutisüsteemid nagu Cray' Unicos või Linux.

### Programmeerimine
Paralleelse arhitektuuri tõttu superarvutites kasutati tihti spetsiaalseid programmeerimistehnikaid, et kasutada ära superarvutite kiirust. Baaskeel superarvutite jaoks on üldiselt Fortran või C, kasutades spetsiaalseid teeke, et jagada infot sõlmede vahel. Kõige tavalisemal juhul, keskkonnad nagu PVM ja MPI, olid kasutuses lõdvalt ühendatud klastrite vahel ja OpenMP tihedalt koordineeritud jagatud mäluga masinates. Märkimisväärseid jõupingutusi on vaja teha, et optimeerida probleem antud ühenduste iseloomu jaoks, millel arvuti jooksma hakkab. Eesmärk on hoida ära võimalus, et mõni protsessor kulutab aega andmetele teistest sõlmedest. Uued massiivselt paralleelsed GPGPU-d omavad sadasid protsessorituumi ja on programmeeritud kasutades programmeerimismudeleid nagu CUDA ja OpenCL.

## Kiireimad superarvutid
### Superarvuti kiiruste mõõtmine
Üldiselt kasutatakse superarvuti kiiruse mõõtmiseks ühikut "FLOPS" (Floating Point Operations Per Second ehk ujuvkoma arvutuste arv sekundis). Kiiruse mõõtmiseks kasutatakse üldiselt jõudlustesti LINPACK, kus tuleb arvutil lahendada tihe lineaarvõrrandite süsteem.

### TOP500 nimekiri
1993. aastast alates on superarvutid pandud järjekorda nende LINPACK-jõudlustesti tulemuste alusel ja avaldatud TOP500 nimekirjas. Kuna LINPACK näitab vaid ühte sorti arvutuste kiirust, ei pruugi see nimekiri olla täpne, kuid tihti nimetatakse kiireimaks hetke superarvutiks just seda nimekirja juhtivat superarvutit.

### Seni kiireimad superarvutid
Jack Dongarra on väitnud, et Tianhe-1A superarvuti Hiina Rahvuslikus Superarvutuskeskuses Tianjinis on 1,4 korda kiirem kui AMD-Opteronil põhinev Cray XT5 Jaguar. Nvidia väidab, et Tianhe-1A on saavutanud töötlemiskiiruse 2,507 petaflops LINPACK'i jõudlustestis. Tianhe-1A koosneb 14336 Intel Xeon Protsessorist ja 7168 Nvidia Tesla M2050 GPU'st koos uute Hiinast pärit ühendustega. Tianhe-1A asub 103 korpuses, kaalub 155 tonni ja tarvitab 4,04 megavatti elektrit. Eelmine kiirem superarvuti Cray XT5 Jaguar on saavutanud kiiruse 1,759 petaflops'i.

Ettevõtte Fujitsu ja Jaapanis paikneva RIKEN-i instituudi teadlaste loodud superarvuti K Computer saavutas aga 2011. aastal kiiruseks juba 8,162 petafloppi ning kukutas sellega hiinlaste superarvuti maailmas teisele kohale. K Computeri kokkupanekut alustati 2010. aasta oktoobris ja plaanide kohaselt pidi superarvuti valmis olema 2012. aasta juuniks. Fujitsu ja RIKENi pressiteate kohaselt koosneb superarvuti 672 arvutikapist, milles on kokku 68 544 keskprotsessorit.

## Omamoodi superarvutid

Mõned väga suuremahulised hajussüsteemid, mis on ehitatud probleemide jaoks, mida on väga lihtne paralleelselt erinevate masinate vahel lahendada, viivad klastris superarvutamise mõiste äärmusteni. Kõige kiirem klaster, Folding@home, on detsembri 2009 seisuga saavutanud arvutusvõimsuse 7,8 petaflopsi. Sellest 2,3 petaflopsi andsid arvutid, mis kasutasid NVIDIA GeForce GPU-sid, AMD GPU-sid või PlayStation 3 süsteeme ja ülejäänud 5,1 petaflopsi tuli nende hiljuti väljalastud GPU2 kliendist.

Üks teine hajussüsteemarvutuse projekt on BOINC platvorm, mis majutab nii mõndagi hajussüsteemarvutuste projekti. 2010. aasta aprilli seisuga on BOINC saavutanud arvutusvõimsuse üle 5 petaflopsi läbi 580 000 aktiivse võrgus oleva arvuti. Kõige aktiivsem projekt (mõõdetuna arvutusvõimsuse järgi) BOINC-is on MilkyWay@home, mille võimsuseks on teatatud 1,4 petaflopsi 30 000 aktiivse arvuti kaudu.

Aprill 2010 seisuga on GIMPS-i Mersenne'i algarvude otsing saavutas umbes 45 teraflopsi.

Ka Google'i otsingumootori süsteem on "omamoodi superarvuti", mille arvutusvõimsus jäi aprilli 2004 seisuga hinnanguliselt 126 ja 316 teraflopsi vahele. Juunis 2006 hindas New York Times Googleplexi ja selle serveriparkide serverite hulgaks 450 000. Mai 2008 hinnati Google'i arvutusvõimsuseks 20–100 petaflopsi.

PlayStation 3 "Gravity Grid" kasutab võrku, mis koosneb 16 masinast ja kasutab ära Cell protsessorit täitmaks ülesandeid, milleks on astrofüüsikalised simulatsioonid suurtest supermassiivsetest mustadest aukudest, mis neelavad väiksemaid kompaktseid objekte. Celli protsessoril on põhiprotsessor ja 6 ujukoma-vektorprotsessorit, andes masinale võrgu, mis koosneb 16 tavaarvutist ja 96 vektorprotsessorist. See klaster ehitati 2007. aastal Dr. Guarav Khanna poolt ja seda toetas Sony Computer Entertainment; see on esimene PlayStation 3-dest koosnev klaster, mis andis numbrilisi tulemusi, mis avaldati teaduslikus kirjanduses.

## Teadustöö ja arendus
IBM arendab Cyclops64 arhitektuuri, millega loodetakse luua "superarvutit kiibil".

Mais 2008 teatati NASA, SGI ja Inteli koostööprojektist ehitada 1-petaflopsine superarvuti Pleiades aastaks 2009 ning aastaks 2012 suurendada arvutusvõimsus 10 petaflopsini.. IBM ehitab Lawrence Livermore'i Rahvuslaboratooriumisse 20-petaflopsist arvutit Sequoia, mis peaks tööle hakkama aastal 2011.

Praegust arengukiirust arvestades peaksid superarvutite kiirused jõudma exaflopsni (1018 flopsi) aastal 2019.

Erik P. DeBenedictis Sandia Rahvuslaboratooriumist arvab, et täieliku ilmamodelleerimise jaoks, millega oleks võimalik täpselt ennustada kahe nädala ilma, on vaja zettaflopsist (1021 flopsi) superarvutit. Praegust arengukiirust arvestades luuakse selline süsteem aasta 2030 paiku

## Superarvutite kiirused ajas

See on nimekiri kiireima superarvuti tiitlit hoidnud superarvutitest läbi aegade koos aastaga, millal vastav arvuti rekordi tegi. Tabeli andmed aastani 1993 pärinevad eri allikatest. 1993. aasta andmed on võetud TOP500 nimekirjast ja tabelis on esitatud suurim kiirus, nagu seda näitab Rmax hinnang.

## Viited

## Välislingid
* Top500 superarvutit
* Veebileht – Euroopa kõrgjõudlusega andmetöötluse ühisettevõtte koduleht
*Ülar Allas. Tartu Ülikooli teadusarvutuste keskus ulatab teadlastele abikäe. Universitas Tartuensis, 2/2021.