KAUNO TECHNOLOGIJOS UNIVERSITETAS...

17
KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEMŲ KATEDRA Specializuoti mažai energijos eikvojantys skaičiavimai Referatas Atliko: doktorantė Rima Linaburgytė Priėmė: Prof. Habil. Dr. Rimantas Šeinauskas Kaunas, 2015

Transcript of KAUNO TECHNOLOGIJOS UNIVERSITETAS...

Page 1: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

KAUNO TECHNOLOGIJOS UNIVERSITETAS

INFORMATIKOS FAKULTETAS

INFORMACIJOS SISTEMŲ KATEDRA

Specializuoti mažai energijos eikvojantys skaičiavimai

Referatas

Atliko: doktorantė Rima Linaburgytė

Priėmė: Prof. Habil. Dr. Rimantas Šeinauskas

Kaunas, 2015

Page 2: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

Turinys

1. Įžanga............................................................................................................................................. 3

2. Energijos suvartojimo problema .................................................................................................... 4

3. Kompiuteriniai skaičiavimai ir jų rūšys......................................................................................... 4

4. Amdahl’o dėsnis ............................................................................................................................ 7

5. Lygiagrečių kompiuterių architektūra ........................................................................................... 8

6. Lygiagrečių kompiuterių atmintis ................................................................................................. 9

7. Lygiagretieji kompiuteriai ........................................................................................................... 11

8. Lygiagretieji algoritmai ir jų vertinimo kriterijai ........................................................................ 14

9. Literatūra ..................................................................................................................................... 16

Page 3: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

3

Įžanga

Energija yra pagrindinis faktorius ribojantis specializuotų kompiuterinių sistemų plėtrą.

Tobulėjant technologijoms, energijos sąnaudos vis didėja, tačiau esminė problema yra ne tik per

trumpas kompiuterių ar išmanių prietaisų gyvavimo laikas ar augantys energijos sunaudojimo kaštai,

bet ir didėjantis tiek atsinaujinačių, tiek neatsinaujinačių žemės resursų poreikis, todėl pradėta ieškoti

būdų, kaip sukurti pažangesnes, mažiau energijos eikvojančias technologijas arba patobulinti esamas.

Vienas iš mažiau energiją eikvojančių būdų yra lygiagretieji bei paskirstytieji skaičiavimai.

Dažnai kompiuteriniams skaičiavimams paspartinti yra įdiegiami į kompiuterio konstrukciją daugiau

nei vienas procesorius. Tokie daugiaprocesoriniai kompiuteriai šiais laikais yra neatsiejami nuo

daugiabranduolinių procesorių, kurie gali efektyviau vykdyti užduotis, nes keli procesai gali būti

atliekami tuo pačiu metu. Lygiagrečiųjų skaičiavimų metu padalintos užduoties žingsniai yra

vykdomi kelių procesorių vienu metu, o ne iš eilės, kaip tai daroma nuosekliųjų skaičiavimų metu.

Be to, daugiaprocesoriniai kompiuteriai gali naudoti vieną ar kelis komandų srautus ir tos komandos

gali naudoti vieną ar kelis duomenų srautus bei turėti tam tikrą lygiagrečiųjų kompiuterių tipui skirtą

atmintį.

Šiais laikais egzistuoja daugelis lygiagrečių kompiuterinių sistemų tokių, kaip

superkompiuteriai, klasteriai, gridai, debesų kompiuterija ir pan. Tokios kompiuterinės sistemos yra

sukurtos atlikti ypač sudėtingiems daug resursų reikalaujantiems skaičiavimams, kurie atliekami taip

greitai, kaip tai leidžia šiuo metu esančios pažangiausios technologijos. Didžioji dalis galingiausių

pasaulyje kompiuterių yra klasteriai, kuriuos gamina žymiausios kompanijos: HP, IBM, Cray

korporacija ir t.t.

Page 4: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

4

1. Energijos suvartojimo problema

Energija yra pagrindinis faktorius ribojantis specializuotų kompiuterinių sistemų plėtrą.

Tobulėjant technologijoms, energijos sąnaudos vis didėja, tačiau esminė problema yra ne tik per

trumpas kompiuterių ar išmanių prietaisų gyvavimo laikas ar augantys energijos sunaudojimo kaštai,

bet ir didėjantis tiek atsinaujinačių, tiek neatsinaujinačių žemės resursų poreikis. Be to, dauguma

energijos išgavimo būdų eikvoja ne tik neatsistatančius žemės išteklius, bet ir yra žalingi aplinkai ir

tuo pačiu žmonėms, todėl pradėta ieškoti būdų, kaip sukurti pažangesnes, mažiau energijos

eikvojančias technologijas arba patobulinti esamas.

Šiame darbe nagrinėjami kompiuteriniai skaičiavimai, nuo kurių greičio priklauso ir

kompiuterio sunaudojama energija.

2. Kompiuteriniai skaičiavimai ir jų rūšys

Norint nagrinėti kompiuterinius skaičiavimus, pirmiausia, reikia suprasti pačią kompiuterio

architektūrą. Pats svarbiausias kompiuterio įtaisas yra procesorius, apdorojantis duomenų srautus ir

atliekantis įvairius veiksmus. Procesorius dar vadinamas aritmetiniu arba loginiu įtaisu. Valdymo

įtaisas išrenka iš atmintinės komandų seką, sukuria valdymo signalus, koordinuoja kitų kompiuterio

įrenginių darbą ir pan. Operacijų įtaisas atlieka aritmetinius ir loginius veiksmus su duomenimis. Iš

kitos pusės, procesoriaus sąvoka yra bendrinė, reiškianti gana abstrakčią informacinių sistemų rūšį,

atliekančią manipuliacijas su duomenimis, tačiau dažniau naudojama kalbant apie skaičiavimams

skirtus procesorius, realizuotus, kaip aparatiniai įrenginiai (dažniausiai – mikroprocesoriai). Dažnai

kompiuteriniams skaičiavimams paspartinti yra įdiegiami į kompiuterio konstrukciją daugiau nei

vienas procesorius. Tokie kompiuteriai, kuriuose įmontuoti bent du procesoriai yra vadinami

daugiaprocesoriniais. Daugiaprocesoriniai kompiuteriai šiais laikais yra neatsiejami nuo

daugiabranduolinių (angl. multi-core) procesorių. Daugiabranduoliniame procesoriuje vienoje silicio

pagrindo plokštėje yra integruoti du ar daugiau mikroprocesorių, atliekančių tas pačias arba skirtingas

funkcijas [3]. Tokie daugiaprocesoriniai kompiuteriai, kurių kiekvienas procesorius yra

daugiabranduolinis, gali efektyviau vykdyti užduotis, nes keli procesai gali būti atliekami tuo pačiu

metu. Procesas yra programos vykdomų veiksmų seka, kuriems skirstomi kompiuterio ištekliai.

Procesai gali vienas su kitu keistis duomenimis, vienas procesas gali inicijuoti kitą ir pan.

Page 5: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

5

Energijos suvartojimas luste yra apskaičiuojamas pagal formulę:

𝑃 = 𝐶𝑉2𝐹,

kur 𝐶 yra elektrinė talpa, 𝑉 - įtampa, o 𝐹 - procesoriaus dažnis [3]. Akivaizdu, kad didėjant

procesoriaus dažniui, didėja ir suvartojamos energijos kiekis procesoriuje. Jei Moore’o dėsnis, pagal

kurį procesorių sparta kas 18 mėnesių padidėja 2 kartus, galios ir toliau, tai 2020 m. kompiuterio galia

prilygs žmogaus smegenų galiai, o 2060 m. kompiuterio galia prilygs visų Žemėje gyvenančių

žmonių smegenų galiai. Kuo daugiau tranzistorių viename ploto vienete, tuo didesnė gali būti

mikroschemos sparta, tačiau Moore'o galiojimo pabaiga nuolat neramina puslaidininkių industriją:

tranzistoriai mažėja, kartu atsiranda fundamentalios problemos, tokios kaip energetinis efektyvumas

ir srovės nuotėkių augimas. Visa tai labai apsunkina naujų technologinių procesų kūrimą. Per pastarąjį

dešimtmetį duomenų kiekiai augo eksponentiškai, kas verčia ieškoti naujų būdų, kaip tuos duomenis

apdoroti kompiuterinėse sistemose realiu laiku. Lyginant informacijos augimą su Moore'o dėsniu

2012 - 2020 metais (žr. pav. 1), akivaizdu, kad duomenys auga sparčiau nei skaičiavimo pajėgumas,

vadinasi, laikui bėgant informacijos bus diaugiau nei bus įmanoma ją apdoroti [1].

1 pav. Duomenų augimas ir Moore'o dėsnis

Vienas iš būdų didinančių skaičiavimo efektyvumą ir yra papildomos įrangos panaudojimas,

įmontuojant daugiau procesorių ar juose esančių branduolių. Tokiu būdu skaičiavimai gali būti

atliekami lygiagrečiai keliuose įrenginiuose.

Page 6: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

6

Nuoseklieji skaičiavimai (angl. serial computing) yra toks skaičiavimo būdas, kai

kompiuteriniai skaičiavimai vykdomi viename skaičiavimo įrenginyje CPU (angl. central processing

unit), o visa užduotis yra padalijama į žingsnius (instrukcijas) 𝑡1, 𝑡2, ⋯ , 𝑡𝑁, kurie atliekami vienas po

kito, t.y. nuosekliai. Nuoseklaus skaičiavimo metu tam tikru laiko momentu yra vykdoma tik viena

instrukcija. Nuoseklaus skaičiavimo schema pateikta 2 paveiksle. Toks skaičiavimo būdas vyravo,

kol nebuvo sukurti superkompiuteriai, kompiuterių klasteriai ir daugiabranduoliniai procesoriai [3].

2 pav. Nuosekliųjų skaičiavimų schema

Lygiagretieji skaičiavimai (angl. parallel computing) - tai daug kompiuterinių skaičiavimų,

kurie atliekami vienu metu. Lygiagrečių skaičiavimų principas yra sudėtingesnis už nuosekliuosius

skaičiavimus, nes padalintos užduoties žingsniai yra atliekami vienu metu kelių procesorių, o ne iš

eilės [3]. Lygiagretaus skaičiavimo schema pateikta 3 paveiksle.

3 pav. Lygiagrečiųjų skaičiavimų schema

Page 7: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

7

3. Amdahl’o dėsnis

Amdahl’o dėsnis teigia, kad spartinimo koeficientas 𝑆 yra apibrėžiamas tokia formule:

𝑆 =1

1 − 𝑃,

čia 𝑃 yra ta algoritmo dalis, kuri vykdoma lygiagrečiai [3].

Iš šio teiginio galima daryti tokias akivaizdžias išvadas:

Jei 𝑃 = 0 (algoritmas vykdomas tik nuosekliai), tai 𝑆 = 1.

Jei 𝑃 = 1 (algoritmas vykdomas tik lygiagrečiai), tai teoriškai 𝑆 = ∞.

Jei 𝑃 = 0,5 (pusė algoritmo yra vykdoma lygiagrečiai), tai maksimali spartinimo

koeficiento reikšmė 𝑆 = 2, vadinasi tokiu atveju algoritmas yra vykdomas dvigubai greičiau

negu tada, jei jis būtų vykdomas tik nuosekliai. Spartinimo koeficiento priklausomybės nuo

lygiagrečiai vykdomos algoritmo dalies grafikas pateiktas 4 paveiksle. Matome, kad didėjant

procesorių skaičiui, spartinimo koeficiento reikšmė 𝑆 didėja eksponentiškai.

4 pav. Spartinimo koeficiento priklausomybė nuo lygiagrečiai vykdomos algoritmo dalies

Svarbu žinoti, kaip pagreitės algoritmo realizavimas, jei uždavinį spręsime naudodami daugiau

procesorių. Spartinimo koeficientas yra apskaičiuojams pagal tokią formulę:

0

1

2

3

4

5

6

7

8

9

10

0% 10% 20% 30% 40% 50% 60% 70% 80% 90%

Spar

tin

imo

ko

efic

ien

tas,

S

Lygiagrečiai vykdoma algoritmo dalis

Page 8: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

8

𝑆 =1

𝑃𝑁 + (1 − 𝑃)

,

čia 𝑁 yra procesorių skaičius, o 𝑃 yra ta algoritmo dalis, kuri vykdoma lygiagrečiai. Dažnai ši

formulė naudojama norint apskaičiuoti teoriškai maksimalią spartinimo koeficiento reikšmę, kai

naudojama daugiau nei vienas procesorius. 5 paveiksle pateiktas spartinimo koeficiento 𝑆

priklausomybės nuo procesorių skaičiaus 𝑁 grafikas.

5 pav. Spartinimo koeficiento priklausomybė nuo procesorių skaičiaus, kai lygiagrečiai

vykdoma algoritmo dalis yra atitinkamai lygi 0,5; 0,75; 0,9; 0,95

4. Lygiagrečių kompiuterių architektūra

Egzituoja skirtingos lygiagrečių kompiuterių klasifikacijų variacijos. Viena populiariausių

klasifikacijų yra Flyno taksonomija (angl. Flynn‘s taxonomy). Flynas klasifikavo daugiaprocesorinių

kompiuterių architektūras pagal tai, ar jie naudojo vieną ar kelis komandų srautus (angl. instruction

stream) ir pagal tai, ar tos komandos naudojo vieną ar kelis duomenų srautus (angl. data stream)

[3,4]. Kiekviena dimensija, t.y. komandų srautas ir duomenų srautas, gali įgyti vieną iš dviejų būsenų:

vienas (angl. single state) arba daug (angl. multiple state). Flyno taksonomija pateikta 6 paveiksle.

0

2

4

6

8

10

12

14

16

18

20

1 2 4 8

16

32

64

12

8

25

6

51

2

10

24

20

48

40

96

81

92

16

38

4

32

76

8

65

53

6

Spar

tin

imo

ko

efic

ien

tas,

S

Procesorių skaičius, N

0,5

0,75

0,9

0,95

Page 9: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

9

6 pav. Flyno taksonomija

VKVD (angl. SISD) - vienas komandų srautas ir vienas duomenų srautas. Tokia struktūra yra

paremtas nuoseklus kompiuteris. Tai seniausias kompiuterio tipas, kurio skaičiavimai atliekami

deterministiškai, vykdant tik vieną komandų ir duomenų srautą.

VKDD (angl. SIMD) - vienas komandų srautas ir daug duomenų srautų. Tai lygiagretaus

kompiuterio tipas, kai visi procesoriai vykdo tą patį komandų srautą, tačiau gali dirbti su skirtingais

duomenų srautais. Tai kompiuterio tipas, kurio skaičiavimai vykdomi sinchroniškai ir

deterministiškai. Dauguma modernių kompiuterių ypač tų, kurie turi grafinius proesorius (angl.

GPU), paremti VKDD veikimu.

DKVD (angl. MISD) - daug komandų srautų ir vienas duomenų srautas. Tai taip pat

lygiagretaus kompiuterio tipas, tačiau šiuo atveju kiekvienas procesorius apdoroja tą patį duomenų

srautą, tačiau tokia skaičiavimo struktūra nėra itin paplitusi.

DKDD (angl. MIMD) - daug komandų srautų ir daug duomenų srautų. Tai lygiagrečių

kompiuterių tipas, kai kiekvienas procesorius gali vykdyti skirtingą komandų ir skirtingą duomenų

srautą. Pats vykdymas gali būti tiek sinchroniškas, tiek nesinchroniškas, tiek deterministinis, tiek

nedeterministinis. Į šią kategoriją patektų daugiaprocesoriniai kompiuteriai, superkompiuteriai ir pan.

5. Lygiagrečių kompiuterių atmintis

Išskiriamos trys pagrindinės lygiagrečių kompiuterių atminties rūšys: bendroji, paskirstytoji ir

mišri atmintis.

Page 10: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

10

Bendrosios atminties pagrindinė savybė yra ta, kad procesoriai gali veikti nepriklausomai,

tačiau jie naudojasi tuo pačiu atminties šaltiniu, o tam tikros dalies atminties pasikeitimai, atsiradę

dėl vieno procesoriaus įtakos, yra prieinami visiems kitiems likusiems procesoriams. Bendroji

atmintis yra skirstoma į dar dvi rūšis pagal atminties prieigą - nekintančiąją (angl. uniform memory

access (UMA)) ir kintančiąją atminties prieigą (angl. non-uniform memory access (NUMA)). Bendrąja

atmintimi su nekintančia prieiga naudoja identiški procesoriai, kurių prieiga ir prieigos laikai prie

atminties yra visiškai vienodi, o bendrosios atminties su kintančia prieiga atveju tiek prieiga, tiek

prieigos laikai atskirų procesorių gali skirtis [3]. Bendrosios atminties tiek su nekintančia, tiek su

kintančia prieiga schemos pateiktos 7 paveiksle.

7 pav. Benroji atmintis su nekintančia ir su kintančia prieiga

Paskirstytosios atminties lygiagrečiajame kompiuteryje kiekvienas procesorius gali tiesiogiai

perskaityti ir įrašyti tik jo lokaliojoje atmintyje esančius duomenis, todėl jie veikia nepriklausomai

vienas nuo kito. Jei procesorius atlieka pakeitimus savo lokaliojoje atmintyje, tai tie pasikeitimai

nedaro įtakos kitų procesorių lokalios atminties pasikeitimams. Procesoriai bendrauja tarpusavyje

siųsdami vienas kitam pranešimus. Paskirstytosios atminties schema pateikta 8 paveiksle.

8 pav. Paskirstytoji atmintis

Page 11: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

11

Didžiausi ir greičiausi kompiuteriai pasaulyje turi tiek bendrosios, tiek paskirstytosios atminties

savybių. Mišrios atminties struktūra pateikta 9 paveiksle.

9 pav. Mišrioji atmintis

6. Lygiagretieji kompiuteriai

Egzistuoja daugelis lygiagrečių kompiuterinių sistemų tipų, pavyzdžiui: superkompiuteriai,

klasteriai, gridai, debesų kompiuterija ir t.t.

Superkompiuteriai - tai kompiuteriai, sukurti atlikti skaičiavimus taip greitai, kaip tai leidžia

tuo metu esančios pažangiausios technologijos. Šie kompiuteriai naudojami atlikti ypač sudėtingiems

daug resursų reikalaujantiems skaičiavimams, todėl šiuolaikiniuose superkompiuteriuose paprastai

naudojami lygiagretūs skaičiavimo algoritmai, kuomet tą patį uždavinį vienu metu sprendžia daugelis

procesorių, kurių skaičius gali svyruoti nuo kelių šimtų iki tūkstančių.

Superkompiuterių eros pradžia galima laikyti 1976 metus. Tais metais buvo sukurta pirma

vektorinė sistema Cray 1 (vektorinė sistema savo pavadinimą gavo už duomenų struktūros saugojimą

sistemos atmintyje, vektoriaus pavidalu). Rezultatai, gauti su programų rinkiniu sukurtu tai sistemai,

buvo žymiai geresni už bet kokio kito tuo metu egzistuojančio kompiuterio rezultatus, ir sistema gavo

superkompiuterio vardą [5].

Pagal oficialų greičiausių superkompiuterių sąrašą jau ketvirtą kartą iš eilės Kinijoje sukurtas

Tianhe-2 užima pirmąją vietą. Šis kompiuteris nuo 2013 m. laikomas greičiausiu kada nors sukurtu

kompiuteriu. Maksimali pasiekta sparta yra 33,862 petaflops/s (kvadrilijonai skaičiavimų per

sekundę), o teoriškai galima pasiekti netgi 54,902 petaflop/s, tačiau šis superkompiuteris suvartoja

net 17808 kW energijos. Be to, šiam kompiuteriui aušinti reikalingos labai galingos aušinimo

sistemos [5].

Page 12: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

12

Klasteriai (angl. computer clusters) - tai spartaus ryšio kanalais sujungtų kompiuterių grupė,

kuri vartotojo požiūriu veikia kaip vieningas įrenginys (žr. 8 pav.) [3].

Kompiuterių klasteriai yra trijų tipų:

1. Aukšto skaičiavimų pajėgumo klasteris, paskirstantis skaičiavimo uždavinį klasterio

mazgams, taip sutrumpindamas uždavinio skaičiavimo trukmę.

2. Aukšto patikimumo klasteris, kuris plačiai naudojamas duomenų centruose serverinių

sistemų patikimumui didinti.

3. Tinklo apkrovos balansavimo klasteriai, kurie naudojami didelius duomenų srautus

apdorojančiose kompiuterinėse sistemose [4].

Kiekviename klasterio mazge veikia sava OS kopija. Mazgas gali būti paprastas kompiuteris

arba multiprocesorinis kompiuteris. Klasterį sudarantys kompiuteriai gali turėti skirtingas

konfigūracijas, t.y. skirtingą procesorių skaičių, skirtingą branduolių skaičių, skirtingos talpos

atmintis ir diskus. Klasterio mazgai gali būti sujungiami naudojant įprastas jungimo į tinklą

priemones (Ethernet, FDDI, Fibre Channel) arba specialius nestandartinius sujungimus. Tokie

sujungimai įgalina mazgus bendrauti tarpusavyje nepriklausomai nuo išorinio tinklo tipo [3]. Tipinė

klasterio schema pateikta 10 paveiksle.

Elektros energijos suvartojimo kiekis auga kartu su klasterio dydžiu.

10 pav. Tipinė klasterio schema

Didžioji dalis galingiausių pasaulyje lygiagrečių kompiuterių yra klasteriai, kuriuos pagamino

žymiausios kompiuterinių sistemų gamintojos. Kompanija HP yra pirmaujanti pagal kompiuterinių

sistemų gamybos apimtis (35,6 %). Antroje vietoje yra IBM, pagaminanti 30,4 % sistemų. Cray

korporacija smarkiai atsilieka nuo HP ir IBM, nes pagamina tik 12,3 % visų sistemų (žr. 11 pav.),

tačiau ji yra antroje vietoje pagal kompiuterinių sistemų galingumą. Kompiuterinių sistemų

galingumo pasiskirstymas pagal gamintoją pateiktas 12 paveiksle. Galingiausias kompiuterines

sistemas pagamina IBM - 28,2 % (87,143,814 GFlops). HP lieka trečioje vietoje (14,5 %) [5].

Page 13: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

13

11 pav. Galingiausių kompiuterinių sistemų gamybos apimčių pasiskirstymas pagal gamintoją

12 pav. Kompiuterinių sistemų galingumo pasiskirstymas pagal gamintoją

Gridą (angl. computer grid) sudaro daug įvairių kompiuterių, kurie naudoja skirtingos

architektūros procesorius, turinčius įvairią programinę įrangą, ir sujungtų kompiuteriniais tinklais.

Gridas yra tam tikra paskirstytojo skaičiavimo forma. Tam tikslui naudojamas „virtualus

superkompiuteris“, sudarytas iš daug kompiuterinio tinklo pagalba sujungtų kompiuterių, ir skirtas

atlikti sudėtingus paskirstytuosius skaičiavimus [4]. Paskirstytasis skaičiavimas – tai kompiuterinio

apdorojimo metodas, kurio metu skirtingos programos dalys tuo pačiu metu veikia keliuose

kompiuteriuose, ir skirtas didelio skaičiaus užduočių sprendimui. Paskirstytasis skaičiavimas yra

lygiagretaus skaičiavimo tipas, tačiau pastarasis terminas labiau apibrėžia skaičiavimą, kurio metu

Page 14: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

14

skirtingos programos dalys tuo pat metu veikia keliuose procesoriuose, kurie yra to paties

kompiuterio dalis. Nors abu skaičiavimo tipai reikalauja, kad programa būtų sudalinta į segmentus,

paskirstytam skaičiavimui dar reikia įvertinti skirtingas aplinkas, kuriose veikia atskiros programos

dalys, pavyzdžiui, atskiri kompiuteriai tikriausiai gali turėti skirtingas failų sistemas ir skirtingus

aparatinės įrangos komponentus [4]. Gridai yra išskiriami iš kitų aukšto našumo skaičiavimo

infrastruktūrų, tokių kaip klasteriai, tuom, kad grido kiekvienas mazgas atlieka skirtingą užduotį.

Gridai gali jungti ir geografiškai labai nutolusius kompiuterius.

Kadangi dauguma iš gridų sudaryti iš paprastų klasterių, tai visi jie turi tas pačias elektros

energijos suvartojimo problemas kaip ir klasteriai.

Debesų kompiuterija (angl. cloud computing) – paslaugos, kurioms teikti reikalingas

kompiuteris arba kitas elektroninis prietaisas turintis interneto ryšį. Debesį sudaro programos, kurių

nereikia įdiegti į kompiuterį, asmeninių bylų bei katalogų talpinimas ir kitos informacinės

technologinės naujovės. Faktiškai debesų kompiuteriai yra aukštesnio lygio gridai. Debesų

kompiuterija leidžia visur, patogiai, pagal poreikį per tinklo prieigą naudotis bendrais kompiuteriniais

ištekliais, juos valdant su minimaliu paslaugų tiekėjo įsikišimu. Duomenų centrai užpildomi

dedikuota serverine įranga, kur užtikrinamas elektros energijos tiekimas, pastovus interneto ryšys,

serverinės įrangos kondicionavimas, programinės įrangos stabilus veikimas [4].

Išskiriamos trys debesų rūšys:

vieši (prisijungti ir naudotis gali bet kas);

privatūs (prisijungti ir naudotis gali tik tam tikri vartotojai);

hibridiniai (naudojami privatūs, o prireikus daugiau resursų, naudojami ir vieši debesys) [3].

7. Lygiagretieji algoritmai ir jų vertinimo kriterijai

Algoritmas yra tiksliai apibrėžta skaičiavimo procedūra, kuria imdami pradinius duomenis ir

atlikę baigtinį skaičių operacijų, gauname rezultatus. Skaičiavimo procedūrą galime suprasti kaip

kompiuterio programą, užrašytą viena iš programavimo kalbų. Algoritmo vykdymo laikas yra lygus

to algoritmo bazinių operacijų skaičiui. Taip apibrėžtas algoritmo vykdymo laikas priklauso ir nuo

konkretaus kompiuterio ypatybių. Nagrinėdami bet kokį algoritmą, įvertiname atliekamų aritmetinių

veiksmų skaičių arba bent svarbiausią jų dalį. Tada, remdamiesi šia informacija, tiksliai

prognozuojame algoritmo realizacijos laiką.

Page 15: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

15

Pagal sprendžiamus uždavinius lygiagretieji algoritmai skirstomi į kelias klases:

duomenų lygiagretumo tipo algoritmai, kurie naudojami tada, kai yra daug

apdorojamų duomenų, o tie duomenys paskirstomi porcijomis tarp visų galimų

kompiuterių ir apdorojami vienu metu;

funkcinio lygiagretumo algoritmai, kurie naudojami tada, kai apdorojant duomenis

reikia atlikti daug operacijų, nepriklausančių ir neįtakojančių viena kitos;

šeimininko – darbininkų tipo algoritmai, kurie gali būti taikomi visiems uždaviniams,

kuriuose galima sudaryti vienas nuo kito nepriklausomų darbų sąrašus. Vienas

procesas yra vadinamas šeimininku, kuris komunikuoja su daugeliu kitų procesų,

vadinamų darbininkais. Darbininkai informacija nesikeičia [4].

Kriterijus, su kuriuo galima palyginti kelis lygiagrečiuosius algoritmus, yra lygiagrečiojo

algoritmo spartinimo koeficientas, sprendžiant uždavinį su 𝑁 procesorių:

𝑆𝑁 =𝑇0

𝑇𝑁,

čia 𝑇0 yra laikas, per kurį uždavinys išsprendžiamas geriausiu nuosekliuoju algoritmu, o 𝑇𝑁 yra

laikas, kurį sugaišta lygiagretusis algoritmas, spręsdamas uždavinį su 𝑁 procesorių. Pastebėsime, kad

1T gali būti ir didesnis už 0T , nes geriausiąjį nuoseklųjį algoritmą ne visada pavyksta taip sėkmingai

realizuoti lygiagrečiuoju kompiuteriu. Šis koeficientas įvertina pagreitėjimą, kurį pasiekiame

spręsdami uždavinį lygiagrečiuoju algoritmu ir naudodami 𝑁 procesorių [2]. Būtent ši charakteristika

yra svarbi daugeliui lygiagrečiųjų kompiuterių vartotojų. Idealiu atveju tikimės, kad didėjant

procesorių skaičiui 𝑁 algoritmo spartinimo koeficientas 𝑆𝑁 didės tiesiškai, tačiau realiai

eksperimentuojant dažniausiai yra stebimas spartinimo koeficiento kitimas, pavaizduotas 5 paveiksle.

Kitas labai svarbus rodiklis yra lygiagrečiojo algoritmo efektyvumo koeficientas:

𝐸𝑁 =𝑆𝑁

𝑁.

Šis koeficientas parodo, kokią dalį procesorių pajėgumo pasitelkiame spręsdami uždavinį

duotuoju lygiagrečiuoju algoritmu [2].

Dar vienas kriterijus, kurį galima naudoti lygiagrečiųjų algoritmų vertinimui, yra procesorių

panaudojimo efektyvumas:

Page 16: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

16

𝑈 =1

𝑁∑

𝑡𝑖

𝑇𝑁,

𝑁

𝑖=1

čia 𝑁 – bendras skaičiavimams panaudotas procesų skaičius, 𝑡𝑖 – 𝑖-tojo procesoriaus skaičiavimų

(neapimant pranešimų siuntimo ir laukimo) laikas, 𝑇𝑁 – visas užduoties vykdymo laikas [2].

Literatūra

1. Duranton, D. Black-Schaffer, D. De Bosschere, K. Maebe J. The HIPEAC vision for

advanced computing in Horizon 2020. Seventh framework programme, 2013.

2. Čiegis, R. Lygiagretieji algoritmai. Vilnius, 2001.

3. Barney, B. Introduction to Parallel Computing. https://computing.llnl.gov/

tutorials/parallel_comp/– [Internete prieinama 2015-02-10].

4. Igumenov, A. Lygiagretieji ir paskirstytieji elektros energiją eikvojantys skaičiavimai.

Daktaro disertacija, Vilnius, 2012.

Page 17: KAUNO TECHNOLOGIJOS UNIVERSITETAS …kopustas.elen.ktu.lt/studentai/lib/exe/fetch.php?media=referatas... · Lygiagrečių kompiuterių architektūra Egzituoja skirtingos lygiagrečių

17

5. Strohmaier, E. Dongarra, J. Simon, H. Meuer, M. Top 500 The List. http://top500.

org/-[Internete prieinama 2015-02-10].