200 likes | 428 Views
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.
E N D
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
Zwielokrotnianie obiektów (3) • A distributed system for replication-aware distributed objects. • A distributed system responsible for replica management
Modele spójności nastawione na dane Ogólna organizacja logicznej pamięci danych, fizycznie rozproszona między różnymi procesami.
Spójność ścisła „Każde czytanie zmiennej x zwraca wartość = ostatniemu zapisowi x”. Zachowanie 2 procesów działających na tej samej danej. • Pamięć spójna ściśle. • Pamięć, która niespójna ściśle.
Liniowość i spójność sekwenycjna (1) “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” • Pamięć danych spójna sekwencyjne. • Pamięć danych niespójna sekwencyjne.
Liniowość i spójność sekwencyjna (2) Trzy procesy współbieżne.
Liniowość i spójność sekwencyjna (3) Czas 4 z 90 dozwolonych ciągów wykonań procesów z poprzedniego slajdu.
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.”
Spójność przyczynowa (2) zapisy współbieżne zapisy przyczynowe Sekwencja dozwolona w pamięci przyczynowej, zabroniona w pamięci sekwencyjnej.
Spójność przyczynowa (3) • Naruszenie spójności przyczynowej. • Poprawna przyczynowo kolejność zdarzeń.
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.”.
Spójność FIFO (2) Dozwolony ciąg zdarzeń przy spójności FIFO
Spójność FIFO (3) Wykonanie instrukcji z punktu widzenia 3 procesów z poprzedniego slajdu. Instrukcje wytłuszczone generują wyniki.
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.
Spójność słaba (2) 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 */ Fragment programu, w którym niektóre zmienne mogą być przechowywane w rejestrach.
Spójność słaba (3) • Ciąg zdarzeń dozwolony w spójności słabej. • Ciąg zdarzeń niedozwolony w spójności słabej.
Spójność zwalniania (1) Ciąg zdarzeń dozwolony w spójności zwalniania.
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).