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

Hasonló dokumentumok
Lineáris. Soros. Okozati FIFO. Belépő

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

Folyamatok. 6. előadás

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 7. rész: Konzisztencia & replikáció

Elnevezési rendszerek. Szinkronizálás

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

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

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

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

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Rendszerkezelési útmutató

Kommunikáció. 3. előadás

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

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

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

III. előadás. Kovács Róbert

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

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

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

Elnevezési rendszerek. A névtér elosztása (2) 4. előadás. A névfeloldás implementálása (1) A névfeloldás implementálása (2)

InFo-Tech emelt díjas SMS szolgáltatás. kommunikációs protokollja. Ver.: 2.1

Optimista konkurenciavezérlés

Nyilvántartási Rendszer

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

Teljesítménymodellezés

webalkalmazások fejlesztése elosztott alapon

Felhasználói útmutató

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Prolan Zrt. fejlesztéseiben. Petri Dániel

Párhuzamos programozási platformok

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

Vonalkód olvasó rendszer. Specifikáció Vonalkód olvasó rendszer SoftMaster Kft. [1]

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

Csapatunk az elmúlt 5 évben kezdte meg

Számítógépes Hálózatok. 5. gyakorlat

Számítógépes Hálózatok. 5. gyakorlat

Példa webáruház kialakítás rendszerdokumentáció

Felhasználói útmutató

UNIX: folyamatok kommunikációja

Elosztott könyvtári rendszerek megvalósítása a Z39.50 és az OAI protokoll használatával

API tervezése mobil környezetbe. gyakorlat

Elosztott rendszerek

Számítógép architektúrák záróvizsga-kérdések február

Számítógépes Hálózatok. 7. gyakorlat

Vodafone ReadyPay. Használati útmutató

Gyakorlatok. Megoldások. Fejezet céljai. Üzleti leírás. Tippek és trükkök. Figyelmeztetések. Gyakorlatok és megoldások szimbólumainak magyarázata:

TERC V.I.P. hardverkulcs regisztráció

Egy családfaszerkesztő alkalmazás leírása

Rendszer szekvencia diagram

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

Fájlrendszerek. A Windows operációs rendszerek fájlrendszere

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

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

RADPLAN. A Mentum Planet, Mentum Ellipse az InfoVista bejegyzett védjegye, minden jog fenntartva!

A félév során előkerülő témakörök

Valós idejű megoldások: Realtime ODS és Database In-Memory tapasztalatok

Budapest Főváros Kormányhivatala. Földmérési, Távérzékelési és Földhivatali Főosztály. Általános Szerződési Feltételek.

Új technológiák az Ubuntuban. Új fejlesztések Amik egy éven belül jelenhetnek meg az Ubuntuban

A rendszer célja. Funkciók

S04-2 Elosztott alkalmazások készítése

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

Intelligens biztonsági megoldások. Távfelügyelet

Az adatbázisrendszerek világa

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

A SZOFTVERTECHNOLÓGIA ALAPJAI

Samsung GT-S7230 (Wave 723) Exchange ActiveSync beállítása Virtualoso levelezésre

Számítógépes Hálózatok GY 7.hét

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

E mail titkosítás az üzleti életben ma már követelmény! Ön szerint ki tudja elolvasni bizalmas leveleinket?

Energiainformációs Adattár Adatgyűjtő alrendszer felhasználói dokumentáció

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnök informatikus szak BME Villamosmérnöki és Informatikai Kar január 4.

The Flooding Time Synchronization Protocol

Samsung GT-S7230 (Wave 723) Exchange ActiveSync beállítása Virtualoso levelezésre

ECDL Információ és kommunikáció

A CÉG. Vevők Bank KFT A FELADAT

Adatkezelési nyilatkozat, szabályzat

2007 Nokia. Minden jog fenntartva. A Nokia, a Nokia Connecting People és az Nseries a Nokia Corporation védjegye, illetve bejegyzett védjegye.

Hálózati architektúrák laborgyakorlat

Hálózati réteg. Feladata: a csomag eljusson a célig Több útválasztó Ez a legalacsonyabb rétek, mely a két végpont

Számítógépes Hálózatok. 4. gyakorlat

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

Az uniós adatvédelmi előírások hatása a bölcsődei adminisztrációra. Előadó: Dr. Jójárt Ágnes Szilvia ügyvéd

ADATKEZELÉSI TÁJÉKOZTATÓ

Jelentkezési határidő nappalis képzésre: július 13. A beiratkozás időpontja: augusztus 1. 9 óra

10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)

Korda Filmstúdió Ingatlanhasznosító és Szolgáltató Korlátolt Felelősségű Társaság adatkezelési tájékoztató

Az IEC PRP & HSR protokollok használata IEC61850 kommunikációjú védelmi automatika hálózatokban

A KÖZÉRDEKŰ ADATOK MEGISMERÉSÉRE IRÁNYULÓ KÉRELMEK INTÉZÉSÉNEK RENDJÉRŐL. Tartalomjegyzék

HÁLÓZATI BEÁLLÍTÁS. Videorögzítőkhöz

Információ és kommunikáció

Kalumet Számlázó. Termék leírás

Belépés a GroupWise levelező rendszerbe az Internet felől

Adatstruktúrák, algoritmusok, objektumok

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

Két típusú összeköttetés PVC Permanent Virtual Circuits Szolgáltató hozza létre Operátor manuálisan hozza létre a végpontok között (PVI,PCI)

Multiprotocol encapsulation (RFC1483) - IETF Classical IP over ATM (RFC1577) - IETF LAN Emulation (LANE) - ATM Forum Multiprotocol over ATM (MPOA) -

HISCOM GOP

A szerzõrõl... xi Bevezetés... xiii

Átírás:

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

Konzisztencia és többszörözés Megbízhatóság növekedése Teljesítmény növekedése Többszörözés ára konzisztencia Átméretezési technika frissítések gyakorisága Konzisztencia Gyorsítótár (cache)

Többszörözhetőségi átlátszóság megvalósítása kliens-oldalon

Objektumtöbbszörözés (1) Két különböző kliens által közösen használt elosztott távoli objektum szerkezete.

Objektumtöbbszörözés (2) a) A konkurens hívások kezelésére képes távoli objektum. b) A konkurens hívások kezelésének felelősségét az objektumadapterre átruházó távoli objektum.

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

Objektumtöbbszörözés (3) a) Többszörözést támogató objektumok az elosztott rendszerben. b) Az elosztott rendszer felel a többszörözés kezeléséért.

Adatközpontú konzisztenciamodellek A fizikailag több folyamat között elosztott és többszörözött logikai adattár általános felépítése.

Szigorú konzisztencia Azonos adatelemen műveletet végző két folyamat viselkedése: a) szigorúan konzisztens adattár b) nem szigorúan konzisztens adattár

Lineáris és soros konzisztencia (1) a) A sorosan konzisztens adattár. b) A sorosan konzisztens kritériumot nem teljesítő adattár.

Lineáris és soros konzisztencia (2) Process P1 Process P2 Process P3 x = 1; print ( y, z); y = 1; print (x, z); z = 1; print (x, y); Három egyidejűleg végrehajtott folyamat.

Lineáris és soros konzisztencia (3) x = 1; x = 1; y = 1; y = 1; print ((y, z); y = 1; z = 1; x = 1; y = 1; print (x,z); print (x, y); z = 1; print (x, z); print(y, z); print (x, z); print (x, z); z = 1; z = 1; x = 1; print (y, z); print (x, y); print (x, y); print (y, z); print (x, y); Prints: 001011 Prints: 101011 Prints: 010111 Prints: 111111 Signature: 001011 (a) Signature: 101011 (b) Signature: 110101 (c) Signature: 111111 (d) Ez előző ábrán bemutatott folyamatok 4 lehetséges végrehajtási sorrendje.

Okozati konzisztencia (1) Szükséges feltétel: A potenciálisan okozatilag összefüggő írási műveleteket valamennyi folyamatnak ugyanabban a sorrendben kell látnia.

Okozati konzisztencia (2) Ez a sorrend megengedett az okozatilag konzisztens adattárban, de tiltott a sorosan vagy a szigorúan konzisztens rendszerben.

Okozati konzisztencia (3) a) Az okozati konzisztenciát megsértő műveleti sorrend. b) Az események konzisztens adattárban érvényes lehetséges sorrendje.

FIFO-konzisztencia (1) Szükséges feltétel: Egy adott folyamat által végrehajtott valamennyi írási művelet eredményét az összes többi folyamatnak az írást végző folyamat által meghatározott sorrendben kell látnia.

FIFO-konzisztencia (2) Az események lehetséges sorrendje a FIFOkonzisztenciamodell szerint.

FIFO-konzisztencia (3) x = 1; print (y, z); y = 1; print(x, z); z = 1; print (x, y); x = 1; y = 1; print(x, z); print ( y, z); z = 1; print (x, y); y = 1; print (x, z); z = 1; print (x, y); x = 1; print (y, z); Prints: 00 Prints: 10 Prints: 01 (a) (b) (c) A korábbi ábrán látható 3 folyamat utasításainak különböző végrehajtási sorrendje.

FIFO-konzisztencia (4) Process P1 x = 1; if (y == 0) kill (P2); Process P2 y = 1; if (x == 0) kill (P1); Két konkurens folyamat..

Gyenge konzisztencia (1) Tulajdonságok: Az adattárhoz tartozó szinkronizáló változók elérése sorosan konzisztens. A szinkronizáló változóval végzett újabb művelet mindaddig nem engedélyezett, amíg az összes korábbi írási művelet mindenütt be nem fejeződött. Az adatelemeken végzett egyetlen írási vagy olvasási művelet sem engedélyezett, amíg az összes szinkronizáló változó értelmezett művelet mindenütt be nem fejeződött.

Gyenge konzisztencia (2) int a, b, c, d, e, x, y; /* variables */ int *p, *q; /* pointers */ int f( int *p, int *q); /* function prototype */ a = x * x; /* a stored in register */ b = y * y; /* b as well */ c = a*a*a + b*b + a * b; /* used later */ d = a * a * c; /* used later */ p = &a; /* p gets address of a */ q = &b /* q gets address of b */ e = f(p, q) /* function call */ A program fragment in which some variables may be kept in registers.

Gyenge konzisztencia (3) a) Gyenge konzisztencia esetén megengedett eseménysorrend. b) Gyenge konzisztencia esetén tiltott eseménysorrend.

Feloldó konzisztencia (1) Az eseményeknek a feloldó konzisztenciamodellben megengedett lehetséges sorrendje..

Feloldó konzisztencia (2) Szabályok: Megosztott adaton bármely olvasási/írási művelet előtt minden korábbi igénylésnek be kell fejeződnie. Feloldási művelet előtt a folyamatnak az összes korábbi írási/olvasási műveletét be kell fejeznie. A szinkronizáló változók elérése FIFOkonzisztens.

Belépő konzisztencia (1) Feltételek: Szinkronizáló változó adott folyamat általi igénylése addig nem történhet, amíg az általa védett megosztott adat valamennyi frissítőművelete be nem fejeződött az adott folyamat számára. A folyamat csak akkor szerezheti meg a kizárólagos ellenőrzést a szinkronizáló változó felett, ha egyetlen más folyamat sem birtokolja. Miután egy folyamat megszerezte a kizárólagos ellenőrzést egy szinkronizáló változó felett, bármely más folyamat nem kizárólagos ellenőrzési kérelme addig nem teljesíthető, amíg a kizárólagos jogot az azt birtokló folyamat fel nem adja.

Belépő konzisztencia (2) A belépő konzisztenciában érvényes eseménysorrend.

Adatközpontú konziszteniamodellek összehasonlítása Konzisztencia Szigorú Lineáris Soros Okozati FIFO Konzisztencia Gyenge Feloldó Belépő Leírás Valamennyi megosztott hozzáférés abszolút sorrendje. A megosztott hozzáféréseket valamennyi folyamat pontosan ugyanabban a sorrendben látja. A hozzáférések sorrendjét (nem egyedi) globális időbélyeg határozza meg. A megosztott hozzáféréseket valamennyi folyamat pontosan ugyanabban a sorrendben látja. A hozzáférések nincsenek idő szerint sorba rendezve. Az okozatilag összefüggő megosztott hozzáféréseket valamennyi folyamat pontosan ugyanabban a sorrendben látja. Valamennyi folyamat a többi írási műveleteit pontosan a kiadás sorrendjében fogja látni. A különböző folyamatok által végrehajtott írási műveletek sorrendje bármi lehet. a) Szinkronizáló műveleteket nem igénylő konzisztenciamodellek. b) Szinkronizáló műveleteken alapuló konzisztenciamodellek. (a) Leírás A megosztott adat konzisztens voltára csak a szinkronizálás végrehajtása után lehet számítani. A megosztott adat konzisztensé válik a kritikus terület elhagyásakor. A kritikus területhez tartozó megosztott adat konzisztensé válik a kritikus területre való belépéskor. (b)

Kliensközpontú konzisztenciamodellek Adattárak különleges csoportja: nincs párhuzamos módosítás a legtöbb művelet csak olvassa az adattárat

Fokozatos konzisztencia (1) Frissítés hiányában valamennyi másolat lassan az összes többivel egyformává válik (a frissítéseket előbb-utóbb valamennyi másolathoz elküldjük)

Fokozatos konzisztencia (2) Az elosztott adatbázis különböző másolatait elérő mozgó felhasználó elve.

Fokozatos konzisztencia (3) Probléma: a felhasználó nem mindig ugyanahhoz a másolathoz csatlakozik Megoldás: kliensközpontú konzisztencia egy adott felhasználó számára nyújt biztosítékot arra nézve, hogy az általa látott adattár konzisztens lesz

Monoton olvasás (1) Ha a folyamat beolvassa x adatelemet, akkor x minden további olvasásának ugyanazt vagy frissebb értéket kell szolgáltatnia.

Monoton olvasás (2) Adott P folyamat által végzett olvasási műveletek az adattár két különböző helyi másolatán futnak. a) Monoton olvasási konzisztens adattár b) Monoton olvasás követelményét ki nem elégítő adattár

Monoton írás (1) Adott folyamat által végrehajtott x adatelemet módosító írási műveletnek be kell fejeződnie, mielőtt ugyanez a folyamat újabb írási műveletet hajtana végre ugyanezen az adatelemen.

Monoton írás (2) Egyetlen P folyamat által ugyanazon adattár két különböző másolatán végrehajtott írási műveletek sorrendje. a) Monoton írási konzisztenciával rendelkező adattár esete b) Monoton írási konzisztencia követelményét nem teljesítő adattár esete

Olvasd az írásod (1) Adott folyamat által x adatelemen végrehajtott írási művelet eredményének mindig láthatónak kell lennie a folyamat által x adatelemen végrehajtott későbbi olvasási művelet számára.

Olvasd az írásod (2) a) Az olvasd az írásod konzisztencia követelményét kielégítő adattár b) olvasd az írásod konzisztenciának nem megfelelő adattár

Írás olvasás után (1) A folyamat által x adatelemen végrehajtott írási művelet, amely x adatelemnek a folyamat által korábban történt olvasását követi, feltétlenül ugyanazt az értéket vagy annál frissebbet állít be, mint amit korábban olvasott.

Írás olvasás után (2) a) Az írás olvasás után konzisztens adattár b) Az írás olvasás után konzisztencia követelményét nem teljesítő adattár

Kliensközpontú konzisztencia implementálása (1) Minden írási művelethez egyedi azonosítót rendelünk. Minden kliens tárol: Olvasáskészlet Íráskészlet Monoton olvasás: olvasás előtt olvasáskészlet ellenőrzése Olvasáskészletben az írások kiadási helyének és idejének tárolása Monoton írás: írás előtt íráskészlet vizsgálata Olvasd az írásod: olvasás előtt íráskészlet vizsgálata Írás olvasás után: írás előtt olvasáskészlet vizsgálata

Kliensközpontú konzisztencia implementálása (2) Probléma: olvasás- és íráskészletek mérete Megoldás: szakaszokra bontás Probléma: teljes készlet átküldése a hálózaton Megoldás: időbélyeg vektorok

Elosztott protokollok Implementációs kérdések konzisztenciamodelltől függetlenül. Másolat elhelyezése Frissítés terjesztése Járványprotokollok

Másolat elhelyezése (1) Az adattár különböző típusú másolatainak három koncentrikus körként megjelenített logikai szervezése..

Másolat elhelyezése (2) Másolatok típusa: Állandó másolatok: másolatok kezdeti készlete, tükrözések, biztonsági másolatok Szerver által kezdeményezett másolatok: szükségmásolatok (dinamikus) Kliens által kezdeményezett másolatok: kliensoldali gyorsítótár (cache)

Szerver által kezdeményezett másolatok Különböző kliensektől érkező kérések számlálása.

Frissítés terjesztése Mit kell elterjeszteni? frissítésről szóló értesítés érvénytelenítő protokollok adatok a módosított adat átküldése frissítőművelet mit kell a másolatoknak lefuttatnia Ki kezdeményezzen? küldés alapú módszer (szerver alapú protokoll) rendelés alapú módszer (kliens alapú protokoll) vegyes módszer: haszonbérlet (dinamikus: kor alapú, megújítási frekvencia alapú, szerverterhelés alapú) Hogyan küldjük? egycímű átvitel többcímű átvitel

Rendelő és küldő protokollok Témakör Küldés alapú Rendelés alapú Szerverállapot Küldött üzenetek Válaszidő a kliensnél A kliensmásolatok és -gyorsítótárak listája Frissítés (esetleg letöltő frissítés később) Azonnali (vagy letöltő frissítés ideje) Nincs Lekérdezés és frissítés Letöltő frissítés ideje A küldés és a rendelés alapú protokollok összehasonlítása az egyszerveres, többkliensű rendszerekben.

Járványprotokollok (1) Fokozatos konzisztencia implementálásához fertőző: terjesztendő frissítéssel rendelkező fertőzhető: még nem frissített elkülönített: frissített, de terjesztésre nem képes Frissítésterjesztő modellek: küldési módszer rendelési módszer küldés-rendelés módszer az eddigi módszerekkel a fertőzés előbb-utóbb elterjed

Járványprotokollok (2) másik módszer: rémhírterjesztés / pletykálkodás nincs garancia a teljes elterjedésre Adatok eltávolítása: törlést nehéz elterjeszteni halotti bizonyítványok törlés, mint frissítés halotti bizonyítvánnyal rendelkezők mikor törölhetők?

Elsődleges másolaton alapuló protokollok Az adattár minden elemének van elsődleges másolata, aki felel az írási műveletek koordinálásáért.

Távoli írás protokollok (1) Elsődleges távoli írás-protokoll, az olvasási és írási műveletek elvégzésére kizárólagosan hivatott rögzített szerverrel..

Távoli írás protokollok (2) Az elsődleges másolatprotokoll alapelve.

Helyileg író protokollok (1) Elsődleges másolat alapú helyileg író protokoll, amelyben az adatelem egyetlen példánya vándorol.

Helyileg író protokollok (2) A frissítést végrehajtani kívánó folyamatok között vándorló elsődleges másolat protokollja.

Többszálú írás-protokollok Az írási művelet több másolaton is végrehajtható

Aktív többszörözés (1) A többszörözött hívás problémája

Aktív többszörözés (2) a) Továbbítja a többszörözött objektumtól érkező hívási kérést egy másik többszörözött objektumnak. b) A válasz visszaküldése az egyik többszörözött objektumtól a másiknak..

Testület alapú protokollok (1) Többszörözött írás támogatása szavazás alapján Olvasás és írás előtt a többiektől engedélyt kell kérni Olvasási testület: NR Írási testület: NW NR + NW > N NW > N/2

Testület alapú protokollok (2) A szavazó algoritmus három példája: a) Az írási és olvasási testület taglétszámának helyes megválasztása b) Lehetséges írás-írás ütközéshez vezető taglétszám c) A ROWA (read one, write all) néven ismert helyes taglétszámválasztás

Gyorsítótár-egyezőségi protokollok (1) Egyöntetűség-észlelő stratégia mikor veszik észre a tár eltérő voltát Statikus Dinamikus Mikor történik az észlelés? tranzakció előtt tranzakció közben tranzakció lezárásakor

Gyorsítótár-egyezőségi protokollok (2) Egyöntetűség-biztosítási stratégia hogyan maradnak konzisztensek az adatok megosztott adat csak a szerveren változáskor érvényesítő üzenet változáskor frissítés terjesztése keresztülíró gyorsítótár visszaíró gyorsítótár