14
Paralelno i distributivno računarstvo Miloš Brdar 169/08 

Paralelno i distributivno računarstvo

Embed Size (px)

Citation preview

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 1/14

Paralelno i distributivno računarstvo 

Miloš Brdar 169/08 

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 2/14

  Šta je paralelno računarstvo? 

• Do sada smo pretpostavljali da se algoritmi rješavaju korak po korak

po načinu  sekvencijalnog računarstva  koje reflektuje rad jednog

standardnog procesora u centralizovanom računarskom sistemu.

• Računanje  postaje paralelno ako grupa procesora (entiteta)

saraĎuje sa ciljem da riješi problem kontinuirano razmjenjujući podatke i rezultate.

• Algoritamska strategija mora se mijenjati  kako bi se iskoristile

mogućnosti  cijelog sistema, dok organizacija rada ne postane

kritična.

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 3/14

Osnovna pravila kooperacije 

• Paralelno ili distributivno računarstvo  mora poštovati  odreĎena 

osnovna pravila. Kao što  znamo, isti problem ne može  biti riješen 

upotrebom različitih algoritama, i najvažniji  kr i ter ijum efikasnos t i

 je upoređivanje operat ivnog vremena .

• Vrijeme T seq   će  biti vrijeme potrebno najboljem sekventnom

algoritmu za rješavanje datog problema.

• Prije razmišljanja o mogućem paralelnom rješenju, razmotrićemokoliko se operativno vrijeme može smanjiti upotrebom P > 1 entiteta.

• T par  ≥ T seq  /P  

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 4/14

Osnovna pravila kooperacije 

• Krećući od  paralelnog algoritma A, jedan entitet može obraditi sve

korake A sekvencijski, ciklično simulirajući rad P entiteta. Tačnije,

entitet bi trebalo da simulira jedan paralelni korak algoritma A

izvr šavajući, jednu za drugom, sve operacije P entiteta u tom

paralelnom koraku. Tako bi simuliranje A zahtijevalo P x T  par  ukupnovrijeme.

• P x T par   < T seq , što znači da bi novi sekvencijalni algoritam

zahtijevao vrijeme manje od Tseq  suprotstavljajući se tako hipotezi

da je T seq  vrijeme potrebno najboljem sekvencijalnom algoritmu.

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 5/14

Osnovna pravila kooperacije 

• Najspektakularniji uspjeh paralelnog i distributivnog precesuiranja  – 

funkcionisanje interneta. TakoĎe,  važno  je istaći  da povezivanje

većeg  broja računara  u jednu mrežu  znatno utiče  na promjene u

razvoju računarstva,  zbog ogromne snage koja se postiže 

upotrebom većeg  broja procesora (konkurentnih i udruženih),  iznatno efektnije upotrebe svakog od njih pojedinačno. Iako

standardna terminologija nije ustanovljena, uobičajeno  je da se

govori o mreži   (rešetki)  kao vrsti virtuelnog superračunara  koji se

sastoji od velikog broja trajno spojenih mašina  koje funkcionišu 

konkurentno kako bi riješili jedan zajednički zadatak.

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 6/14

Osnovna pravila kooperacije 

Noviji termin koji se odnosi na konkurentnu upotrebu računara je oblak , koji

predstavlja ogromnu infrastrukturu koja u glavnom prodaje računarske  resurse

različitih vrsta kroz mrežu.

Računarski korisnici 

Sajtovi

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 7/14

Osnovna pravila kooperacije 

• Dok su oblaci rezervisani korisnicima i vještim  istraživačima  za

plaćanje,  kao što  je Open Cirrus, drugi zanimljivi eksperimenti u

distributivnom računarstvu  mogu podrazumijevati udruživanje  na

privatnom nivou, dok god je potencijalni klijent priključen na internet.

• Npr. 2002. godine pojavio se neprofitabilni BOINC softver (Berkley

Open Infrastructure for Network Computing) na koji se mogao

besplatno spojiti bilo ko zainteresovan za odreĎeni naučni projekat

u kome distributivno računarstvo  može  biti od koristi. Proces je

podrazumijevao pristup računarima  drugih korisnika kroz mežu  i

upotreba njihove trenutno neiskorištene  snage. Dobrovoljci na tajnačin doprinose razvoju nauke i tehnologije i imaju priliku da doĎu 

do sopstvenih naučnih otkrića.

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 8/14

Paralelno računarstvo: odredjeni logičkiproblemi 

• Talgoritama u paralelnom i distributivnom okruženju nije još dovoljno

razvijena kao u sekventnom računarstvu i može se pojaviti odredjen

broj novih komplikacija.

• Kada se nekoliko različitih  entiteta poveže  u zajednički  rad,

često je veoma teško shvatiti šta se u samom procesu dešava, čak i

kada je komunikacijski protokol veoma dobro i detaljno poznat, na

isti način  kao što  je teško  pratiti običan  razgovor kada više  ljudi

govori u isto vrijeme.

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 9/14

Paralelno računarstvo: odredjeni logičkiproblemi 

Pretraživački  strojevi grade uspješnu  aplikaciju paralelnog

računarstva  jer pretražuju  internet sa ciljem sakupljanja strana,

izgradnje izuzetno velikih rječnika  i traženja  riječi  u njima

korištenjem ogromnog broja računara koji rade zajedno. To je razlog

zašto  takvi programi mogu da odgovore na naše  zadatke skorotrenutno. MeĎutim, ozbiljne i neočekivane poteškoće mogu se desiti

kada nekoliko entiteta funkcioniše konkurentno.

Tipičan primjer je situacija kada različiti entiteti imaju pristup nekim

zajedničkim  izvorima kroz upotrebu ekskluzivnog prava (exclusive

mode) i na taj način privremeno blokiraju pristup ostalim entitetima.

Primjer zastoja u exclusive mode-u

dva procesa P1 i P2  dobili su ekslkuzivni pristup

tabelama T1 i T2 , pri čemu pristup tabelama nijedozvoljen dok se procesi P1 i P2  

ne završe. Zastoj semože desiti ukoliko P1 treba odreĎene podatkesmještene u T2 , a P2  treba podatke smještene u T1.

Često se zastoj može predvidjeti i izbjeći, a u pojedinimsituacijama može biti spriječen samo ukoliko je čitav

redoslijed zahtjeva unaprijed poznatDining philosophers problem

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 10/14

Paralelno računarstvo: odredjeni logičkiproblemi 

• Čak  i ako je isti algoritam korišten  nekoliko puta na istom ulazu,

njegovo izvršenje  može  varirati svaki put proizvodeći  uvijek isti

rezultat, ali u različitim  vremenskim intervalima. Kao posledica

vrijeme izvršenja je samo idealna vrijednost algoritma, jer je data na

osnovu hipotetičkog  izvršenja,  gdje svaka operacija, uključujući  ikomunikaciju, zahtijeva samo jedan korak

Š

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 11/14

Distributivni svijet 

Osam tajnih agenata A, B, C, D, E, F, G, H  su

u kontaktu putem telefona koristeći  mrežu 

prikazanu na slici koja pretpostavlja 12

direktnih linija.

Komnikaciona mreža sa osam tačaka i sedamnaest linija, i potencijalni sistem od sedam sigurnih linija koje sve tačke 

povezuju jednu sa drugom.

Odabrani agent X  može bitiVOĐA, NA ČEKANJU ili

ZAVRŠEN  

Algoritamski redosljed RŠEN  

ako je x VOĐA:

pozvati sve susjede bez obzira na

sve dolazne pozive;

za svakog susjeda z koji prihvata

poziv:

dodaj vezu {x, z} sistemu sigurnihlinija;

status ZAVRŠEN; 

ako je x  NA ČEKANJU:

dodaj vezu {x, y} sistemu sigurnih

linija;

pozvati sve susjede, osim y, bez

obzira na sve dolazne pozive;

za svakog susjeda z koji prihvata

poziv:dodaj vezu {x, z} sistemu

sigurnih linija;

status ZAVRŠEN; 

ako je x 

ZAVRŠEN 

odbiti sve

dolazne

pozive.

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 12/14

Distributivni svijet 

• Uzećemo H  kao VOĐU i pretpostaviti da svaki agent poziva svoje susjede po abecednom redu.

Tako agent  A  prati redoslijed: B, C, D, E, F, H ; agent B  prati redoslijed: C, H, A; agent C  

redoslijed: D, E, H, A, B; itd. Pozivi koji dolaze u isto vrijeme preuzeti su proizvoljnim

redoslijedom. Pretpostavićemo da linije imaju zakašnjenje u uspostavljanju veze od jedan ili dva

(npr. sekund) i uzećemo u obzir sledeća dva ograničavajuća slučaja.

Slučaj 1. Linije u osmougaonom

grafiku imaju zakašnjenje od jedan,a druge od dva. Tako H   poziva A u

vremenu 1, A poziva B u vremenu

2, i lanac poziva se tako nastavljaduž osmougaonog grafikapozivajući G u vremenu 7.

Linije izmeĎu H  i njegovih susjeda

imaju vrijednost zakašnjenja jedan,a zakašnjenje svih ostalih linija jedva. U ovom slučaju H  poziva sve

ostale agente u vremenima 1-7 i

svi ostali pozivi su odbijeni.Drugačije sigurnosne linije bi bile uspostavljeneda je H

pozivao svoje susjede drugačijim rasporedom,čak i uz isto zakašnjenje u vezama. 

Da je A zvao svoje susjede redoslijedom: D, F, H, B, C ,

dobio bi D u vremenu 3, i F  u vremenu 5 i došao bi do 

njih prije nego agent H  i njegovi pozivi bi bili odbijeni.

Formira se drvo od n tačaka ima n   – 1 lukova, neophodan i

dovoljan broj da se bilo koji grafik spoji. Osim korjena, drvo

 je graĎeno od internih i vanjskih agenata, od kojih svaki znalinije do svojih „roditelja“, kao i linije do svoje „djece“, ako ihima.

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 13/14

Neki logički teški problemi 

Na koji način agenti saznaju da su sve njihove kolege dospjele u ZAVRŠNO  

stanje i da je sistem sigurnih linija spreman za upotrebu?

Da bi se to postiglo, sledeće  radnje se

moraju dodati protokolu. Informacija o

završetku  skuplja se od spoljnjih agenataprema korijenu preko sigurnih linija drveta,

kroz tzv. konvergentnu operaciju. Tada voĎa 

(sada korijen) postaje svjestan da su svi

agenti izvršili  svoj zadatak i u završnoj  fazi

emituje ovu informaciju svima, ponovo

koristeći lukove drveta.

Problem dva generala

Algoritam Transakcija

Na ATM terminalu T, korisnik U

zahtijeva da podigne iznos

novca €  iz banke B 

T šalje zahtjev M 1 = R (U, €  ) prema B; 

(nakon prijema zahtjeva i ukoliko

 je €  dostupno) 

 ) 

B šalje autorizaciju M 2  =

 A (U,€  ) prema T;

(nakon prijema M 2  ) 

T plaća €  - U i šaljekonfirmaciju M 3 = C (U,€  ) prema B;

(nakon prijema M 3 ) 

B podiže €  sa računa U. 

Ovaj protokol funkcioniše pravilno jedino ako nema grešaka u prenosu.  Ako M 1 ili M 2  ne uspiju stići, protokol je prekinut sa (manjom) posledicom(U ne može podići traženi novac). 

Greška u prenosu M 3 se smatra mnogo ozbiljnijom jer nesavjestan

korisnik može podići sumu koja nije njegova i banka B bi bila na gubitku.

Da bi se spriječio ovakav slučaj, B može modifikovati svoj dio protokola tako što će 

preventivno uzeti novac sa računa U  prije nego pošalje autorizaciju M 2  i onda

potvrditi takvu transakciju nakon prijema M 3 

Ukoliko M 2  ne uspije stići, korisniku je uzet novac sa računa, a on ga nijedobio na terminalu, pa je sada korisnik na gubitku.

7/22/2019 Paralelno i distributivno računarstvo

http://slidepdf.com/reader/full/paralelno-i-distributivno-racunarstvo 14/14

Bliži pregled trasiranja 

 Ako je mreža predstavljena kao graf, povezani subgraf koji uključuje sve tačke 

i minimalan broj lukova naziva se razgranato stablo. Kao i svako stablo, ako

graf ima n  tačaka, razgranato stablo ima n  – 1 lukova.

Definisanje razgranatog stabla na

mreži je važno zbog održavanjaveze meĎu grupom entiteta koja

koristi minimalan broj veza.

Poruke putuju od jednog

entiteta susjednom 

 jednim skokom na

odgovarajuću granu stablai cjelokupna komunikacija

odvija se prema različitimstrategijama.

Broadcast mode distribucija proizvodi n  – 1 kopija originalne poruke,

tj onoliko kopija koliko je linija na mreži, pa se način mora koristitiumjereno kako se ne bi izazvali zastoji u mrežnom protoku. 

Drugi način komunikacije poznat kao trasiranje (routing)

primjenjuje se kada je krajnja destinacija poruke poznata.

Svaka od tačaka sadrži tabele trasiranja koje preciziraju,

za svaku moguću krajnju destinaciju (dest), odgovarajućegsusjeda (next) kome se poruka mora poslati da bi se pratila

linija minimalne težine.