Superarvuti

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.

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.

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.

Hetke 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 peaks superarvuti valmis olema 2012. aasta juunikuuks. 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 (10¹⁸ 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 (10²¹ flopsi) superarvutit. Praegust arengukiirust arvestades luuakse selline süsteem aasta 2030 paiku