![Page 1: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/1.jpg)
Szinkronizálás
9. előadás
![Page 2: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/2.jpg)
Az órák szinkronizálása
Ha mindegyik gép a saját óráját használja, akkor az adott esemény után történt másik eseményhez az elsőnél korábbi idő
társulhat.
![Page 3: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/3.jpg)
Óraszinkronizáló algoritmusok
Az óra által mutatott idő és az UTC összefüggése az óra eltérése esetén.
![Page 4: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/4.jpg)
Cristian algoritmusa
A pontos idő lekérdezése az időszerverről.
![Page 5: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/5.jpg)
A Berkeley-algoritmus
a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott pontos időt b) A gépek válaszolnak c) Az idődémon mindegyiket utasítja, hogyan állítsa be az óráját
![Page 6: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/6.jpg)
Átlagoló algoritmusok
• Decentralizált algoritmus • Újraszinkronizálási időszakok • minden gép kihirdeti a saját idejét • elindít egy időmérőt • a beérkezett hírdetéseket összegyűjti
Többszörözött külső időforrások
• Több UTC-forrás vevő a rendszerben • Ezek rendszeresen kihirdetik az idejüket
![Page 7: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/7.jpg)
Logikai órák
• Elegendő, ha az összes gép órája ugyanazt az
időt mutatja
• Az események sorrendje a fontos
![Page 8: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/8.jpg)
Lamport időbélyege
a). Három folyamat, mindegyik saját órával. Az órák különböző sebességgel futnak. b). Lamport algoritmusa az órák összehangolására.
![Page 9: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/9.jpg)
Példa – pontosan sorbarendezett
csoportcímzés
A többszörözött adatbázis frissítése és az inkonzisztens állapot kialakulása.
![Page 10: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/10.jpg)
Időbélyeg vektor (1)
• ‘C(a)’ és ‘C(b)’ összehasonlítása semmit sem
mond ‘a’ és ‘b’ kapcsolatáról
• Lamport időbélyegei nem foglalkoznak az
oksági viszonyokkal
• Oksági viszony – időbélyeg-vektorok
alkalmazása
• Ha ‘VT(a)’ < ‘VT(b)’ => ‘a’ ‘b’ előzménye
![Page 11: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/11.jpg)
Időbélyeg vektor (2)
• Pi folyamat Vi vektorának tulajdonságai:
1. Vi [i] a Pi folyamatban eddig bekövetkezett események száma
2. Ha Vi [j] = k, akkor Pi tudja, hogy a Pj folyamatban eddig k esemény történt
• Okozatilag összefüggő üzenetek küldése
• r csak akkor kézbesíti az üzenetet, ha:
1. vt(r)[j] = Vk[j] + 1
2. vt(r)[i] < / = Vk[i] teljesül valamennyi i<>j
![Page 12: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/12.jpg)
Globális állapot (1)
a) Konzisztens metszet b) Inkonzisztens metszet
![Page 13: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/13.jpg)
Globális állapot (2)
a) A folyamat és csatornáinak szerkezete az elosztott pillanatfelvétel elkészítéséhez.
![Page 14: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/14.jpg)
Globális állapot (3)
• b) Q folyamat a jelzést először kapja meg, ezért feljegyzi saját állapotát.
• c) Q valamennyi érkező üzenetét feljegyzi.
• d) Q megkapja a jelzést a bejövő csatornán és befejezi a csatorna
• állapotának rögzítését.
![Page 15: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/15.jpg)
Szavazó algoritmusok - zsarnok (1)
A zsarnok algoritmus • A 4-es folyamat választást tart • 5-ös és 6-os válaszol, megmondva 4-esnek, hogy álljon le a választással • 5-ös és 6-os választást kezdeményez
![Page 16: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/16.jpg)
Szavazó algoritmusok - zsarnok (2)
d) 6-os szól 5-ösnek, hogy álljon le a választással
e) 6-os megnyeri a választást és kihirdeti a győzelmét
![Page 17: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/17.jpg)
Szavazó algoritmusok - gyűrű
Kört használó szavazó algoritmus.
![Page 18: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/18.jpg)
Kölcsönös kizárás:
A központosított algoritmus
a) Az 1-es folyamat engedélyt kér a koordinátortól, hogy beléphessen a kritikus területre. Az engedély megadva. b) A 2-es folyamat engedélyt kér ugyanerre a kritikus területre való belépéshez. A koordinátor nem válaszol. c) Amikor az 1-es folyamat elhagyja a kritikus területet, értesíti erről a koordinátort, aki ezután válaszol a 2-es folyamatnak.
![Page 19: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/19.jpg)
Kölcsönös kizárás:
Az elosztott algoritmus
a) Két folyamat akar ugyanabban a pillanatban belépni ugyanarra a
kritikus területre.
b) A 0-ás folyamatnak alacsonyabb az időbélyege, így ő nyer.
c) Amikor a 0-ás folyamat végzett, ő is elküldi az OK választ, így a
2-es folyamat már beléphet a kritikus területre.
![Page 20: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/20.jpg)
Kölcsönös kizárás:
A zsetongyűrű algoritmus
a) A folyamatok rendezetlen csoportja a hálózaton.
b) A szoftver által alkotott logikai gyűrű.
![Page 21: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/21.jpg)
Kölcsönös kizárás:
összehasonlítás
A kölcsönös kizárást biztosító algoritmusok összehasonlítása.
![Page 22: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/22.jpg)
Elosztott tranzakciók -
tranzakciómodell (1)
• Updating a master tape is fault tolerant.
A mesterszalag frissítése hibatűrő folyamat.
![Page 23: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/23.jpg)
Elosztott tranzakciók -
tranzakciómodell (2)
Néhány példa a tranzakció-primitívekre.
![Page 24: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/24.jpg)
Elosztott tranzakciók -
tranzakciómodell (3)
a) 4 járat helyfoglalása egy tranzakcióként
b) A tranzakció félbeszakad, amikor a negyedik járat nem
elérhető
BEGIN_TRANSACTION
reserve WP -> JFK;
reserve JFK -> Nairobi;
reserve Nairobi -> Malindi;
END_TRANSACTION
(a)
BEGIN_TRANSACTION
reserve WP -> JFK;
reserve JFK -> Nairobi;
reserve Nairobi -> Malindi full =>
ABORT_TRANSACTION
(b)
![Page 25: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/25.jpg)
A tranzakciók tulajdonságai (ACID)
1. Oszthatatlan (elemi) – Atomic
2. Konzisztens – Consistent
3. Elkülönülő – Isolated
4. Maradandó - Durable
![Page 26: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/26.jpg)
A tranzakciók osztályozása
• Az egységes tranzakciók korlátai
– Beágyazott tranzakciók
– Elosztott tranzakciók
![Page 27: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/27.jpg)
Elosztott tranzakciók
a) Beágyazott tranzakció
b) Elosztott tranzakció
![Page 28: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/28.jpg)
Implementáció – saját munkaterület
a) Egy három blokk hosszúságú állomány indexei és lemezblokkjai
b) Az állomány 0-ás blokkjának módosítása a tranzakció során, és
egy negyedik blokk hozzáfűzése után kialakult helyzet
c) A tranzakció lezárása utáni helyzet
![Page 29: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/29.jpg)
Implementáció – munkatervnapló
a) Egy tranzakció
b) – d) Az egyes utasítások végrehajtása előtt kiírt naplóbejegyzés
x = 0;
y = 0;
BEGIN_TRANSACTION;
x = x + 1;
y = y + 2
x = y * y;
END_TRANSACTION;
(a)
Log
[x = 0 / 1]
(b)
Log
[x = 0 / 1]
[y = 0/2]
(c)
Log
[x = 0 / 1]
[y = 0/2]
[x = 1/4]
(d)
![Page 30: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/30.jpg)
Konkurenciakontroll
![Page 31: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/31.jpg)
A tranzakciók tulajdonságai (ACID)
• 1. Oszthatatlan (elemi) - Atomic
• 2. Konzisztens - Consistent
• 3. Elkülönülő – Isolated
• [sorosítható – serializable]
• 4. Maradandó - Durable
![Page 32: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/32.jpg)
Konkurenciakontroll (1)
• A tranzakciókat megvalósító kezelők általános felépítése.
![Page 33: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/33.jpg)
Konkurenciakontroll (2)
• Az elosztott
tranzakciókat
• feldolgozó kezelők
• általános felépítése.
![Page 34: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/34.jpg)
Sorosíthatóság (1) BEGIN_TRANSACTION
x = 0;
x = x + 1;
END_TRANSACTION
(a)
BEGIN_TRANSACTION
x = 0;
x = x + 2;
END_TRANSACTION
(b)
BEGIN_TRANSACTION
x = 0;
x = x + 3;
END_TRANSACTION
(c)
Schedule 1 x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3 Legal
Schedule 2 x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3; Legal
Schedule 3 x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3; Illegal
(d)
a) – c) Három tranzakció: T1, T2, and T3 d) Lehetséges ütemtervek
![Page 35: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/35.jpg)
Sorosíthatóság (2)
• write(Ti, x); read(Ti, x); write(Ti, x)
• ütköző műveletek
• Szinkronizálás
• kölcsönös kizárás
• Időbélyegek
• Megközelítés
• Pesszimista
• optimista
![Page 36: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/36.jpg)
Kétfázisú zárolás (1)
• Two-phase locking.
![Page 37: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/37.jpg)
Kétfázisú zárolás (2)
• Strict two-phase locking.
Szigorú kétfázisú zárolás
![Page 38: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/38.jpg)
Pesszimista időbélyeg-rendezés (1)
• T tranzakció – ts(T) kezdeti időbélyeg
• x adatelem – tsRD(x), tsWR(x) utolsó olvasást /
• írást végző tranzakció időbélyege
• read(T, x), ahol ts(T) < tsWR(x) => T megszakad
• read(T, x), ahol ts(T) > tsWR(x) => OK
• [tsRD(x) <- max{ts(T), tsRD(x)}]
• write(T, x), ahol ts(T) < tsRD(x) => T megszakad
• write(T, x), ahol ts(T) > tsRD(x) => OK
• [tsWR(x) <- max{ts(T), tsWR(x)}]
![Page 39: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/39.jpg)
Pesszimista időbélyeg-rendezés (2)
• Concurrency control using timestamps.
Az időbélyeget használó konkurenciakontrol.
![Page 40: Szinkronizálás - Sapientia EMTEvajdat/education/distributed... · 2015. 4. 21. · A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott](https://reader035.vdocuments.pub/reader035/viewer/2022071415/61104dbd72b6a13d707842af/html5/thumbnails/40.jpg)
Optimista időbélyeg-rendezés
• Saját munkaterület
• Ha az ütközések ritkák tranzakció közben
nincs vizsgálat, csak nyilvántartás (írások,
olvasások)
• Tranzakció lezárásakor az összes többi
tranzakció vizsgálata megszakad, vagy lezárul
• Időbélyeg használata