Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!


Superkompiuteris

Iš Pipedijos - durniausios enciklopedijos.
(Nukreipta iš Superkompiuteriai)
Jump to navigation Jump to search

Superkompiuteris - tai toksai kompiuteris, kuris belenkiek greitas, tačiau kainuoja bent jau kokį 100 ar 1000 kartų daugiau, nei šiaip geras kompas. Būdinga, kad superkompiuteriai turi labai daug RAM, o taip pat ir daug procesorių viduje, tai ir skaičiuoti gali belenkiek visko.

Žymiausi visų laikų superkompiuteriai buvo Cray firmos, tačiau toji seniai žlugo, o jos likučiai atiteko Silicon Graphics, o paskui jau Hewlett Packard, tai gal kažką iki šiol dar tebegamina...

Taip jau gaunasi, kad ir pirmas praktinis elektroninis kompiuteris buvo superkompiuteris - toksai ENIAC, bet tai buvo baisiai seniai. Vėlesniais laikais superkompiuterius gamino daugelis firmų, kaip kad UNIVAC, CDC, IBM, Fujitsu, Hitachi, NEC ir panašiai.

Pagal kompiuterių architektūrą superkompiuteriai nuo senovės yra skirstomi į dvi esmines rūšis:

  • Vektoriniai - tai kur turi vieną ar kelis procesorius, kurie pasižymi ypatingai dideliu skaičiavimų pajėgumu, vykdant nuoseklias operacijas, kur iš vieno rezultato skaičiuojamas antras, iš antro trečias ir t.t. - t.y., neparalelizuojami duomenys. Čia kadaise rekordininkais tapo Cray gaminti kompiuteriai, o dabar matyt RISC-V architektūros.
  • Masyviai paraleliniai - tai kur turi dešimtis, šimtus ar tūkstnčius procesorių, kurie gali būti visai vidutiniški, tokie kaip įprastuose kompiuteriuose naudojami, ir naudojami skaičiuojant kokius nors paralelinius skaičiavimus, kur skirtingi rezultatai skaičiuojami nepriklausomai, paraleliai.

Teoriškai ir vienų, ir kitų kompiuterių maksimalus greitis yra naudojamų procesorių greitis padaugintas iš procesorių skaičiaus (taip gali būti, kai veikia paraleliniai skaičiavimai). Tačiau kadaise Seymour Cray atrasta teorema sako, kad vidutinis statistinis paralelinių skaičiavimų kiekis vidutiniuose uždaviniuose tebus apie 1/2 iš visų skaičiavimų. Tai reiškia, kad paralelizmas leis išlošti tik labai specifiniais atvejais.

Praktiškai, ir vienų, ir kitų kompiuterių minimalus greitis yra pavienio procesoriaus greitis, vykdant nuoseklias operacijas, nes paralelizmas tokių operacijų nepagreitins. Tai reiškia, kad superkompiuteris su pigiais procesoriais tokius dalykus skaičiuos tuo pat greičiu, kaip ir koks nors buitinis kompiuteris, turintis tokį pat procesorių. Tai todėl rimtesni superkompiuteriai turi labai specializuotus procesorius, kurie kainuoja didelius pinigus, pvz., kokius nors RISC-V ar kaip senesniais laikais - kokius nors Alpha ar MIPS.

Išties gi visai aiškios ribos čia nėra, nes ir vektoriniuose paprastai naudojama daug procesorių, tegul ir specialiai kurtų, ir galingesnių, nes kitaip bus labai jau sunku kažką daug išlošti. Ir masyviai paraleliniuose superkompiuteriuose irgi bandoma naudoti pagal galimybę greitesnius, nes kitaip gaidys ant vektorinių skaičiavimų bus. Tai žodžiu, paprastai būna kažkur ant ribos viskas.

Kadangi paprasti procesoriai turi ne per daug galios, o galingi kainuoja per daug brangiai, tai dabar atsiranda ir gudravimų - naudojami grafiniai procesoriai, kurie būna greitesni, savo esme artimi vektoriniams procesoriams ir todėl dalimi operacijų gali lygintis su tais pat geriausiais vektoriniais procesoriais. Tai būna vat ir tokių sugudravimų, nes taip yra gudriau, nes ir pigiau, ir galingiau gaunasi.


Superkompiuteriai vs. mainfreimai

Kartais kyla klausimas, kuo superkompiuteris skiriasi nuo mainfreimo - tai atsakymas, kad gal ir nelabai kuo, nes kartais tai būna viena ir tas pat. Praktikoje visgi skirtumas yra tiesiog panaudojimo paskirtyje - mainfreimai yra skirti daugelio vartotojų paraleliniam aptarnavimui, veikia kaip specialūs serveriai, turintys itin didelį našumą ir skirti darbui su dideliais kiekiais sudėtingų duomenų, pvz., bankuose, kai reikia, kad rezultatas būtų greitas, nors užklausų skaitymui ir duomenų keitimui vyksta daug ir vienu metu. Žodžiu, daugiausiai visokios duomenų bazės, Cobol ir SQL.

Tuo tarpu superkompiuteriai praktikoje skirti darbui su pavieniu vartotoju, tik kad su itin dideliais skaičiavimais, ką nors modeliuojant, kai reikia apdirbinėti labai daug duomenų, bet tos užklausos eina ne paraleliai, o tiesiog daromos kaip uždaviniai. Tai vieną uždavinį paleidus, tas superkompiuteris gali skaičiuoti, pvz., valandą, o gal visą dieną, o gal ir kelias savaites. Žodžiu, visokia aerodinamika, meteorologija, branduoliniai tyrimai, biochemija ir panašiai.

Bet realiai tai ir šen, ir ten išties gali būti tie patys kompiuteriai, tiesiog paskirtis gali skirtis.