Spójność i replikacja

20
Spójność i replikacja Wykład 7

description

Spójność i replikacja. Wykład 7. Zwielokrotnianie obiektów (1). Organizacja rozproszonego obiektu zdalnego, dzielonego przez różnych klientów. Zwielokrotnianie obiektów (2). System rozproszony obiektów świadomych zwielokrotnienia System rozproszony odpowiedzialny za zarządzanie kopiami. - PowerPoint PPT Presentation

Transcript of Spójność i replikacja

Page 1: Spójność i replikacja

Spójność i replikacja

Wykład 7

Page 2: Spójność i replikacja

Zwielokrotnianie obiektów (1)

Organizacja rozproszonego obiektu zdalnego, dzielonego przez różnych klientów.

Page 3: Spójność i replikacja

Zwielokrotnianie obiektów (2)

a) System rozproszony obiektów świadomych zwielokrotnieniab) System rozproszony odpowiedzialny za zarządzanie kopiami

Page 4: Spójność i replikacja

Zwielokrotnianie obiektów (3)

a) A distributed system for replication-aware distributed objects.b) A distributed system responsible for replica management

Page 5: Spójność i replikacja

Modele spójności nastawione na dane

Ogólna organizacja logicznej pamięci danych, fizycznie rozproszona między różnymi procesami.

Page 6: Spójność i replikacja

Spójność ścisła

Zachowanie 2 procesów działających na tej samej danej.• Pamięć spójna ściśle.• Pamięć, która niespójna ściśle.

„Każde czytanie zmiennej x zwraca wartość = ostatniemu zapisowi x”.

Page 7: Spójność i replikacja

Liniowość i spójność sekwenycjna (1)

a) Pamięć danych spójna sekwencyjne.b) Pamięć danych niespójna sekwencyjne.

“Wynik dowolnego wykonania jest taki sam, jak gdyby operacje (RW) wszystkich procesów na pamięci danych były wykonane w pewnym porządku jedna po drugiej, przy czym operacje każdego procesu

wystąpiły w tym ciągu w kolejności określonej przez jego program”

Page 8: Spójność i replikacja

Liniowość i spójność sekwencyjna (2)

Trzy procesy współbieżne.

Process P1 Process P2 Process P3

x = 1;

print ( y, z);

y = 1;

print (x, z);

z = 1;

print (x, y);

Page 9: Spójność i replikacja

Liniowość i spójność sekwencyjna (3)

4 z 90 dozwolonych ciągów wykonań procesów z poprzedniego slajdu.

x = 1;

print (y, z);

y = 1;

print (x, z);

z = 1;

print (x, y);

Drukuje: 001011

Sygnatura: 001011

(a)

x = 1;

y = 1;

print (x, z);

print (y, z);

z = 1;

print (x, y);

Drukuje: 101011

Sygnatura: 101011

(b)

y = 1;

z = 1;

print (x, y);

print (x, z);

x = 1;

print (y, z);

Drukuje: 010111

Sygnatura:

110101

(c)

y = 1;

x = 1;

z = 1;

print (x, z);

print (y, z);

print (x, y);

Drukuje: 111111

Sygnatura:

111111

(d)

Page 10: Spójność i replikacja

Spójność przyczynowa (1)

„Zapisy potencjalnie powiązane przyczynowo muszą być oglądane przez wszystkie

procesy w takim samym porządki. Zapisy współbieżne mogą być oglądane w różnej

kolejności.”

Page 11: Spójność i replikacja

Spójność przyczynowa (2)

Sekwencja dozwolona w pamięci przyczynowej, zabroniona w pamięci sekwencyjnej.

zapisy współbieżnezapisy przyczynowe

Page 12: Spójność i replikacja

Spójność przyczynowa (3)

a) Naruszenie spójności przyczynowej.b) Poprawna przyczynowo kolejność zdarzeń.

Page 13: Spójność i replikacja

Spójność FIFO (1)

„Zapisy wykonane przez 1 proces, są oglądane przez wszystkie inne procesy w porządku, w którym powstawały. Zapisy pochodzące od różnych procesów mogą być oglądane w różnym porządku.”.

Page 14: Spójność i replikacja

Spójność FIFO (2)

Dozwolony ciąg zdarzeń przy spójności FIFO

Page 15: Spójność i replikacja

Spójność FIFO (3)

Wykonanie instrukcji z punktu widzenia 3 procesów z poprzedniego slajdu. Instrukcje wytłuszczone generują wyniki.

x = 1;

print (y, z);

y = 1;

print(x, z);

z = 1;

print (x, y);

Drukuje: 00

(a)

x = 1;

y = 1;

print(x, z);

print (y, z);

z = 1;

print (x, y);

Drukuje: 10

(b)

y = 1;

print (x, z);

z = 1;

print (x, y);

x = 1;

print (y, z);

Drukuje: 01

(c)

Page 16: Spójność i replikacja

Spójność słaba (1)

3 cechy:• Dostępy do zmiennej synchronizacji są spójne

sekwencyjnie• Działanie na zmiennej synchronizacji jest

zabronione do czasu, aż wszystkie poprzednie zapisy zostaną ukończone

• Na jednostce danych zabrania się wykonywania operacji R/W dopóty, dopóki nie zostaną wykonane wszystkie poprzednie operacje na zmiennych synchronizacji.

Page 17: Spójność i replikacja

Spójność słaba (2)

Fragment programu, w którym niektóre zmienne mogą być przechowywane w rejestrach.

int a, b, c, d, e, x, y; /* zmienne*/int *p, *q; /* wskaźniki*/int f( int *p, int *q); /* prototyp funkcji */

a = x * x; /* a w rejestrze */b = y * y; /* b w rejestrze */c = a*a*a + b*b + a * b; /* używane później */d = a * a * c; /* używane później */p = &a; /* p wskazuje na a */q = &b /* q wskazuje na b */e = f(p, q) /* wywołanie funkcji */

Page 18: Spójność i replikacja

Spójność słaba (3)

a) Ciąg zdarzeń dozwolony w spójności słabej.b) Ciąg zdarzeń niedozwolony w spójności słabej.

Page 19: Spójność i replikacja

Spójność zwalniania (1)

Ciąg zdarzeń dozwolony w spójności zwalniania.

Page 20: Spójność i replikacja

Spójność zwalniania (2)

Warunki:• Przed wykonaniem operacji R/W, proces musi

sfinalizować wszystkie poprzednie nabycia.• Zanim będzie można wykonać zwolnienie, w

procesie należy zakończyć wszystkie operacje RW

• Dostęp do zmiennych synchronizacji wykazują spójność FIFO (nie jest wymagana spójność sekwencyjna).