Replikace Pednášky z distribuovaných systém Pro a proti replikaci 1. Zvýšení spolehlivosti. 2. Zvýšení výkonnosti. 3. Nutnost zachování škálovatelnosti systému co do potu komponent i geografické rozlehlosti. 4. Výkonnost se snižuje, protože s opravou jedné kopie souvisí i oprava ostatních kopií pro zachování konzistentnosti. 6.12.2004 DS - Konzistentnost a replikace 2 Vztah ke škálovatelnosti (1) Pro zlepšení škálovatelnosti jsou používány replikace a cache. Škálovatelnost je obecn prezentována jako problém prchodnosti. Replikace dat v blízkosti potenciálních uživatel mže zlepšit výkonnost a zlepšit škálovatelnost. Potenciální problémy: Šíka pásma požadovaná pro aktualizaci kopií mže být velká. Udržování konzistentních replikovaných kopií mže být problémové z pohledu škálovatelnosti. Proto je teba dodržovat urité dohody pi replikaci dat. 6.12.2004 DS - Konzistentnost a replikace 3 1
Vztah ke škálovatelnosti (2) Vícenásobné kopie. zvyšují výkonnost a redukují dobu pístupu zvyšují také režii pro udržení konzistentnosti píklad: N - krát replikované objekty frekvence tení R, frekvence zápisu W je-li R <<W vysoká konzistentnost zvyšuje režii, zprávy jsou zbytené Zdrojem ešení je udržování konzistentnosti volba vhodné sémantiky tsná konzistentnost vyžaduje globáln synchronizované hodiny ešení: snížíme požadavky na konzistentnost jsou k dispozici rzné stupn konzistentnosti 6.12.2004 DS - Konzistentnost a replikace 4 Replikace objekt (1) Organizace distribuovaných vzdálených objekt sdílených dvma rznými klienty. 6.12.2004 DS - Konzistentnost a replikace 5 Replikace objekt (2) a) Vzdálené objekty schopné zpracovávat soubžné vyvolání sebe sama. b) Vzdálený objekt pro který je vyžadován adaptér objektu ke zpracování soubžných volání. 6.12.2004 DS - Konzistentnost a replikace 6 2
Replikace objekt (3) a) Distribuovaný systém pro replikovatelné distribuované objekty aplikace je schopná replikace. b) Distribuovaný systém schopný managementu replik replikace zpracovává midleware. 6.12.2004 DS - Konzistentnost a replikace 7 Distribuní protokoly Rozumná otázka na této úrovni zní: pokud je zvolen model konzistentnosti, jak jsou aktuální opravy šíeny v DS? K odpovdi na tuto otázku se musíme podívat na nkolik distribuních protokol. Avšak pedtím ješt musíme udlat rozhodnutí týkající se vhodného umístní replik. 6.12.2004 DS - Konzistentnost a replikace 8 Uspoádání replikací dat Logická organizace rzných typ replikací datové pamti znázornná jako ti soustedné kruhy. 6.12.2004 DS - Konzistentnost a replikace 9 3
Repliky iniciované serverem ítání požadavk pístupu od rzných klient. 6.12.2004 DS - Konzistentnost a replikace 10 Porovnání protokol push a pull Stav serveru Posílané zprávy Doba reakce na klientu Operace push Seznam klient replik a cache pamtí Oprava nebo zpoždné vykonání opravy Bezprostední nebo as vykonání opravy Operace pull žádný Hlasování a oprava as vykonání opravy Porovnání mezi protokoly založenými na modelu push a pull operacích v pípad systému s více klienty a jedním serverem. 6.12.2004 DS - Konzistentnost a replikace 11 Protokoly se vzdáleným zápisem (1) Protokol vzdáleného zápisu do primární kopie s fixním serverem do kterého jsou posílány všechny operace tení i zápisu. 6.12.2004 DS - Konzistentnost a replikace 12 4
Protokoly se vzdáleným zápisem (2) Princip protokolu se zálohou primární kopie. 6.12.2004 DS - Konzistentnost a replikace 13 Protokoly s lokálním zápisem (1) Protokol lokálního zápisu do primární kopie, kdy jedna kopie migruje mezi procesy. 6.12.2004 DS - Konzistentnost a replikace 14 Protokoly s lokálním zápisem (2) Protokol primární kopie, kdy primární kopie migruje k procesm, ekajícím na provedení opravy. 6.12.2004 DS - Konzistentnost a replikace 15 5
Aktivní replikace (1) Problém replikovaných vyvolání. 6.12.2004 DS - Konzistentnost a replikace 16 Aktivní replikace (2) a) Posílání požadavku vyvolání z replikovaného objektu. b) Vrácení odpovdi replikovanému objektu. 6.12.2004 DS - Konzistentnost a replikace 17 Protokoly založené na hlasování Algoritmu hlasování: a) Korektní volba množiny pro tení a zápis b) Volba, která mže vézt ke konfliktu typu zápis zápis c) Správná volba, známá jako ROWA (read one, write all) 6.12.2004 DS - Konzistentnost a replikace 18 6
OBJECT IMPLEMENTATION stack; top: integer; stack: ARRAY[integer 0..N-1] OF integer OPERATION push (item: integer) BEGIN GUARD top < N DO stack [top] := item; top := top + 1; OD; END; OPERATION pop():integer; BEGIN GUARD top > 0 DO top := top 1; RETURN stack [top]; OD; END; BEGIN top := 0; END; Orca # variable indicating the top # storage for the stack # function returning nothing # push item onto the stack # increment the stack pointer # function returning an integer # suspend if the stack is empty # decrement the stack pointer # return the top item # initialization Zjednodušený objekt zásobníku v Orca s interními daty a dvma opracemi. 6.12.2004 DS - Konzistentnost a replikace 19 ízení sdílených objekt v Orca tyi pípady procesu P provádjícího operace nad objektem O v Orca. 6.12.2004 DS - Konzistentnost a replikace 20 Píinn konzistentní líná replikace Obecná organizace distribuované pamti. Klienti na sebe také pebírají zpracování konzistentní komunikace. 6.12.2004 DS - Konzistentnost a replikace 21 7
Zpracování operací tení Provádní operace tení nad lokální kopií. 6.12.2004 DS - Konzistentnost a replikace 22 Zpracování operací zápisu Provádní operace zápisu nad lokální kopií. 6.12.2004 DS - Konzistentnost a replikace 23 8