User talk:Sveelaid

From ICO wiki
Jump to navigationJump to search

Üldinfo

Pealkiri:"Superarvutid"

Autor: Sven Veelaid

Kursus: IT sotsiaalsed, professionaalsed ja eetilised aspektid

Õppejõud: Kaido Kikkas

Ajalugu

Üldiselt arvutite ajaloost

Masinad, mida me võime lugeda arvutiteks selle sõna tänapäevases üldlevinud tähenduses, said alguse 19. sajandil Inglise matemaatiku Charles Babbage töödest. Laialdaselt tänapäevaste arvutite isaks peetav Babbage tutvustas ideed programmeeritavast mehaanilisest arvutist. Tõsiasjas, et Babbage’i eluajal ühtegi tema kavandatud arvutusseadet valmis ei ehitatud võib leiutaja ebakompetentsuse asemel süüdistada rahastamise puudulikkust ning isiklikke konflikte. Olenemata sellest, et Babbage’i masinad olid mehaanilised ja töötanuks peamiselt auru jõul, sarnaneb nende arhitektuur siiski suuresti tänapäeva arvutitele: andmete ja programmi mälu eraldatus, juhistepõhine juhtimine, tingimuslausete kasutamine, eraldi sisendi-väljundi süsteem jne.

Üldiselt saab tänapäevased, see tähendab elektroonilised arvutid jagada kolmeks suureks põlvkonnaks:

1937 – 1946. Aastal 1937 ehitasid John V.Atanasoff ja Clifford Berry esimese digitaalse arvuti, mille nimi oli Atanasoff-Berry Computer (ABC). Selle ajajärgu arvuteid saatsid mitmesugused tehnoloogilised uuendused, ning peamiselt arendati neid arvuteid militaarkasutuseks. Peamiselt sõjatööstuse tarbeks tootmine hakkas muutuma aastal 1946 kui loodi Electronic Numerical Integrator and Computer (ENIAC).

1947 – 1962. Arvutid hakkasid vaakumtorude asemel kasutama transistoreid, mis omakorda tõstsid märgatavalt arvutite töökindlust. Selle perioodi vältel arendati välja üle 100 programmeerimiskeele. Salvestusseadmetena olid laialdaselt levinud magnetiline lint.

1963 – tänapäev. Leiutati kiibid, mis võimaldasid toota palju väiksemaid, töökindlamaid ning võimsamaid arvuteid, mis suudavad samaaegselt jooksutada mitut programmi. 1980 – loodi MS-Dos. 1981 – IBM tutvustas PC-d. Alguse said Microsoft Windowsi ja personaalarvutite võidukäik.

Lühidalt superarvutite ajaloost

Superarvutite ajalugu ulatub 1960 aastatesse kui Manchesteri ülikoolis loodi Atlas Computer, mida tol ajal peeti maailma kõige võimsamaks arvutiks.

Riistvara ja arhitektuur

Alates esimeste superarvutite loomisest 1960 aastatel on nende ehitamise üldised põhitõed mitmeti muutunud. Kui algusaastatel peeti jõudluse saavutamiseks olulisemaks innovaatilist disaini ja nn kohalikku parallelismi, siis hilisemad superarvutid tuginevad pigem standartsetele komponentidele ning nende suurele hulgale.

Massiivne tsentraliseeritud parallelism

1980 aastate jooksul kasvas nõudlus arvutusvõimsuse järele kiiresti ning sai alguse paljude protsessoritega superarvutite ehitamine, millel oli jagatud mälu ja failisüsteem. Tsentraliseeritud lähenemine tähendab, et hulk üksteisele lähedal asuvaid iseseisvaid arvutusüksusi on omavahel ühendatud läbi kesküksuse (clustering middleware), mis arvutite tööd juhib. See kesküksus on tarkvaraline kiht, mis võimaldab kasutajal kasutada mitmetest arvutitest koosnevat võrku kui ühte suurt arvutit. Juhul kui kasutatakse suurt hulka pooliseseisvaid arvutusüksusi (millega klasteri puhul ka tegu on), muutub äärmiselt oluliseks nende üksuste vahelise ühenduse kiirus ja paindlikkus.

Massiivne jaotatud parallelism

Jaotatud parallelism kasutab suurt hulka arvuteid, mis asuvad erinevates, teineteisest kaugel asuvates asupaikades. Tegu on oportunistliku lähenemisega, mis tähendab, et kesküksus, mis arvutite tööd juhib, saadab arvutile ülesande siis kui arvuti on vaba selle ülesandega tegelemiseks. Selle näiteks võib tuua süsteemi nimega BOINC (Berkeley Open Infrastructure for Network Computing), mis kasutab ülisuurte arvutusvõimsuste (mitme petaflopised kiirused) saavutamiseks ligi poolt miljonit arvutit üle maailma, mis kasutavad omavaheliseks suhtluseks internetti. Vaatamata suurte arvutusvõimsuse saavutamisele ei kajastu need kiirused üldiselt maailma võimsaimate arvutite edetabelites, kuna standartse LINPACKi jõudlustesti läbimine on raskendatud. Oportunistlik lähenemine võimaldab saavutada suuri arvutusvõimsusi, ei ole sellele sobivad kõik säärast jõudlust nõudvad ülesanded, eeskätt ülesanded, mis vajavad suurt võimsust korraga ja lühikese ajaperioodi jooksul (näiteks ilmastikuolude täpne ennustamine, vedelike dünaamika simulatsioonid). Seda eelkõige seetõttu, et kõik süsteemi ühendatud arvutid ei ole üldiselt kunagi korraga saadaval. Samuti seepärast, et arvuteid ühendava kanalina kasutatakse internetti, mille kiirus kõigub märgatavalt olenevalt arvutusüksuse asukohast maailmas, kellaajast, konkreetse riistvara spetsiifikast, kasutatavast tehnoloogiast jpm.

Jõudluse mõõtmine

Võimekus vs mahutavus (capability vs capacity)

Olenevalt superarvuti kasutusalast jagunevad nad üldiselt kaheks: arvutid, millel on suur võimekus ja arvutid, millel on suur mahutavus. Mahutavuse põhised superarvutid on loodud lahendama üheaegselt mõndasin keskmise suurusega ülesandeid või paljusid väikeseid ülesandeid olles seejuures suhteliselt säästlikud. Sageli ei peeta selliseid süsteeme superarvutiteks, sest need arvutid ei tegele ühe suure probleemi lahendamisega.

Vastandudes eelnevale on võimekusele orienteeritud arvutid loodud silmas pidades seda, et nad suudaksid lahendada ühte suurt ülesannet võimalikult lühikese aja jooksul. Taolisi süsteeme kasutatakse sageli ülesannetel, kus on vaja lühikese aja jooksul läbi töötada palju informatsiooni, näiteks ilmaennustus, mille puhul on olemasolevate andmete kiire analüüs kriitilise tähtsusega.

LINPACK jõudlustest

Üldiselt kasutatakse superarvutite võimekuse mõõtmiseks ühikut FLOPS ehk tehteid murdarvudega ühe sekundi kohta (floating point operations per second). Just sellele ühikule on orienteeritud ka LINPACK jõudlustest, kõige levinum ja tunnustatum test, mille alusel superarvutite jõudlust hinnatakse. LINPACKi testi käigus antakse arvutile sisendiks n*n suurune tabel, mis on täidetud lineaarvõrranditega kujul Ax = b. Arvuti kiiruse hindamiseks mõõdetakse aega, mis arvutil kulub kõikidele võrranditele lahendite leidmiseks.

Antud tulemusi kasutatakse edetabeli TOP500 loomiseks, kuhu on kantud 500 maailma võimsamat arvutit. LINPACKi testi eesmärk on anda hinnang arvuti jõudlusele eluliste ülesannete lahendamisel, kuid silmas tuleb pidada, et testi näol on tegemist lihtsustusega. See tähendab, et ükski eluline ülesanne ei koosne vaid lineaarvõrranditest. Samuti on test sattunud kriitika osaliseks, sest see hindab vaid ühte tüüpi ülesannete lahendamise kiirust, jättes arvestamata, et superarvutid luuakse üldiselt kindlaid ülesandeid silmas pidades, mistõttu on superarvutite arhitektuur erinev ning alati ei ole see orienteeritud ülesandele, mis nõuab lineaartehete lahendamist. Kokkuvõtvalt, teatud ülesanded nõuavad peale lineaarvõrrandite lahendamise suuremat mälumahtu, paremat täisarvude töötlemise võimet, võimsamat sisendi-väljundi süsteemi, kiiremat andmesidet vms.

Tennessee Ülikooli arvutiteaduste professori Jack Dongarra sõnul tegeletakse hetkel aktiivselt sellega, kuidas superarvutite testimist muuta nii, et see annaks arvuti omadustele laiema hinnangu. Alternatiividena on välja pakutud HPC Challenge jõudlustesti ja HPCG jõudlustesti, mis kasutavad kiiruse mõõtmisel ühikut TEPS (Traversed Edges Per Second). Kriitikast hoolimata on LINPACKi test jäänud kasutusse tänu sellele, et selle alusel on võimalik saada üks konkreetne number, mida on lihtne võrrelda teiste arvutite tulemustega.