paralelno i distributivno računarstvo
TRANSCRIPT
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.