Eksakompuutritest
PS!
Siin üks tubli hiinlane hoolitseb praegu maailmas esimest kohta omava superkolaka tervise eest.
Kes veel ei tea igasuguste prefiksite slängi, siis eksa (exa) on see lühend, mis tuleb pärast koledat peta-t.
Õppige see selgeks ja
olete kohe natukene nagu ekspert arvutite valdkonnas, koos järgmiste
tähelepanuväärsete lühenditega:
Kilo tähistab 10**3 (ja siin kaks tärni astendamist).
Tuleneb kreeka sõnast
khiloi (1000).
Kunagi tähistas täht K ka 2**10 väärtust 1024, aga praegune standard KEELUSTAB kahe astmete
tähenduste kasutamist lühendeis
kilo, mega ... ja
soovitab veidraid "bi" keelseid prefikseid kibi (1024), mebi
(1024**2), gebi (1024**3), tebi (1024**4), pebi (1024**5), zebi (1024**6) ja
yobi (1024**7).
On teada legend "kavalast" targast, kes valitsejalt oma leiutise - malemängu - tasuks küsis viljaterasid - vaid üks malelauatäis, nii et 1 ruudule 1
tera, 2-le 2 tera, ...64 ruudule 2**63 tera.
Tasu suuruseks tuleks 16 zebi
viljaterasid miinus üks, teisisõnu 18,446,744,073,709,551,615 tera.
Ablas leidur jäi peast ilma tasu saamata.
Ja ilmselt lahkun siit kusagil sellel ajal või pisut hiljem, kui Maa
võimsaim arvuti arvutab mingites zebiflopsides või zettaflopsides (vt.
allpool), eeldatavalt omades sama koguse mälu (mõni zebi- või zettabait).
Aga jätkaks maagiliste prefiksitega:
Mega tähistab miljonit,
10**6 (ning ajaloolilselt veel üsna tihti tähistab 2**20) . Tuleneb kreeka
sõnast megas (suur) ja on praegu väga väikese mahu sünonüüm.
Giga on meile miljard
ja jänkidele biljon (10**9).
Mõnikord ikka veel ka
2**30.
Tuleneb ladina sõnast
gigas - gigant.
Tera on 10**12 ja
terabaidised kettad pole enam kellelegi mingi uudis. Tuleneb kreeka sõnast
"teras" - koletis.
Miks selline normaalne
ketta- või mälumaht "kole" on, jääb veidi arusaamatuks.
1000**5 ja 1000**6
vastavalt siis.
Peta elik 10**15
Petabaidid on mujal
ilmas juba täiesti tavaline salvestusühik. See tavasipelgate jaoks ehk jääbki
eksootikaks, aga serveri jaoks võiks see olla igapäevane elu.
Petaflopsid on suure arvuti
arvutusvõimsuse ühik.
Hiinlaste praegu
kõike isasem arvuti (vt. pildil) sai kätte 2014 suvel kusagil 30 petaflopsi,
s.t. 3*10**16 arvutust sekundis ja loodab järgmine aasta saada kätte 100
petaflopsi. Paraku on kolaka voolutarve praegu 25MW.
Unelmpiir exa 10**18
Eksaflopsideni
üritatakse jõuda konservatiivsete plaanide kohaselt kusagil 2019-2022 ja
optilist superarvutit ehitava firma Optalysus kohaselt 2020 optiliste meetodite
abiga.
Pisike analüüs viitab
aga sellele, et see plaan on suuremalt jaolt väga õhku täis asi.
Nii et tegelikult
mingeid väga kaalukaid alternatiive veel suuremate kolakate ehitamisele ei
paista olevat, aga praegu üle 3-4 järgu juurde ei ole võimalik saada tekkiva tohutu
voolutarbe tõttu.
Aga veel on varuks 2
lühendit. CGPM üldkonverents otsustas 1991 lisada prefiksi zetta (sõnast septo,
seitse, s aga oleks tekitanud segadust) ning yotta (sõnast octa, kaheksa, aga et
vältida o-d, mis tekitanuks ka segadust).
Zetta on siis 10**21
Zettaflopsid peaksid olema vajalikud kliimaarvutustel.
Yotta on ilmselgelt "varuks", sest "mine sa seda
Moore't tea", ja võrdub 10**24.
Keemikutele on see
muidugi jälle päris tavaline mõõtühik molekulide ülelugemisel, sest kooli
taibudele tuttav Avogadro arv on suurusjärgus 6.022*10**23 (mis on umbes
2**79).
Kuidas siis need
superkolakad neid flopse võtsid
Kiloflopsi kohta on
teada, et ENIAC töötas 5kHz peal (1946).
Megaflops võeti 1964
(CDC 6600).
Gigaflopsini läks sealt aega 21 aastat – 1985, btw, minu ülikooli lõpetamise aeg.
Teraflopsi rajajoon
saadi kätte 1996.
Petaflops võeti ära 2008.
Ja praegu on
hiinlastel siis 30 petaflopsi võetud ja veel 30 korda rohkem vaja kolakat
kasvatada – kiirendada ja ongi valmis tehtud eksakolakas.
Sellega võikski
“lühiülevaate” lõpetada teemal “eksaskaala” arvuti, kui
ei jääks painama LITHNE küsimus:
ei jääks painama LITHNE küsimus:
Kuhu aga need flopsid
on siis jäänud?
Oleme kõik kuulnud
Moore seadusest ja mega ja peta vahekord ütleb selgelt – aastate 1965 ja 2015
arvutusvõimsuste vahe on MILJARD korda.
Kujutlegem algul
vaimusilmas ühte inimest midagi ehitamas - ütleme müüri ja seejärel pangem seda tegema
miljard inimest.
Suure Hiina Müüri
pikkus olevat 8800 km, kõrgus 7 m jagu, laius 6 m.
Ümardame üles s.t.
pikkus kusagil 10**7, kõrgus 10, laius 10, kokku 10**9 kuupmeetrit. Üks inimene
paneb üsna kerge vaevaga müüri 1 m3 tellist.
Meie praegused
arvutusvõimsused võimaldaksid meile piltlikult kokku ehitada Hiina müüri
laadseid programseid imesid.
Mida aga ei ole, on need imed.
Meil on vaid natukene
paremad arvutid, kui oli 60-ndatel või 80-ndatel.
Eriti terav kontrastipuudus
vaevab 80-ndatel arvuti taga istunud inimesi, sest 4.77 MHz –ga tiksunud IBM PC
TÜ Füüsika Instituudis tundus mulle peaaegu täiuse tipuna, sest mitu aastat
olin vaevelnud ühe veel hullema kasti käes, mis ometi oli ka arvuti.
Ka selle arvutiga, kus oli 8 kilobaiti
operatiivmälu, sai arvutada Fourier pöördeid ja automatiseerida eksperimenti,
tõstes meie labori töö uuele kvalitatiivsele tasemele – enam ei pidanud käsitsi
midagi tegema, see väike kast juhtis sammmootoreid ja tegi muid imeasju ....
Aga mitu järku
võimekam arvuti tundus peaaegu unelmana.
See, praegune
legendaarne IBM PC tegi tollase programmvara abiga peaaegu kõike, mida tänanegi
arvuti. Jätame kõrvale uue ja tõeliselt uuendusliku nähtuse nimega Internet,
sest tõenäoliselt oleks see sellega ka hakkama saanud.
Graafika oli olemas,
kuigi viletsam, kui täna. Word ja temaga samaväärsed programmid olid olemas.
Isegi Autocad toimis. Kõvaketas, vist 40
Mb on praegu miniatuur, aga sinna mahtus kõik vajalik ära. Ja nii edasi...
On selge, et selle aja jooksul on toimunud oluline progress. Aga see
progress oodatust tunduvalt väiksem, pigem aeglane võimaluste lisandumine.
Mitte üheski
teises vallas ei ole progress niivõrd mittelineaarne selle olulisema
sisendparameetri - flopside suhtes.
Paradoksaalne, et selles on kõik ühel meelel: Flopsid on väga tähtis parameeter, kuigi
meie ajavõite tema suurendamine ei tähista.
Oleks loomulik, kui
1000 töölisega saaks teha kui mitte 1000 korda rohkem, siis vähemasti 100 korda
enam asju.
Kahjuks 3 GHz, seda
NELJATUUMSE protsessoriga, ja 5Mz vahe ei ole isegi mitte 100-kordne, võimalusi on tunduvalt vähem lisandunud, kui vähemalt tollal, 1987, oleks eeldanud.
Üks võimalus selle
mittelineaarse kasvu või pigem kasvu elimineerimise tendentsi uurimisel oleks
arvuti "pudelikaelade" analüüs. Isegi siin on varsti kõik väidetavad
pudelikaelad pea kadunud - näiteks aeglane kõvaketas, mida nüüd asendab SSD.
Kuna kõik ülejäänud pudelikaelad
arvuti jõudluses on varsti elimineerunud, jäävad järgi 2 siiski veel
silmatorkavat asjaolu:
I Programmid,
tarkvara.
Kõige kisendavama ressursinappuse ajal, 60-ndad ja 70-ndate alguses,
on sündinud enamik praegu programmeerimist suunavaid juhtideid. Edasi on olnud
vaikus.
Moore'i seaduse
kuldaegadel (1975-2000) on juurutatud vaid objektorienteeritust, mis on küll mõnda mõtlemisviisi korrastanud, aga mitte mingil viisil revolutsioneerinud.
Kuldajaks
nimetan seda perioodi seetõttu, et ei olnud vaja peale transistori vähendamise
üldse mitte midagi teha ja sai tõsta taktsagedust, kõik muu võis jätta samaks,
k.a. programmeerimise paradigmad.
Paralleelsuse rakendamist ei ole
oluliselt edasi arendatud. Nii nagu need ideed suurte kolakate pealt
personaalarvutite valda tulid, nii nad seal suuremalt osalt on jäänud.
Funktsionaalne programmeerimine koguni lükati
kõrvale kui eksootika ja alles nüüd, Moore seaduse lõpu aegadel, läheb see
jälle moodi.
AI, tehisintellekti
uuringud, on tammunud paigal.
IBM Watson siiski ütleb, et NÜÜD ehk on aeg. Ja
jälle toimub see nihe mitte siis, kui ressursse on piisavalt, vaid siis, kui
pea lõppematuna tunduv ressursi juurdevool on peatumas.
II Raha - olemusliik, kõrvaldamatu pudelikael.
Iroonilis-tinglikult tähistab programmeerimismaailmas seda lühend M$. Selle firma "programmeerimiskeele"
Power Shell muutujad mdx algavad ka dollari märgiga - kogemata välja kukkunud
eneseirooniline äbarleiutis, nagu see keel tervikuna on (olemasoleva
skriptimiskeelega Js-ga võrreldes, mis aga kõrvale heideti).
See rahamasin siiski ühelt
poolt tingis või vähemalt soodustas Moore seaduse toimimist.
Teiselt poolt, et see
tõesti toimiks majanduslikult, oli vajadus oma turgu kasvatada ja hiljem hoida.
Kui turg küllastus, oli vaja kasutusele võtta muud kavalused, et tarbija ostaks uue
arvuti.
Miks mitte ühe kavalusena kasutada mõtet, et vanad arvutid vahest ei
pea kõike väga kiiresti tegema (kuigi võiksid?).
Kõik tuntud muud
nipid on ka käiku läinud - näiteks moe appitoomine. Lihtsalt sellel hooajal on
moes sellised suured kandilised ikoonid. Ja ajaga kaasaskäivad tibid ostavad
enesele uue moodsa roosa õunaarvuti või ifööni.
Kuigi Apple kindlasti
turundab ka hästi, ei ole teatud piirini seal mindud ja me näeme välja
joonistuvat täiesti selget vahet M$ vahel ja õunaarvutite vahel. Minu Mac ei ole mind alt vedanud, hänginud kiiretel aegadel ja raisanud tühjalt minu aega….
KUI programmeerimise
pudelikaelu saaks leevendada ja Moore seaduse lõppemine seda ilmselt teeb, siis
kapitalismi olemusliku pudelikaela - ahnuse - leevendamiseks on vaja Linuxi
laadse idealismi taassündi ja mitu korda enama võimendusega, kui ta seda kunagi
oli.
See tähendab mingit
uut tüüpi sotsiaalset mõtlemist ja siin ma täna peatun, sest ma olen eemaldumas
poliitikast vähemalt praeguseks hetkeks.
Ükskord saab see õudus läbi:
Aga läheme nüüd
tagasi rõõmsamate momentide juurde, s.t. selle juurde, et pärast Moore seaduse
lõppemist lõpuks ometi saab keskenduda programsetele pudelikaeltele.
Nimelt ei pääse eksa
ja zettaarvutite puhul enam üle ega ümber voolutarbimisest.
Ka praegu oleks
eksaarvuti ehitamine täiesti teostatav, aga see võtaks minimaalselt 500 MW
võimsust. Praegune suurim kolakas Hiinas tarbib "vaid" 24 MW.
Oletame optimistlikult, et voolutarvet saaks
alandada 5-10 korda ja eksaarvuti tehakse valmis, mis "vaid" 50 MW
voolu võtaks. Siis 20 eksaflopine jurakas võtaks voolu ikkagi 1 GW ja siin
kusagil on isegi suurriikidel piir ees, sest ... Eesti kõige suurem voolutarve
ajalooliselt on senini 1.6 GW!!
Inimkonnal peavad
olema ikkagi väga põhjendatud vajadus zettaarvutit teha, kui see kulutab sama palju elektrienergiat, kui võiks olla suurriigi energiatarbimine.
Enne seda, kui see
vajadus üldse tekiks, tuleks programmeerijatel õppida niivõrd paralleelsete
kastide korralik programmeerimine selgeks.
Selgub nimelt, et
enamasti seisab kolakate kogu praegunegi võimsus jõude, sest programmid
lihtsalt ei ole piisavalt paralleelsed. Sellel lihtsalt põhjusel ei käi keegi
enne välja raha sellise monstrumi rajamiseks, kui ei ole põhjani läbi uuritud
võimalused nii voolutarbe kui ka tarbitava arvutusvõimsuse alandamiseks ja
olemasoleva maksimaalseks kasutamiseks.
Järelikult on
järgmiste astmete võtmisel täiesti kriitilise tähtsusega kaks olulist asja -
voolutarve ja programmeerimise paradigmad. Mõlema peavad muutuma, muidu
zettaprefiksini ei ole võimalik jõuda.
Lihtsurelikele võivad
siin terenduda üsna tänuväärsed asjad. Lõpuks saavad OS-d korda, sest suure
kolaka molutamine on liiga kallis lõbu ja tõenäoliselt saab kõrgetelt
kolakatelt allaporditud OS-d korralikult käima ka väikeste kastide peal. Just nii on ajalooliselt toimitud 80-ndatet: UNIX oli suurte süsteemide OS
ja sellel põhinevad personaalarvutite OS-d on hästi välja kukkunud (MAC,
LINUX-id), põlve otsas arendatu osutus ja jäi ja jääb käkiks (M$).
Aga need väikesed
kastid enam ei varsti olegi nii väikesed, vaid nende kastide kogu võimsus sõltub vaid
selle kasutaja võimekusest oma arvutitele lisagraafikaprotsessoreid (mis moodsamas
mõttes on lihtsalt kaasprotsessorid) osta.
Kui varematel aegadel
näiteks 100 või 1000 paralleelse protsessi kasutamine võis jääda vaid
unistuseks, võib seda GPU-d kasutades (Graphic Processing Unit) kindlasti teha.
Tavalised
protsessorid võivad omada vaid 4, maksimaalselt 8 tuuma,
mis küll on väga
sõltumatud protsessorid ühes kiibis. Seevastu graafikaprotsessoritel on juba
praegu kasutada sadu paralleelseid protsessoreid korraga. Ilmselt see tendents
veel süveneb ja kui kellelgi on vaja rohkem rehkendust, tuleb osta lihtsalt
"graafika"mooduleid, mis pigem on kaasprotsessorid. Juba praegu saab
nendega arvutusrohketes rakendustest 10 korda kiirust juurde.
0 Comments:
Postita kommentaar
<< Home