Postavka 12: Uzročnost 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Слични документи
Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

06 Poverljivost simetricnih algoritama1

Dijagrami sekvenci

P1.1 Analiza efikasnosti algoritama 1

P11.3 Analiza zivotnog veka, Graf smetnji

Matrice. Algebarske operacije s matricama. - Predavanje I

Inženjering informacionih sistema

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1.

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Tutoring System for Distance Learning of Java Programming Language

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.

Teorija skupova - blog.sake.ba

P9.1 Dodela resursa, Bojenje grafa

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

08 RSA1

1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

Microsoft Word - 15ms261

Sadržaj 1 Diskretan slučajan vektor Definicija slučajnog vektora Diskretan slučajan vektor

Microsoft PowerPoint - C-4-1

Повезивање са интернетом

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

Microsoft Word - Matematika_kozep_irasbeli_jav_utmut0513V28_szerb.doc

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n

Microsoft Word - privitak prijedloga odluke

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. (

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

Microsoft Word - pravila RTGS-precišcen tekst2007 (2).doc

Algoritmi i arhitekture DSP I

Рачунарска интелигенција

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

ZADACI ZA VJEŽBU 1. Dokažite da vrijedi: (a) (A \ B) (B \ A) = (A B) (A C B C ), (b) A \ (B \ C) = (A C) (A \ B), (c) (A B) \ C = (A \ C) (B \ C). 2.

Postojanost boja

Microsoft PowerPoint - Pred12-13-DistribuiraneBP [Compatibility Mode]

QFD METODA – PRIMER

Skripte2013

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

Document ID / Revision : 0419/1.1 ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata

P2.1 Projektovanje paralelnih algoritama 1

ZA MEDICINSKE USTANOVE INTELIGENTAN WI-FI d'.;,.. SISTEM ZA ZADOVOLJNE PACIJENTE I POSETIOCE

ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera

Maksimalni protok kroz mrežu - Ford-Fulkerson, Edmonds-Karp

PowerPoint Presentation

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Stiforp uputstvo za isplatu - Kako Zaraditi Novac

Рационални Бројеви Скуп рационалних бројева 1. Из скупа { 3 4, 2, 4, 11, 0, , 1 5, 12 3 } издвој подскуп: а) природних бројева; б) целих броје

Korisničko uputstvo mobilne aplikacije Digitalni Kiosk 1

Microsoft Word - 6ms001

Verovatno mnogo puta vam se desilo da skinete neku rarovanu datoteku(film,muziku,program) i kada skinete nece da vam se otvoriti jer trazi rar pasword

Računarski praktikum I - Vježbe 11 - Funktori

Matematika 1 - izborna

Microsoft Word - Matematika_kozep_irasbeli_javitasi_0802.doc

PLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred)

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi

Техничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вуји

Програмирај!

Algoritmi SŠ P1

GTS obrt za savjetovanje, trgovinu i sport, vl. Tihomir Grbac HR Sveta Nedelja, Ferde Livadića 15 Tel/Fax: ,

Адреса: Maršala Tita 9a/I Телефон: (033) Факс: (033) Е-маил: Wеб: Датум и вријеме слања

Microsoft PowerPoint - X i XI termin - odredjivanje redosleda poslova [Compatibility Mode]

Veeeeeliki brojevi

IEP - Projekat 2018/2019

Орт колоквијум

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

D12_5 MNE_Dio 04 - Procjena EE Investicija F1

kriteriji ocjenjivanja - informatika 8

PowerPoint Presentation

ЖИРОКЛИРИНГ И БРУТО ПОРАВНАЊЕ У РЕАЛНОМ ВРЕМЕНУ (БПРВ) ОПИС РАДА СИСТЕМА На основу Закона о Централној банци БиХ у којем стоји: Основни задаци Централ

PowerPoint Presentation

Funkcije predavač: Nadežda Jakšić

Pitanja iz geometrije za pismeni i usmeni (I smer, druga godina) Srdjan Vukmirović, Tijana Šukilovic, Marijana Babić januar Teorijska pitanja

Algoritmi

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

KATALOG ZNANJA IZ INFORMATIKE

Microsoft Word - Zadaci za samostalno vjezbanje 4.doc

Title

Optimizacija

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

(Microsoft Word - 1. doma\346a zada\346a)

Linearna algebra Mirko Primc

Адреса: Maršala Tita 9a/I Телефон: (033) Факс: (033) Е-маил: Wеб: Датум и вријеме слања

Dvostruki integrali Matematika 2 Erna Begović Kovač, Literatura: I. Gusić, Lekcije iz Matematike 2

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

IErica_ActsUp_paged.qxd

ALGEBRA I (2010/11)

Programiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6

P3.2 Paralelno programiranje 2

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3

Tеорија одлучивања

atka 26 (2017./2018.) br. 102 NEKE VRSTE DOKAZA U ČAROBMATICI Jadranka Delač-Klepac, Zagreb jednoj smo priči spomenuli kako je važno znati postavljati

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

Uvod u računarstvo 2+2

POSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE

Microsoft PowerPoint - Timer0 16F887.ppt [Compatibility Mode]

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

DUBINSKA ANALIZA PODATAKA

Транскрипт:

Postavka 12: Uzročnost 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Motivacija za logičke satove 2 U asinhronim sistemima, često ne možemo orediti koji od dva događaja se desio pre onog drugog: Primer A Primer B p 0 m 0 m1 p 0 m 0 m 1 p 1 p 1 U primeru A, procesori neznaju koja poruka je prva poslata. Verovatno to nije važno. U primeru B, procesori znaju koja poruka je prva poslata. Može biti važno. Pokušajmo da oderimo relativni redosled nekih (ne svih) događaja.

Delimičan redosled desio se pre 3 U datom izvršenju, događaj računanja a desio se pre događaja računanja b, što se označava sa: a b, ako 1. a i b se desili na istom procesoru i a prethodi b, ili 2. a je rezultat slanja m i b uključuje prijem m, ili 3. postoji događaj računanja c takav da a c i c b (tranzitivna zatvorenost)

Delimičan redosled desio se pre 4 Desio se pre znači da informacija mođe teći od a do b, tj., da a može uzrokovati b. p 0 p 1 a d m 0 m 1 b c a b b c c d a c a d b d

Konkurentni događaji 5 Ako se a nije sedio pre b, i b se nije desio pre a, onda su a and b konkurentni, oznaka a b.

Primer relacija desio se pre 6 Pravilo 1: a b, c d e f, g h, h i Pravilo 2: a d, g e, f i Pravilo 3: a e, c i, h e,

Logički satovi 7 Logički satovi su vrednosti dodeljene događajima da bi se obezbedila info. o redosledu događaja. Ceo broj L(e) se dodeljuje svakom događaju računanja e u nekom izvršenju tako da ako a b, onda L(a) < L(b).

Algoritam logičkih vremenskih 8 pečata (Timestamps) Svaki p i održava brojač (logički vrem. pečat) L i, inicijalno 0 Svaka poruka koju p i šalje je pečatirana sa tekućom vrednošu od L i p i inkrementira L i u svakom koraku tako da bude veći od njegove tekuće vrednosti, i vrem. pečata on svih poruka primljenih u tom koraku Ako je a događaj u p i, onda se L(a)-u dodeljuje vrednost od L i na kraju a.

Primer logičkih vrem. pečata 9 1 2 1 2 3 4 1 2 5 a b : L(a) = 1 < 2 = L(b) f i : L(f) = 4 < 5 = L(i) a e : L(a) = 1 < 3 = L(e) itd.

Dobijanje totalnog redosleda 10 Ako je potreban totalni redosled, ID procesora se mogu koristi za razlikovanje pečata (break ties). U primeru, L(a) = (1,0), L(c) = (1,1), itd. Vrem. pečati su uređeni leksikografski. U primeru, L(a) < L(c).

Nedostaci logičkih satova 11 a b implicira L(a) < L(b), ali L(a) < L(b) ne mora da implicira a b. U predhodnom primeru, L(g) = 1 i L(b) = 2, ali g se nije desio pre b. Razlog je što desio se pre" daje delimičan redosled, dok su vrednosti logičkih satova celi br., koji su totalno uređeni.

Vektorski satovi 12 Generalizuju logičke satove tako da obezbede uzročnu i neuzročnu informaciju. Koriste se vrednosti iz delimično uređenog skupa umesto iz totalno uređenog skupa. Vrednost V(e) se dodeli svakom događaju računanja e u nekom izvršenju tako da a b ako i samo ako V(a) < V(b).

Algoritam vektorskih vremenskih pečata 13 Svaki p i održava n-vektor V i, inicijalno svi el. 0 Elem j u V i je p i -jeva procena koliko koraka je p j izveo Svaka poruka koju p i šalje se pečatira sa tekućom vrednosti od V i U svakom koraku, V i [i] se povećava za 1 Po prijemu poruke sa vektorskim pečatom T, ažurira se svaki elem j i od V i tako da V i [j] = max(t[j],v i [j]) Ako je a događaj u p i, onda postavi V(a) da ima vrednost V i na kraju a.

Rukovanje vektorskim vremenskim 14 pečatima Neka su V i W dva n-vektora celih brojeva. Jednakost: V = W iff V[i] = W[i] za svako i. Primer: (3,2,4) = (3,2,4) Manje ili jednako: V W iff V[i] W[i] za svako i. Primer: (2,2,3) (3,2,4) i (3,2,4) (3,2,4) Manje od: V < W iff V W ali V W. Primer: (2,2,3) < (3,2,4) Neuporediv: V W iff!(v W) i!(w V). Primer: (3,2,4) (4,1,4)

Rukovanje vektorskim vremenskim 15 pečatima Ovako def. delimično uređenje nije isto kao leksikografsko uređenje. Leksikografsko uređenje je totalno uređenje vektora. Uporedi (3,2,4) sa (4,1,4) u ova dva pristupa.

Primer vektorskih vrem. pečata 16 (1,0,0) (2,0,0) (0,1,0) (1,2,0) (1,3,1) (1,4,1) (0,0,1) (0,0,2) (1,4,3) V(g) = (0,0,1) i V(b) = (2,0,0), koji su neuporedivi. Uporedi sa logičkim satovima L(g) = 1 i L(b) = 2.

Korektnost vektorskih vrem. pečata 17 Teoreme (6.5 & 6.6): Vektorski vrem. pečati implementiraju vektorske satove. Dokaz: Prvo, pokažimo: a b implicira V(a) < V(b). Slučaj 1: a i b se desili u p i, i to a prvi. Pošto se V i povećava za svaki korak, V(a) < V(b).

Korektnost vektorskih vrem. pečata 18 Slučaj 2: a se desi u p i i uzrokuje slanje m, dok se b desi u p j i uključuje prijem m. Tokom b, p j ažurira svoj vektor vrem. pečat tako da V(a) V(b). p i -jeva procena broja koraka koje je izveo p j nikada nije prevelika. Pošto se m ne može primiti pre nego je poslata, procenjen br. koraka je uvek manji ili jednak od stvarnog broja. Tj. V(a)[j] < V(b)[j]. Sledi da je V(a) < V(b).

Korektnost vektorskih vrem. pečata 19 Slučaj 3: Postoji c takav da a c i c b. Na osnovu indukcije (iz Slučajeva 1 i 2) i tranzitivnosti relacije <, V(a) < V(b). Zatim, pokažimo: V(a) < V(b) implicira a b. Ekvivalentno sa:!(a b) implicira!(v(a) < V(b)).

Korektnost vektorskih vrem. pečata 20 Predpostavimo: a se desio u p i, b se desio u p j, i a se nije desio pre b. Neka je V(a)[i] = k. Pošto se a nije desio pre b, ne postoji lanac poruka od p i do p j sa izvorištem u p i -jevom k-tom koraku, ili kasnije, i krajem u p j pre b. Sledi V(b)[i] < k. Sledi!(V(a) < V(b)).

Veličina vektorskih vrem. pečata 21 Vektorski vrem. pečati su veliki: n elemenata u svakom od njih vred. elemenata rastu bez ograničenja Da li postoji efikasniji način implementacije vektorskih satova? Odgovor je NE, barem pod nekim uslovima.

Donja granica veličine vekt. sata 22 Teorema (6.9): bilo koja izvedba vektorskog sata pomoću vektora realnih brojeva zahteva vektore dužine n (broj procesora). Dokaz: za bilo koje n, razmotrimo ovo izvršenje:

Primer: loše izvršenje (Proc. ne šalje narednom, niti prima od predhodnog) 23 Za n = 4:

Donja granica veličine vekt. sata 24 Tvrdnja1: a i+1 b i za sve i (sa zamotavanjem) Dokaz: Pošto svaki proc. radi sva slanja pre bilo kog prijema, nema tranzitivnosti. Takođe p i+1 ne šalje ništa ka p i. Tvrdnja 2: a i+1 b j za sve j i. Dokaz: Ako j = i+1, očigledno. Ako j i+1, onda p i+1 šalje ka p j :

Donja granica veličine vekt. sata 25 Pret. radi kontradikcije, da postoji implementacija vekt. sata sa k-vektorima, gde je k < n. Po Tvrdnji 1, a i+1 b i => V(a i+1 ) i V(b i ) su neuporedivi => V(a i+1 ) je veći of V(b i ) u nekom elem h(i) => h : {0,,n-1} {0,,k-1}

Donja granica veličine vekt. sata 26 Pošto je k < n, funkcija h nije 1-1. Zato postoje određeni i i j takvi da h(i) = h(j). Neka je r ta zajednička vrednost od h. V(a 0 ) V(a 1 ) V(a i+1 ) V(a j+1 ) V(a n-1 ) V(b 0 ) V(b i ) V(b j ) V(b n-2 ) V(b n-1 ) dva od ovih elemenata su isti, na primer h(i) = h(j) = r

Donja granica veličine vekt. sata 27 V(b i ) V(a i+1 ) V(b j ) V(a j+1 )

Donja granica veličine vekt. sata 27 V(b i ) V(a i+1 ) V(b j ) V(a j+1 )

Donja granica veličine vekt. sata 28 Znači V(a i+1 ) je veći od V(b i ) u koordinati r i V(a j+1 ) je takođe veći od V(b j ) u koordinati r. V(a j+1 )[r] > V(b j )[r] po def. r V(a i+1 )[r] po Tvrd. 2 (a i+1 b j ) & korek. V V(b i )[r] po def. r Sledi V(a j+1 )!< V(b i ), kontrad. sa Tvrdnja 2 (a j+1 b i ) i predpostavljenom korektnošću V.

Primena uzročnosti: 29 Konzistentni isečci Razmotrimo sistem sa asinhronim slanjem poruka sa: FIFO isporukom poruka po kanalu prijemom najviše 1 por po koraku računanja Brojmo korake računanja za svaki procesor 1,2,3, Isečak nekog izvršenja je K = (k 0,,k n-1 ), gde k i indicira broj koraka računanja koje je izveo p i

Konzistentni isečci 30 neki isečci U konzistentnom isečku K = (k 0,,k n-1 ), ako se korak s na p j desio pre koraka k i na p i, onda je s k j. (1,3) i (2,4) su konzistentni. (3,6) je nekonzistentan: korak 4 na p 0 se desio pre koraka 6 na p 1, ali 4 je veće od 3.

Pronalaženje skorašnjeg 31 konzistentnog isečka Problem, Verzija 1: Svim procesorima je dat isečak K i oni treba da odrede max konz. isečak koji je K. Aplikacija: Oporavak zasnovan na log datoteci. Procesori periodično zapisuju svoje stanje u stalnu mem. Kada se proc oporavlja od ispada, on proba da uđe u poslednje zapisano stanje, ali mora da se koordinira sa drugim procesorima

Rešenje sa vektorskim satovima 32 Implementirati vekt. satove koristeći vekt. vrem. pečate koji se dodaju u aplikacionim porukama. Sačuvati vekt. sat za svaki korak računanja u lokalni niz store[1, ] Kada se p i ju zada ulazni isečak K: for x := K[i] down to 1 do if store[x] K then return x return x (elem za p i u globalnom odgovoru)

Šta je sa stanjem kanala? 33 Stanja procesora nisu dovoljna da snime celokupno stanje sistema. Poruke u tranzitu se moraju izračunati. Rešenje ovde zahteva dodatno skladište (broj poruka) dodatno računanje u vreme oporavka (uključujući reprodukciju orig. izvršenja da bi se snimile poruke koje su poslate a nisu primljene)

Drugi način uzimanja skorašnjeg 34 konzistentnog stanja Problem, Verzija 2: Podskup procesora inicira (u proizvoljnim vremenima) traženje konzistentnog isečka sa stanjem barem jednog od inicijatora u trenutku iniciranja. Naziva se distribuirani snimak. Info. za snimak se može skupiti na jednom proc. i tu se može analizirati. Aplikacija: detekcija završetka

Algoritam sa markerima (Marker) 35 Umesto dodavanja ekstra informacije na svaku aplikacionu poruku, umeću se kontrolne poruke ( markeri") u kanale. Kod za p i : inicijalno answer = -1 i num = 0 kada stigne aplikaciona poruka: num++; uradi aplikacionu akciju kada stige marker ili kada se inicira uzimanje snimka: if answer = -1 then answer := num // p i -jev deo u konačnom odgovoru pošalji marker svim susedima

Šta je sa stanjima kanala? 36 p i zapisuje sekvencu poruka primljenih od p j između trenutka kada p i zapiše svoj odgovor i trenutka kada p i dobije marker od p j Ovo su poruke u tranzitu od p j do p i u isečku koji vraća ovaj algoritam.