DSM

background image

Rozproszona pamięć

Rozproszona pamięć

współdzielona

współdzielona

(ang. distributed shared

(ang. distributed shared

memory)

memory)

Rozproszone

Rozproszone

systemy operacyjne

systemy operacyjne

background image

Ogólna charakterystyka DSM

Ogólna charakterystyka DSM

Cel stosowania DSM

Dostarczenie abstrakcji w postaci wspólnej wirtualnej przestrzeni

adresowej, potencjalnie dostępnej dla wszystkich węzłów

systemu rozproszonego.

Zalety:

 wygodny dla programisty paradygmat programowania

równoległego (nie ma konieczności przekazywania

komunikatów),

 skalowalność i łatwość rozbudowy,

 dostępność wirtualnej przestrzeni adresowej obejmującej

pamięci fizyczne wszystkich węzłów,

 możliwość uruchomienia w środowisku rozproszonym

programów równoległych zaprojektowanych dla środowisk

wieloprocesorowych z pamięcią współdzieloną.

background image

Obsługa błędu strony w systemie pamięci

Obsługa błędu strony w systemie pamięci

wirtualnej

wirtualnej

procesor

adres

logiczny

s o

s

s — numer strony
r — numer ramki
o — przesunięcie

s — numer strony
r — numer ramki
o — przesunięcie

tablica

stron

n

urządzenie

wymiany

pamięć

pułapka

system

operacyjny

p

błąd

strony

background image

Obsługa błędu strony w systemie pamięci

Obsługa błędu strony w systemie pamięci

wirtualnej

wirtualnej

procesor

adres

logiczny

s o

adres

fizyczny

r o

s

s — numer strony
r — numer ramki
o — przesunięcie

s — numer strony
r — numer ramki
o — przesunięcie

tablica

stron

p

pamięć

background image

Obsługa błędu strony w systemie wirtualnej

Obsługa błędu strony w systemie wirtualnej

pamięci rozproszonej

pamięci rozproszonej

procesor

adres

logiczny

s o

s

s — numer strony
r — numer ramki
o — przesunięcie

s — numer strony
r — numer ramki
o — przesunięcie

tablica

stron

n

pamięć

pułapka

system

operacyjny

n

błąd

strony

background image

Koncepcje dostępu do danych

Koncepcje dostępu do danych

Dostęp zdalny – każdy dostęp do współdzielonego obiektu,

zlokalizowanego fizycznie w pamięci lokalnej innego węzła,
odbywa się przez sieć.

Relokacja – możliwa jest zmiana fizycznej lokalizacji

współdzielonego obiektu, czyli umieszczenie go w pamięci
lokalnej węzła, w którym pojawiło się żądanie dostępu.

Replikacja – obiekt logiczny może być jednocześnie

zlokalizowany fizycznie w pamięci lokalnej wielu węzłów, co
umożliwia równoległy dostęp do tego obiektu w wielu
węzłach.

background image

Dostęp lokalny

Dostęp lokalny

sieć

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

w

ę

ze

ł

w

ę

z

e

ł

węzeł

zarządc
a DSM

background image

Dostęp zdalny

Dostęp zdalny

sieć

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

w

ę

ze

ł

w

ę

z

e

ł

węzeł

zarządc
a DSM

background image

Zdalny dostęp – charakterystyka

Zdalny dostęp – charakterystyka

 Stosunkowo prosta realizacja

 Problem efektywności — duży

czas dostępu do danych w
zdalnych węzłach

background image

Relokacja

Relokacja

sieć

procesor

procesor

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

w

ę

ze

ł

w

ę

z

e

ł

węzeł

zarządc
a DSM

background image

Relokacja

Relokacja

sieć

procesor

procesor

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

w

ę

ze

ł

w

ę

z

e

ł

węzeł

zarządc
a DSM

background image

Relokacja

Relokacja

sieć

procesor

procesor

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

w

ę

ze

ł

w

ę

z

e

ł

węzeł

zarządc
a DSM

background image

Relokacja – charakterystyka

Relokacja – charakterystyka

 Problem lokalizacji

 Problem rozmiaru i struktury

jednostki podlegającej relokacji

 Problem migotania (ang.

trashing,
ping-pong effect)

background image

Replikacja

Replikacja

sieć

procesor

procesor

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

w

ę

ze

ł

w

ę

z

e

ł

węzeł

zarządc
a DSM

background image

Replikacja

Replikacja

sieć

procesor

procesor

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

w

ę

ze

ł

w

ę

z

e

ł

węzeł

zarządc
a DSM

background image

Replikacja

Replikacja

sieć

procesor

procesor

procesor

procesor

pamię

ć

lokaln

a

pamię

ć

lokaln

a

procesor

procesor

w

ę

ze

ł

w

ę

z

e

ł

węzeł

zarządc
a DSM

background image

Replikacja - charakterystyka

Replikacja - charakterystyka

 Problem lokalizacji

 Problem rozmiaru i struktury

jednostki podlegającej replikacji

 Problem migotania

(ang. trashing,
ping-pong effect)

 Problem spójności

kopii (replik)

background image

Struktura jednostki podlegającej replikacji

Struktura jednostki podlegającej replikacji

lub relokacji

lub relokacji

Strona – fizyczne połączenie kilku odrębnych obiektów

logicznych w jedną jednostkę udostępnianą jako całość
przez DSM (problem fałszywego współdzielenia).

Pojedyncza zmienna – duży jednostkowy koszt relokacji i

utrzymywania spójności.

Obiekt (hermetyczna struktura danych udostępniana tylko

przez zdefiniowane metody) – możliwość optymalizacji w
strategii utrzymywania spójności w związku ze ściśle
określonym sposobem dostępu (poprzez metody).

background image

Fałszywe współdzielenie

Fałszywe współdzielenie

background image

Problem spójności replik - protokół

Problem spójności replik - protokół

koherencji

koherencji

 Protokół unieważniania danych (ang. invalidation protocol)

– niespójne repliki są usuwane z pamięci lokalnej.

 Protokół aktualizacji danych (ang. update protocol)

niespójne repliki są aktualizowane.

background image

Problem lokalizacji stron – system

Problem lokalizacji stron – system

IVY

IVY

Statyczny scentralizowany mechanizm lokalizacji stron –

jeden zarządca stron.

Statyczny rozproszony mechanizm lokalizacji stron –

identyfikacja zarządcy na podstawie numeru strony.

Dynamiczny mechanizm lokalizacji stron – bazuje na

informacji o prawdopodobnych właścicielach stron. W razie
błędu strony wysyłane jest żądanie do prawdopodobnego
właściciela strony. Jeżeli odbiorca żądania nie jest
właścicielem strony, to przekazuje on żądanie do swojego
prawdopodobnego właściciela strony.

background image

Podstawowe pojęcia i struktury danych –

Podstawowe pojęcia i struktury danych –

system

system

IVY

IVY

Właściciel strony – węzeł, na którym była wykonywana

ostatnia operacja zapisu danej strony.

Zbiór kopii (copyset) – zawiera identyfikatory węzłów

posiadających kopię strony (przechowywana przez właściciela
strony).

Zarządca (w podejściu statycznym) – węzeł, który przechowuje

dane o właścicielach poszczególnych stron.

Tablica właścicieli stron – dla każdej strony zawiera

identyfikator jej właściciela (przechowywany przez zarządców).

Prawdopodobny właściciel (w podejściu dynamicznym) –

tablica zawierająca dla każdej strony w systemie identyfikator
węzła, o którym wiadomo, że był kiedyś (lub jeszcze jest)
właścicielem danej strony; przechowywana przez każdy węzeł.

background image

Statyczny scentralizowany mechanizm

Statyczny scentralizowany mechanizm

lokalizacji

lokalizacji

stron – odczyt

stron – odczyt

#1
{}
#2
{}

#1
{}
#2
{}

w

ę

ze

ł

A

#4

#4

w

ę

ze

ł

B

#3 {}
#4
{B}

#3 {}
#4
{B}

w

ę

ze

ł

C

#1 A
#2 A
#3 C
#4 C

#1 A
#2 A
#3 C
#4 C

za

rz

ą

d

c

a

A}

Odczyt strony #4:

1. uzyskanie
repliki

2. wykonanie
operacji

#4

background image

Statyczny scentralizowany mechanizm

Statyczny scentralizowany mechanizm

lokalizacji

lokalizacji

stron – zapis

stron – zapis

#1
{}
#2
{}

#1
{}
#2
{}

w

ę

ze

ł

A

#4

#4

w

ę

ze

ł

B

#3
{}
#4
{B}

#3
{}
#4
{B}

w

ę

ze

ł

C

#1 A
#2 A
#3 C
#4 C

#1 A
#2 A
#3 C
#4 C

za

rz

ą

d

c

a

Zapis strony #4:

1. uzyskanie
własności

2. unieważnienie
repliki

#4 {B}

3. wykonanie
operacji

}

A

background image

Dynamiczny mechanizm lokalizacji stron –

Dynamiczny mechanizm lokalizacji stron –

odczyt

odczyt

#1
{}
#2
{}

#1
{}
#2
{}

w

ę

ze

ł

A

#4

#4

w

ę

ze

ł

B

#3 {}
#4 {B}

#3 {}
#4 {B}

w

ę

ze

ł

C

#1 A
#2 A
#3 C
#4 B

#1 A
#2 A
#3 C
#4 B

A}

Odczyt strony #4:

1. uzyskanie
repliki

2. wykonanie
operacji

#4

#1 A
#2 A
#3 C
#4 C

#1 A
#2 A
#3 C
#4 C

#1 A
#2 A
#3 C
#4 C

#1 A
#2 A
#3 C
#4 C

C

background image

Dynamiczny mechanizm lokalizacji stron –

Dynamiczny mechanizm lokalizacji stron –

zapis

zapis

#1
{}
#2
{}

#1
{}
#2
{}

w

ę

ze

ł

A

#4

#4

w

ę

ze

ł

B

#3 {}
#4 {B}

#3 {}
#4 {B}

w

ę

ze

ł

C

#1 A
#2 A
#3 C
#4 B

#1 A
#2 A
#3 C
#4 B

Zapis strony #4:

#1 A
#2 A
#3 C
#4 C

#1 A
#2 A
#3 C
#4 C

#1 A
#2 A
#3 C
#4 C

#1 A
#2 A
#3 C
#4 C

1. uzyskanie
własności

2. unieważnienie
repliki

3. wykonanie
operacji

A

#4 {B}

}

A

A

background image

Model spójności

Model spójności

Model spójności określa gwarancje dotyczące
spójności replik, dawane aplikacji (równoległej)
przez system DSM.

Model spójności określa własności

Model spójności określa własności

gwarantowane przez system DSM

gwarantowane przez system DSM

W jaki sposób definiować model
spójności?
W jaki sposób określić gwarancje dla
aplikacji?
Kiedy i w jaki sposób egzekwować te
gwarancje?

???

background image

Modele spójności replik

Modele spójności replik

Modele spójności przy dostępie ogólnym - swobodnym

(ang. general access consistency models) – doprowadzenie
do spójności replik realizowane jest przy każdej modyfikacji
DSM.

Modele spójności przy dostępie synchronizowanym

(ang. synchronisation access consistency models) –
doprowadzenie do spójności replik realizowane jest tylko
przy wykonywaniu operacji synchronizujących, które są
rozpoznawane przez system DSM.

background image

Modele spójności przy dostępie ogólnym

Modele spójności przy dostępie ogólnym

(elementarne

(elementarne

)

)

Spójność atomowa (ang. atomic consistency)

Spójność sekwencyjna (ang. sequential consistency)

Spójność przyczynowa (ang. causal consistency)

Spójność PRAM (ang. pipelined RAM consistency)

Koherencja (ang. coherence)

Spójność procesorowa (ang. processor consistency)

background image

Modele spójności przy dostępie

Modele spójności przy dostępie

synchronizowanym

synchronizowanym

Spójność słaba (ang. weak consistency)

Spójność zwalniania (ang. release consistency)

Spójność wejścia (ang. entry consistency)

Spójność zakresu (ang. scope consistency)

background image

Definicja modeli spójności – podstawowe

Definicja modeli spójności – podstawowe

założenia

założenia

 W skład systemu DSM wchodzą:

 zbiór sekwencyjnych procesów P = {p

1

, p

2

, …, p

n

}

 zbiór współdzielonych zmiennych X = {x

1

, x

2

, …}

 Każdy proces ma własną replikę całego zbioru X
 Proces p

i

może realizować na zmiennej xX dwie operacje:

 zapisu wartości v – w

i

(x)v

 odczytu wartości v – r

i

(x)v

 Realizacja operacji przebiega w dwóch fazach:

 żądanie operacji (ang. operation issue)
 wykonanie operacji (ang. operation execution)

background image

Definicja modeli spójności – oznaczenia

Definicja modeli spójności – oznaczenia

w

i

(x)v

operacja zapisu wartości v w zmiennej x, wykonana
przez proces p

i

r

i

(x)v

operacja odczytu wartości v zmiennej x, wykonana
przez proces p

i

O

zbiór wszystkich operacji w systemie

O

i

zbiór operacji procesu p

i

(żądanych przez p

i

)

OW

zbiór wszystkich operacji zapisu w systemie

O|x

zbiór wszystkich operacji na zmiennej x

i

lokalny porządek operacji procesu p

i

(lokalny porządek

zgłaszania żądań przez procesu p

i

)

przyczynowy porządek operacji procesu p

i

(przyczynowy porządek zgłaszania żądań przez
procesu p

i

)

i

porządek (uszeregowanie, ang. serialisation), zgodnie
z którym operacje postrzegane są przez proces p

i

(zgodnie z którym operacje wykonywane są na replice
procesu p

i

)

background image

Definicja porządku przyczynowego

Definicja porządku przyczynowego

[

]

1,02

1, 2,

( 1

2

1

2)

( )

( )

( 1

2)

1

2

i

i

o

O

x X

o o o O

o

o

o

o

w x v

r x v

o

o o

o

o

o

"��

"

�"

ٮ

background image

Definicja uszeregowania legalnego

Definicja uszeregowania legalnego

Uszeregowanie

i

jest legalne



v

x

r

u

x

o

v

x

w

v

u

v

x

r

v

x

w

i

i

OW

O

u

x

o

i

O

v

x

r

OW

v

x

w

i

i

)

(

)

(

)

(

)

(

)

(

)

(

)

(

,

)

(

UWAGA

W celu uproszczenia definicji zakłada się, że
każda operacja zapisu danej zmiennej zapisuje
unikalną wartość, co umożliwia identyfikowanie
operacji zapisu poprzez tą wartość.

background image

Definicja historii

Definicja historii

Historia lokalna (procesu p

i

)

Zbiór uporządkowany h

i

= (O

i

, 

i

), gdzie 

i

jest relacją

porządku lokalnego.

Historia globalna

Zbiór uporządkowany h = (O, ), gdzie  jest relacją porządku

przyczynowego.

Obraz historii h w procesie p

i

Zbiór uporządkowany hv

i

= (O

i

OW, 

i

), gdzie 

i

jest legalnym

uszeregowaniem.

Obraz historii h

Kolekcja obrazów poszczególnych procesów: hv =  hv

1

, hv

2

, ...,

hv

n

.

background image

Modele spójności — definicja spójności

Modele spójności — definicja spójności

sekwencyjnej

sekwencyjnej

Obraz hv historii h musi spełniać następujące warunki:







2

1

2

1

..

1

2

,

1

o

o

o

o

i

j

n

j

OW

O

o

o

i

1

2

2

1

..

1

..

1

2

,

1

w

w

w

w

i

n

i

i

n

i

OW

w

w

background image

Spójność sekwencyjna – przykład

Spójność sekwencyjna – przykład

w

2

(x)1

p

2

p

1

w

2

(x)2

r

1

(x)1

w

2

(x)1

1

w

2

(x)2

1

r

1

(x)1

w

2

(x)1 

2

w

2

(x)2

hv

2

:

hv

1

:

background image

Spójność sekwencyjna – protokół koherencji

Spójność sekwencyjna – protokół koherencji

(1)

(1)

read(x

X)

return M

i

[x]

write(x

X, v)

atomic_broadcast U(x,
v)
wait
return

on receipt of U(x, v)
from p

k

M

i

[x] : v

if ki

signal
end if

Algorytm fast-read dla procesu p

i

:

background image

Spójność sekwencyjna — protokół koherencji

Spójność sekwencyjna — protokół koherencji

(2)

(2)

read(x

X)

if num

i

 0

wait
end if
return M

i

[x]

write(x

X, v)

num

i

: num

i

 1

FIFO_atomic_broadcast U(x, v)
return

on receipt of U(x, v)
from p

k

M

i

[x] : v

if ki

num

i

: num

i

 1

if num

i

 0

signal
end if
end if

Algorytm fast-write dla procesu p

i

:

background image

Modele spójności — definicja spójności

Modele spójności — definicja spójności

atomowej

atomowej

Obraz hv historii h musi spełniać następujące warunki:







2

1

2

1

..

1

2

,

1

o

o

o

o

i

RT

n

j

OW

O

o

o

i

1

2

2

1

..

1

..

1

2

,

1

w

w

w

w

i

n

i

i

n

i

OW

w

w

2

1

o

o

RT

o1 kończy się w czasie
rzeczywistym
, zanim zaczyna się
o2

background image

Spójność atomowa — przykład

Spójność atomowa — przykład

w

2

(x)1

p

2

p

1

w

2

(x)2

r

1

(x)1

r

1

(x)2

background image

Modele spójności — definicja spójności

Modele spójności — definicja spójności

przyczynowej

przyczynowej

Obraz hv historii h musi spełniać warunek:

2

1

2

1

2

,

1

o

o

o

o

i

OW

O

o

o

i

background image

Spójność przyczynowa — przykład

Spójność przyczynowa — przykład

w

2

(x)1

p

2

p

1

r

2

(y)1

r

1

(x)1

w

1

(x)2 w

1

(y)1

r

2

(x)2

w

1

(x)

2

1

w

2

(x)1

1

w

1

(y)1

w

2

(x)1 

2

w

1

(x)2

hv

2

:

hv

1

:

1

r

1

(x)1

2

r

2

(y)1

2

w

1

(y)1

2

r

2

(x)2

background image

Spójność przyczynowa — protokół koherencji

Spójność przyczynowa — protokół koherencji

read(x

X)

return M

i

[x]

write(x

X, v)

M

i

[x] : v

causal_broadcast U(x,
v)
return

on receipt of U(x, v)
from p

k

if ki

M

i

[x] : v

end if

Algorytm dla procesu p

i

:

background image

Modele spójności — definicja spójności

Modele spójności — definicja spójności

PRAM

PRAM

Obraz hv historii h musi spełniać warunek:







2

1

2

1

..

1

2

,

1

o

o

o

o

i

j

n

j

OW

O

o

o

i

background image

Spójność PRAM — przykład

Spójność PRAM — przykład

p

2

p

1

r

2

(y)1

w

1

(x)1 w

1

(y)1

w

2

(x)2

p

3

r

3

(x)2 r

3

(x)1

w

2

(x)2 

3

r

3

(x)2

hv

3

:

3

r

3

(x)1

3

w

1

(x)1

3

w

1

(y)1

background image

Spójność PRAM — protokół koherencji

Spójność PRAM — protokół koherencji

read(x

X)

return M

i

[x]

write(x X, v)

M

i

[x] : v

FIFO_broadcast U(x, v)
return

on receipt of U(x, v)
from p

k

if ki

M

i

[x] : v

end if

Algorytm dla procesu p

i

:

background image

Modele spójności — definicja koherencji

Modele spójności — definicja koherencji

Obraz hv historii h musi spełniać warunek:

1

2

2

1

..

1

..

1

|

2

,

1

w

w

w

w

i

n

i

i

n

i

x

O

OW

w

w

X

x

background image

Koherencja — przykład

Koherencja — przykład

w

2

(x)1

p

2

p

1

r

2

(y)1

r

1

(x)1w

1

(x)2

w

1

(y)1

r

2

(x)1

r

1

(x)2

r

2

(x)2

w

2

(x)

1

2

w

1

(y)1

hv

2

:

2

r

2

(x)1

2

r

2

(y)1

2

w

1

(x)2

w

2

(x)

1

1

r

1

(x)1

hv

1

:

1

r

1

(x)2

1

w

1

(x)2

1

w

1

(y)1

2

r

2

(x)2

background image

Koherencja (model spójności) — protokół

Koherencja (model spójności) — protokół

koherencji (1)

koherencji (1)

read(x

X)

return M

i

[x]

write(x

X, v)

atomicx_broadcast
U(x, v)
wait
return

on receipt of U(x, v)
from p

k

M

i

[x] : v

if ki

signal
end if

Algorytm fast-read dla procesu p

i

:

background image

Koherencja (model spójności) — protokół

Koherencja (model spójności) — protokół

koherencji (2)

koherencji (2)

read(x

X)

if num

i

[x]  0

wait

end if

return M

i

[x]

write(x

X, v)

num

i

[x] : num

i

[x]  1

FIFOx_atomicx_broadcast U(x, v)

return

on receipt of U(x, v)
from p

k

M

i

[x] : v

if ki

num

i

[x] : num

i

[x]  1

if num

i

[x]  0

signal
end if
end if

Algorytm fast-write dla procesu p

i

:

background image

Modele spójności — definicja spójności

Modele spójności — definicja spójności

procesorowej

procesorowej

Obraz hv historii h musi spełniać następujące warunki

(PRAM + koherencja):







2

1

2

1

..

1

2

,

1

o

o

o

o

i

j

n

j

OW

O

o

o

i

1

2

2

1

..

1

..

1

|

2

,

1

w

w

w

w

i

n

i

i

n

i

x

O

OW

w

w

X

x

background image

Spójność procesorowa — przykład

Spójność procesorowa — przykład

w

2

(x)1

p

2

p

1

r

2

(y)1

r

1

(x)1

w

1

(x)2 w

1

(y)1

r

2

(x)1

w

1

(x)

2

1

w

1

(y)1

hv

1

:

1

r

1

(x)1

1

w

2

(x)1

w

1

(x)

2

2

w

2

(x)1

hv

2

:

2

r

2

(y)1

2

w

1

(y)1

2

r

2

(x)1

r

1

(x)2

1

r

1

(x)2

r

2

(y)0

2

r

2

(y)0

background image

Spójność procesorowa — protokół koherencji

Spójność procesorowa — protokół koherencji

read(x

X)

if num

i

[x]  0

wait

end if

return M

i

[x]

write(x

X, v)

num

i

[x] : num

i

[x]  1

FIFO_atomicx_broadcast U(x, v)

return

on receipt of U(x, v)
from p

k

M

i

[x] : v

if ki

num

i

[x] : num

i

[x]  1

if num

i

[x]  0

signal
end if
end if

Algorytm fast-write dla procesu p

i

:

background image

Spójność procesorowa — przykład

Spójność procesorowa — przykład

naruszenia porządku przyczynowego

naruszenia porządku przyczynowego

r

2

(x)1

p

2

p

1

r

3

(y)1

w

1

(x)2

w

2

(y)1

p

3

r

3

(x)1 r

3

(x)2

w

1

(x)1

r

2

(x)2

w

1

(x)1  w

1

(x)2 

w

2

(y)1

hv

3

: w

2

(y)1 r

3

(y)1  w

1

(x)1  r

3

(x)1  w

1

(x)2 

r

3

(x)2

background image

Relacje pomiędzy modelami spójności

Relacje pomiędzy modelami spójności







2

1

2

1

..

1

2

,

1

o

o

o

o

i

j

n

j

OW

O

o

o

i

2

1

2

1

2

,

1

o

o

o

o

i

OW

O

o

o

i







2

1

2

1

..

1

2

,

1

o

o

o

o

i

RT

n

j

OW

O

o

o

i

1

2

2

1

..

1

..

1

2

,

1

w

w

w

w

i

n

i

i

n

i

OW

w

w

PRAM


przyczynow
a


koherencj
a

p

ro

c

e

s

o

ro

w

a

sekwencyjna

atomowa

1

2

2

1

..

1

..

1

|

2

,

1

w

w

w

w

i

n

i

i

n

i

x

O

OW

w

w

X

x

background image

Definicja modeli spójności przy dostępie

Definicja modeli spójności przy dostępie

synchronizowanym — założenia

synchronizowanym — założenia

 W skład systemu DSM wchodzą:

 zbiór sekwencyjnych procesów P = {p

1

, p

2

, …, p

n

}

 zbiór współdzielonych zmiennych X = {x

1

, x

2

, …}

 zbioru obiektów synchronizujących S = {s

1

, s

2

, ...}

 Wyróżnia się (najczęściej) dwa rodzaje obiektów

synchronizujących:

zamek (ang. lock), na którym wykonywane są operacje:

acquire — nabycie zamka
release — zwolnienie zamka

bariera (ang. barrier) z operacją

 synchronizacja na barierze

background image

Spójność słaba

Spójność słaba

(ang.

(ang.

weak consistency

weak consistency

)

)

 Wyróżnia się dwa rodzaje operacji dostępu:

 operacje dostępu do globalnych danych

(współdzielonych),

 operacje dostępu do zmiennych synchronizujących.

 Definicja modelu:

 operacje dostępu do zmiennych synchronizujących są

spójne atomowo (w nowszym podejściu sekwencyjnie),

 nie można wykonać (zakończyć) operacji dostępu do

zmiennej synchronizującej przed globalnym
zakończeniem wcześniejszych operacji dostępu do
zmiennych współdzielonych,

 nie można wykonać (zakończyć) operacji dostępu do

zmiennej współdzielonej przed globalnym
zakończeniem wcześniejszych operacji dostępu do
zmiennych synchronizujących.

background image

Spójność słaba — przykład

Spójność słaba — przykład

w

2

(x)1

p

2

p

1

synch

2

(s)

r

1

(x)1

synch

1

(s)

r

2

(x)2

w

1

(x)2

r

2

(x)0

wartość początkowa x = 0

background image

Spójność zwalniania

Spójność zwalniania

(ang.

(ang.

release

release

consistency

consistency

)

)

 Dwa rodzaje synchronizacji są możliwe:

 wzajemne wykluczanie (acquire-release),
 synchronizacja na barierze.

 Operacje synchronizujące są spójne procesorowo, a

pozostałe operacje są spójne w sensie PRAM.

 Repliki są doprowadzane do stanu spójnego przy operacji

bariery oraz przy

release w przypadku spójności eager release,
acquire w przypadku spójności lazy release.

 Doprowadzanie do stanu spójnego polega na:

unieważnianiu replik w przypadku protokołu

unieważniania,

aktualizacji replik w przypadku protokołu aktualizacji.

background image

Spójność zwalniania — przykład

Spójność zwalniania — przykład

r

2

(x)0

p

2

p

1

acq

1

(lock)

w

1

(x)1rel

1

(lock)

r

2

(x)1

acq

1

(lock)

W przypadku protokołu

unieważniania operacje

spowodują błąd strony

w

1

(y)1

r

2

(y)0

r

2

(y)1

background image

Spójność zakresu

Spójność zakresu

(ang.

(ang.

scope consistency

scope consistency

)

)

 Operacje acquire i release odpowiednio otwierają i

zamykają zakres.

 Operacja bariery zamyka zakres globalny i otwiera następny

zakres globalny.

 Istnieją jawne operacje otwarcia i zamknięcia zakresu:

open_scope i close_scope.

 Po otwarciu zakresu aktualizowane/unieważnianie są

wszystkie repliki zmodyfikowane w czasie poprzedniego
otwarcia zakresu (poprzedni zakres musi być zamknięty).

background image

Spójność zakresu — przykład

Spójność zakresu — przykład

r

2

(x)0

p

2

p

1

acq

1

(lock)

w

1

(x)1rel

1

(lock)

r

2

(x)1

acq

1

(lock)

w

1

(y)1

r

2

(y)0

r

2

(y)0

background image

Spójność wejścia

Spójność wejścia

(ang.

(ang.

entry consistency

entry consistency

)

)

 Spójność wejścia zbliżona jest do spójności zakresu.

 Są dwa rodzaje operacji acquire: współdzielona i wyłączna.

 Z każdym globalnym obiektem związana jest zmienna

synchronizująca, na której wykonywana jest odpowiednia
operacja przed dostępem do zmiennej.

background image

Własność lokalności

Własność lokalności

Lokalność jest cechą spójności atomowej i

koherencji.

Własność

Własność

P

P

systemu współbieżnego jest

systemu współbieżnego jest

lokalna wówczas, gdy system jako całość

lokalna wówczas, gdy system jako całość

posiada własność

posiada własność

P

P

, jeśli każdy pojedynczy

, jeśli każdy pojedynczy

obiekt posiada własność

obiekt posiada własność

P

P

.

.

background image

Własność lokalności — przykład

Własność lokalności — przykład

r

2

(x1)1

p

2

p

1

r

2

(y1)1

r

1

(y2)1

w

1

(x1)1

w

1

(y1)1

r

2

(x2)1

w

1

(x1)

1

1

w

2

(y1)1

1

w

1

(x2)1

w

1

(x1)1

2

w

1

(x2)1

hv

2

:

hv

1

:

1

w

1

(y2)1

2

r

2

(y1)1

2

w

1

(y1)1

2

r

2

(x2)0

w

1

(x2)1

w

1

(y2)1

r

2

(x2)0

2

r

2

(x1)1

2

r

2

(x2)1

2

r

2

(y2)1

2

w

1

(y2)1

background image

Własność lokalności — przykład

Własność lokalności — przykład

r

2

(x1)1

p

2

p

1

w

1

(x1)1

r

2

(x2)1

w

1

(x1)

1

1

w

1

(x2)1

w

1

(x1)1

2

w

1

(x2)1

hv

2

:

hv

1

:

2

r

2

(x2)0

w

1

(x2)1

r

2

(x2)0

2

r

2

(x1)1

2

r

2

(x2)1

background image

Własność lokalności — przykład

Własność lokalności — przykład

p

2

p

1

r

2

(y1)1

r

1

(y2)1

w

1

(y1)1

w

2

(y1)

1

hv

2

:

hv

1

:

1

w

1

(y2)1

2

r

2

(y1)1

w

1

(y1)

1

w

1

(y2)1

2

r

2

(y2)1

2

w

1

(y2)1

background image

Koniec

Koniec

...

i żyli długo

i

szczęśliwie


Document Outline


Wyszukiwarka

Podobne podstrony:
012 2011 DSM zal 8, kandek
DSM podsumowanie
DSM podsumowanie
DSM 2 TEST 3
III tydzień Kwestie plci w DSM-IV
Dydaktyczny system mikroprocesorowy DSM 51 Budowa systemu
Zarzadzenie Nr? 07 DSM
Kryteria diagnostyczne autyzmu w kolejnych wersjach DSM, Pedagogika, pedagogika specjalna
Charakterystyka zespołu obsesyjno-kompulsyjnego w oparciu o DSM IV- R, Kliniczna, Psychopatologia, T
DSM by Jeżyk na koma
DSM V - tłumaczenie
Skala nasilenia stresu psychospoêecznego dla dorosêych wedêu , Skala nasilenia stresu psychospołeczn
PTSD, Kryteria diagnostyczne PTSD wg ICD10 i DSM IV, ICD 10
DSM-IV, psychologia, V rok, diagnoza i terapia adhd
Pytania DSM
DSM IV, Z pracy pedagoga szkolnego, psychologia
Kryteria Diagnostyczne DSM

więcej podobnych podstron