Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Modely konzistentnosti Ladislav Kotal 2008. PDS 2008Ladislav Kotal2 Konzistentnost Konzistentní = soudržný, neporušený, pevný Konzistenční model = dohoda.

Podobné prezentace


Prezentace na téma: "Modely konzistentnosti Ladislav Kotal 2008. PDS 2008Ladislav Kotal2 Konzistentnost Konzistentní = soudržný, neporušený, pevný Konzistenční model = dohoda."— Transkript prezentace:

1 Modely konzistentnosti Ladislav Kotal 2008

2 PDS 2008Ladislav Kotal2 Konzistentnost Konzistentní = soudržný, neporušený, pevný Konzistenční model = dohoda mezi procesy o způsobu zajištění soudržnosti (aktuálnosti) replikovaných dat

3 PDS 2008Ladislav Kotal3 Konzistentnost Dva rozdílné pohledy na konzistentnost Data-centric modely Několik procesů, jedna skupina dat Např. distribuovaný výpočet Client-centric modely Jeden proces, několik skupin dat Např. mobilní přístup k e-mailu

4 PDS 2008Ladislav Kotal4 Data-centric modely

5 PDS 2008Ladislav Kotal5 Client-centric modely

6 PDS 2008Ladislav Kotal6 Data-centric konzistence Výhody: Zvýšení spolehlivosti a výkonnosti Nevýhody: Pro zachování co nejlepší soudržnosti dat je potřeba přenášet poměrně velký počet zpráv a tím se snižuje i výpočetní výkon Řešení: Vytvořeno několik modelů s různě velkými požadavky na konzistentnost dat

7 PDS 2008Ladislav Kotal7 Data-centric konzistence Symboly: W i (x)a – proces P i zapisuje na adresu x hodnotu a R i (x)b – proces P i přečetl z adresy x hodnotu b Horizontální osa = časová osa

8 PDS 2008Ladislav Kotal8 Striktní konzistence Jakékoliv čtení z adresy x vrátí hodnotu uloženou při posledním zápisu na adresu x. Tento model předpokládá existenci absolutního globálního času, je přirozený v jednoprocesorových systémech, ale nedosažitelný v distribuovaných systémech striktní konzistencepaměť, která není striktně konzistentní

9 PDS 2008Ladislav Kotal9 Sekvenční konzistence Výsledek jakéhokoliv výpočtu je stejný jako kdyby všechny operace všech procesů byly vykonávány v nějakém sekvenčním uspořádání a operace každého jednotlivého procesu jsou vykonávány v pořadí specifikovaném programem Příjemná pro programování, ale není příliš výkonná Implementace např. použitím časových značek a protokolu ABCAST sekvenční konzistencepaměť, která není sekvenčně konzistentní

10 PDS 2008Ladislav Kotal10 Příčinná (kauzální) konzistence Zápisy, které jsou potenciálně kauzálně vázané, musí být viděny všemi procesy ve stejném pořadí. Konkurenční zápisy mohou být viděny různými procesy v různém pořadí. Model rozlišuje události které jsou potenciálně kauzálně závislé Implementace vyžaduje udržování grafu závislostí zápisů na čtení. Např. použitím vektoru časových značek (vektorových hodin) příčinná konzistencepaměť, která není příčinně konzistentní

11 PDS 2008Ladislav Kotal11 FIFO (PRAM) konzistence Zápisy prováděné jedním procesem jsou viděny ostatními procesy v tom samém pořadí, ve kterém byly prováděny, ale zápisy různých procesů mohou být viděny různými procesy různě Snadná implementace, je nutné pouze dodržet pořadí zápisů z jednoho zdroje. Např. sekvenčním číslováním zpráv každého procesu FIFO konzistence

12 PDS 2008Ladislav Kotal12 Modely konzistentnosti Všechny dříve uvedené modely jsou pro mnoho aplikací zbytečně složité a tedy málo efektivní. Pro většinu aplikací je zbytečné sledovat neustále všechny změny hodnot, natož pak jejich pořadí. Následující modely proto dávají jednotlivým procesům nástroje, které jim umožňují přenášet do ostatních procesů pouze konečné výsledky jejich výpočtů, zatímco mezivýsledky jsou viditelné pouze lokálně. Tyto nástroje se nazývají synchronizační proměnné. Tím se výrazně zmenšuje počet posílaných zpráv a tedy i zatížení sítě

13 PDS 2008Ladislav Kotal13 Slabá konzistence Vlastnosti: Přístup k synchronizačním proměnným je sekvenčně konzistentní Žádná operace se synchronizační proměnnou není povolena dokud neskončí všechny předchozí zápisy Žádná operace čtení nebo zápisu hodnot není povolena dokud neskončí všechny předchozí operace se synchronizačními proměnnými Přístup k synchronizačním proměnným je možné řešit například pomocí Lamportova algoritmu vzájemného vyloučení slabá konzistenceporušení slabé konzistence

14 PDS 2008Ladislav Kotal14 Uvolňovací konzistence Vlastnosti: Před čtením nebo zápisem hodnot musí být dokončeny všechny požadavky provedení přístupu (Acq) Před provedením uvolnění (Rel) musí být ukončeny všechny předchozí požadavky zápisu i čtení prováděné procesem Požadavky provedení přístupu (Acq) a uvolnění (Rel) musí být FIFO konzistentní uvolňovací konzistence

15 PDS 2008Ladislav Kotal15 Přístupová konzistence Vlastnosti: Požadovaný přístup (Acq) procesu k SP není povolen, dokud nebyly provedeny všechny aktualizace chráněných sdílených dat procesu Exkluzivní přístup procesu k SP (zápis) je povolen pouze v případě, že žádný jiný proces nepřistupuje k SP, a to ani neexkluzivně (čtení) Po exkluzivním přístupu k SP si příští neexkluzivní přístup libovolného procesu k SP musí vyžádat aktuální kopii dat od vlastníka SP. Každá sdílená proměnná má svoji SP přístupová konzistence

16 PDS 2008Ladislav Kotal16 Shrnutí modelů Striktní – absolutní časové uspořádání všech sdílených přístupů Sekvenční – všechny události jsou ve všech procesech vidět ve stejném pořadí Příčinná – kauzálně vázané události jsou vidět ve stejném pořadí FIFO – události jednoho procesu jsou vidět ve stejném pořadí v jakém byly vykonány, události od různých procesů mohou být viděny v různém pořadí Slabá – sdílená data jsou konzistentní pouze po synchronizaci Uvolňovací – sdílená data jsou konzistentní po opuštění kritické sekce Přístupová – sdílená data vázaná na kritickou sekci jsou konzistentní při vstupu do kritické sekce

17 PDS 2008Ladislav Kotal17 Sekvenční konzistence - příklad Využívá časových značek a protokolu ABCAST A B C 4 6 56

18 PDS 2008Ladislav Kotal18 Příčinná konzistence - příklad Využívá vektory časových značek Zjednodušený příklad: A B C 1 2 3 - 4 - - 4 23 -

19 PDS 2008Ladislav Kotal19 FIFO konzistence - příklad Využívá sekvenční číslování zpráv od každého procesu A B C 123 - 3

20 PDS 2008Ladislav Kotal20 Slabá konzistence - příklad Jediná synchronizační operace S Využívá Lamportův algoritmus vzájemného vyloučení A B C data pož. aktualiz. lok. dat

21 PDS 2008Ladislav Kotal21 Uvolňovací konzistence - příklad Synchronizační operace Acq a Rel Využívá Lamportův algoritmus vzájemného vyloučení A B C data + Rel Acq k. s.

22 PDS 2008Ladislav Kotal22 Přístupová konzistence - příklad Synchronizační operace Acq a Rel pro každou sdílenou proměnou Rozlišuje exkluzivní a neexkluzivní přístup A B C Acq k. s. dataRel

23 PDS 2008Ladislav Kotal23 Modely konzistentnosti Závěr Dotazy? Děkuji za pozornost


Stáhnout ppt "Modely konzistentnosti Ladislav Kotal 2008. PDS 2008Ladislav Kotal2 Konzistentnost Konzistentní = soudržný, neporušený, pevný Konzistenční model = dohoda."

Podobné prezentace


Reklamy Google