Szinkronizálás. 9. előadás

Hasonló dokumentumok
Elnevezési rendszerek. Szinkronizálás

Elosztott rendszerek

Konzisztencia és többszörözés. 10. kurzus

1. előadás. Elosztott rendszerek. 1. Bevezetés

Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer. Célok

Adatbázisok elmélete 24. előadás

Lineáris. Soros. Okozati FIFO. Belépő

Elosztott adatbázis-kezelő formális elemzése

Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012.

Adatbázisok elmélete 24. előadás

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 6. rész: Szinkronizáció

12. előadás. Tranzakció kezelés és konkurencia kontroll. Adatbázisrendszerek előadás december 12.

Adatbázisok elmélete 18. előadás

SAP vállalatirányítási rendszer alapjai

Adatbázisok elmélete 18. előadás

Adatbázisrendszerek 9. előadás: Tranzakciók és konkurencia

Struktúra nélküli adatszerkezetek

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

HOGYAN TUDOK BELÉPNI ELSŐ ALKALOMMAL?

Adatbázisok elmélete 21. előadás

Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

5 HOZZÁFÉRÉS-VÉDELEM. A fejezet VIDEOTON fejlesztési dokumentációk felhasználásával készült

Országos on-line várólista nyilvántartó rendszer K I S S Z S O L T

Elosztott adatfeldolgozás

Erőforrás gazdálkodás a bevetésirányításban

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés / 21

2MU09f_Konkvez_feladatok.pdf Feladatok a tranzakciókezelésbıl

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

INFORMATIKAI FŐOSZTÁLY. 1. Az Informatikai Főosztály funkcionális feladatai tekintetében:

Operációs rendszerek. UNIX/Linux fájlrendszerek

Speciális ügyfélkapcsolati igények Önkiszolgáló ügyfelektől az előfizető nyilvántartásig

Minta felvételi feladatsor programozásból

II. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatátviteli rendszerek Mobil IP. Dr. habil Wührl Tibor Óbudai Egyetem, KVK Híradástechnika Intézet

Tarcsi Ádám ELTE Informatikai Kar

B I T M A N B I v: T M A N

Elnevezési rendszerek. 7. előadás

vbar (Vemsoft banki BAR rendszer)

Másolatképzési technikák és azok felhasználási lehetőségei

Ellenőrző kérdések. 5. Kis dolgozat kérdései. (9-10. előadás)

Online adatszolgáltatás beállítása a Számlázás - vevő-szállító nyilvántartás programban (UJVSZ)

Az elektronikus másolatkészítés rendszerének műszaki dokumentációja 1. BEVEZETŐ

Az ügyfélprogram és a ViCA applikáció használata. Bejelentkezés

e-szignó Online e-kézbesítés Végrehajtási Rendszerekhez

Neurális hálózatok bemutató


SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

Járműinformatika Multimédiás buszrendszerek (MOST, D2B és Bluetooth) 4. Óra

Folyamatok. 6. előadás

Az adatbázisrendszerek világa

Rendszerkezelési útmutató

Számítógép hálózatok gyakorlat

PHP-MySQL. Adatbázisok gyakorlat

11. Elosztott állománykezelés. Operációs rendszerek. Elosztott állománykezelés. Teljesítmény növelése. Az állományokra hivatkozás. Az állományok nevei

Alkalmazások architektúrája

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

Félévi időbeosztás (nagyjából) házi feladat beadási határidőkkel (pontosan) Valószínűségszámítás 2. matematikusoknak és fizikusoknak, 2009 tavasz

Műszaki dokumentáció Másolatkészítés műszaki feltételei

A TANTÁRGY ADATLAPJA

CCS Hungary, 2000 szeptember. Handling rendszer technikai specifikáció

Operációs rendszerek. Holtpont

Online adatszolgáltatás beállítása a kettős, egyszeres könyvelés programban és a számlázóprogramban (UJEGYKE, UJEGYSZ, UJVSZ)

Optimista konkurenciavezérlés

GDi Esri Magyarország Felhasználói Konferencia Timár Gábor: Konkurens adatfeldolgozás ArcGIS rendszerben

Helymeghatározás. Hol vagyok a világban?

NAV online számla regisztráció SAP rendszerhez

Párhuzamos és Grid rendszerek

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk).

Tankönyv példák kidolgozása

BUDAPESTI RENDŐR-FŐKAPITÁNYSÁG XVIII. KERÜLETI RENDŐRKAPITÁNYSÁG

Rubin SMART COUNTER. Műszaki adatlap 1.1. Státusz: Jóváhagyva Készítette: Forrai Attila Jóváhagyta: Parádi Csaba. Rubin Informatikai Zrt.

Tranzakciók az SQL-ben

Titkosítás NetWare környezetben

A PhysioBank adatmegjelenítő szoftvereinek hatékonysága

Hasznos információk az ekid szolgáltatás igénybevételéhez

HDL tervezés. Gábor Bata FPGA Developer Microwave Networks Ericsson Hungary Ltd.

Online adatszolgáltatás beállítása a Kettős könyvelés programban (WUJEGYKE) 79/

KIR-STAT internetes adatgyűjtő rendszer

Előadás_# Az első ZH megírása

Programozás II. ATM példa Dr. Iványi Péter

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

ECDL Információ és kommunikáció

Tartalomjegyzék. Előszó... 10

1. feladat: A BP partnerei pénzügyi szolgáltatók, amelyek lehetnek biztosítók, bankok, brókerházak.

Autonóm járműrendszerek kutatása a zalaegerszegi autonóm tesztpályához kapcsolódóan. Pályázati témák (3) Téma rövid tartalma

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Logisztikai hálózatok funkcionális elemekre bontása intralogisztikai

Projekt beszámoló. NEWSIT News basedearlywarning System forintradaytrading: Hír alapú Korai Figyelmeztető Rendszer Napon belüli Kereskedéshez

Hálózati ismeretek. Az együttműködés szükségessége:

Tranzakciók, nézettáblák, indexek. Párhuzamos folyamatok irányítása Virtuális és materializált nézettáblák Az adathozzáférés felgyorsítása

Programozható vezérlő rendszerek KOMMUNIKÁCIÓS HÁLÓZATOK 2.

GoWebeye Monitor Release Üzenetküldés

The Flooding Time Synchronization Protocol

Internetbank-EFER csatlakozás bemutatása. Bali János, Lomniczi Rudolf

Átírás:

Szinkronizálás 9. előadás

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.

Óraszinkronizáló algoritmusok Az óra által mutatott idő és az UTC összefüggése az óra eltérése esetén.

Cristian algoritmusa A pontos idő lekérdezése az időszerverről.

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

Á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

Logikai órák Elegendő, ha az összes gép órája ugyanazt az időt mutatja Az események sorrendje a fontos

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.

Példa pontosan sorbarendezett csoportcímzés A többszörözött adatbázis frissítése és az inkonzisztens állapot kialakulása.

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

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

Globális állapot (1) a) Konzisztens metszet b) Inkonzisztens metszet

Globális állapot (2) a) A folyamat és csatornáinak szerkezete az elosztott pillanatfelvétel elkészítéséhez.

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.

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

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

Szavazó algoritmusok - gyűrű Kört használó szavazó algoritmus.

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.

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.

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ű.

Kölcsönös kizárás: összehasonlítás A kölcsönös kizárást biztosító algoritmusok összehasonlítása.

Elosztott tranzakciók - tranzakciómodell (1) Updating a master tape is fault tolerant. A mesterszalag frissítése hibatűrő folyamat.

Elosztott tranzakciók - tranzakciómodell (2) Néhány példa a tranzakció-primitívekre.

Elosztott tranzakciók - tranzakciómodell (3) 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) a) 4 járat helyfoglalása egy tranzakcióként b) A tranzakció félbeszakad, amikor a negyedik járat nem elérhető

A tranzakciók tulajdonságai (ACID) 1. Oszthatatlan (elemi) Atomic 2. Konzisztens Consistent 3. Elkülönülő Isolated 4. Maradandó - Durable

A tranzakciók osztályozása Az egységes tranzakciók korlátai Beágyazott tranzakciók Elosztott tranzakciók

Elosztott tranzakciók a) Beágyazott tranzakció b) Elosztott tranzakció

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

Implementáció munkatervnapló x = 0; Log Log Log y = 0; BEGIN_TRANSACTION; x = x + 1; [x = 0 / 1] [x = 0 / 1] [x = 0 / 1] y = y + 2 [y = 0/2] [y = 0/2] x = y * y; [x = 1/4] END_TRANSACTION; (a) (b) (c) (d) a) Egy tranzakció b) d) Az egyes utasítások végrehajtása előtt kiírt naplóbejegyzés

Konkurenciakontroll

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

Konkurenciakontroll (1) A tranzakciókat megvalósító kezelők általános felépítése.

Konkurenciakontroll (2) Az elosztott tranzakciókat feldolgozó kezelők általános felépítése.

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

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

Kétfázisú zárolás (1) Two-phase locking.

Kétfázisú zárolás (2) Strict two-phase locking. Szigorú kétfázisú zárolás

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)}]

Pesszimista időbélyeg-rendezés (2) Concurrency control using timestamps. Az időbélyeget használó konkurenciakontrol.

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