You are on page 1of 7

Arsyet per replikim

• Te dhenat replikohen per te rritur sigurine e


sistemit
• Replikimi permireson performancen
Konsistenca dhe Replikimi – Sistemi mund te perbehet nga nje numer i madh
makinash
– Sistemi mund te kete shtrirje te gjere gjeografike
• Kompromise
– Rritje e performances
– Kosto per rritjen e bandwidth-it per t’i mbajtur
replikat konsistente

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Replikimi i objekteve (1) Replikimi i objekteve (2)

a) Nje objekt i larget i cili eshte ne gjendje t’i trajtoje vete thirrjet qe i vijne ne te
njejten kohe.
Organizimi i nje objekti ne distance qe perdoret b) Nje objekt i larget per te cilin nevojitet nje pershtates (object adapter) per
trajtimin e thirrjeve qe vijne ne te njejten kohe.
nga dy kliente te ndryshem.
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Replikimi i objekteve (3) Modele te konsistences data-centric

a) Nje sistem i shperndare per objekte te shperndara qe


jane ne dijeni te faktit qe jane replikuar.
b) Nje sistem i shperndare qe eshte pergjegjes per
manaxhimin e replikave. Organizim i pergjithshem i nje data store-i logjik, i
shperndare fizikisht dhe e replikuar ne shume procese.
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

1
Konsistenca strikte Sekuenca lineare dhe sekuenciale (1)
Çdo lexim mbi te dhenen x kthen nje vlere qe i Rezultati i cdo ekzekutimi eshte i njejte sikur veprimet (lexim/shkrim) nga
korrespondon rezultatit te shkrimit me te fundit qe eshte te gjithe proceset mbi data store te ishin ekzekutuar sipas te njejtes
renditje sekuenciale dhe veprimet e cdo procesi individual te shfaqen ne
kryer mbi x. kete sekuence ne rendin e percaktuar nga programi i tij.

Sjellja e dy proceseve qe veprojne mbi te njejten te dhene.


a. Konstistence strikte.
b. Nuk ka konsistence strikte. a) Data store sekuencialisht konsistent.
b) Nje data store qe nuk eshte sekuencialish konsistent

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Sekuenca lineare dhe sekuenciale (2) Sekuenca lineare dhe sekuenciale (3)
Linearizimi: rezultati i cdo ekzekutimi eshte i njejte sikur veprimet nga te gjithe x = 1; x = 1; y = 1; y = 1;
proceset mbi data store te ishin ekzekutuar sipas ndonje rendi sekuencial dhe print ((y, z); y = 1; z = 1; x = 1;
veprimet e cdo procesi individual te shfaqeshin ne kete sekuence ne rendin e
y = 1; print (x,z); print (x, y); z = 1;
specifikuar nga programi i tij. Si dhe, nese TSop1(x)<TSop2(y), atehere op1(x) duhet
te paraprije op2(y) ne kete sekuence. print (x, z); print(y, z); print (x, z); print (x, z);
z = 1; z = 1; x = 1; print (y, z);
Process P1 Process P2 Process P3 print (x, y); print (x, y); print (y, z); print (x, y);

x = 1; y = 1; z = 1; Prints: 001011 Prints: 101011 Prints: 010111 Prints: 111111


print ( y, z); print (x, z); print (x, y);
Signature: Signature: Signature: Signature:
001011 101011 110101 111111
Tre procese qe ekzekutohen njekohesisht (a) (b) (c) (d)

Kater sekuenca te vlefshme ekzekutimi per proceset ne faqen e meparshme. Aksi


vertikal perfaqeson kohen.

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Konsistenca shkakesore (1) Konsistenca shkakesore (2)


Qe nje DS (data store) te konsiderohet se
aplikon konsistencen shkakesore, eshte e
nevojshme qe te plotesoje kushtet:
– Veprimet e shkrimit qe jane potencialisht te
lidhura nga nje shkak duhet te shihen nga te
gjithe proceset sipas te njejtes renditje.
– Veprimet e shkrimit qe realizohen njekohesisht
Kjo sekuence eshte e lejueshme per nje DS qe
mund te shihen sipas nje renditje te ndryshme ne
aplikon konsistencen shkakesore, por jo
makina te ndryshme. konsistencen strikte dhe sekuenciale.

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

2
Konsistenca shkakesore (3) Konsistenca FIFO (1)
Kushti i nevojshem:
veprimet e shkrimit te kryera nga nje proces i
vetem shihen nga te gjithe proceset e tjere
sipas radhes qe jane ekzekutuar, por shkrimet
nga procese te ndryshem mund te shihen
sipas renditjeve te ndryshme ne procese te
ndryshem.
a. Cenohet konsistenca shkakesore
b. Nje sekuence e sakte ngjarjesh qe ploteson kushtin e
konsistences shkakesore
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Konsistenca FIFO (2) Konsistenca FIFO (3)


x = 1; x = 1; y = 1;
print (y, z); y = 1; print (x, z);
y = 1; print(x, z); z = 1;
print(x, z); print ( y, z); print (x, y);
z = 1; z = 1; x = 1;
print (x, y); print (x, y); print (y, z);

Prints: 00 Prints: 10 Prints: 01

(a) (b) (c)

Ekzekutimi i instruksioneve ashtu sic shihen nga tre proceset e


Nje sekuence e vlefshme ngjarjesh per konsistencen FIFO. permendur ne slajdet e meparshme. Instruksionet qe jane
me te theksuara jane ato qe gjenerojne output-in e treguar.

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Konsistenca FIFO (4) Konsistenca e dobet (1)


Vetite:
Process P1 Process P2 • Aksesi i variablave te sinkronizimit te lidhura me
x = 1; y = 1; nje DS eshte sekuencialisht konsistent
if (y == 0) kill (P2); if (x == 0) kill (P1); • Nuk lejohet te kryet ndonje veprim mbi nje
variabel sinkronizimi derisa te gjitha veprimet e
meparshme te shkrimit te jene kryer kudo
• Nuk lejohet te kryet asnje veprim shkrimi ose
leximi mbi te dhenat derisa te jene kryer te gjitha
Dy procese qe ekzekutohen njekohesisht. veprimet e meparshme mbi variablat e
sinkronizimit

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

3
Konsistenca e dobet (2) Konsistenca Release (1)

Nje sekuence e vlefshme ngjarjesh per


konsistencen release

a) Nje sekuence e vlefshme ngjarjesh per konsistencen e dobet


b) Nje sekuence jo e vlefshme per konsistencen e dobet
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Konsistenca Release (1) Konsistenca Entry (1)


Rregullat:
• Perpara se te kryet nje veprim shkrimi ose leximi
ne te dhenat e perbashketa, te gjitha kerkesat
(acquare) e meparshme per te hyre ne SK te
kryera nga procesi duhet te kene perfunduar ne
menyre te suksesshme.
• Perpara se te lejohet dalja nga SK (release), te
gjitha leximet dhe shkrimet e meparshme nga
procesi duhet te kene perfunduar. Nje sekuence e vlefshme ngjarjesh per
• Per aksesin e variablave te sinkronizimit aplikohet konsistencen entry
konsistenca FIFO.

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Konsistenca eventuale Leximet monoton


Nese nje proces lexon vleren e nje te dhene x, cdo lexim pasardhes i x-it
nga i njejti proces do te ktheje gjithmone te njejten vlere ose vleren me te
fundit.

Veprime leximi te kryera nga nje proces i vetem P ne dy kopje lokale te ndryshme te te njejtit DS.
a) DS qe implementon konsistencen e leximit monoton
b) DS qe nuk implementon konsistencen e leximit monoton
Nje perdorues ne levizje qe akseson replika te ndryshme
te bazes se te dhenave te shperndare
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

4
Shkrimet monoton Lexo shkrimet e tua
Nje veprim shkrimi i kryer nga nje proces mbi te dhenen x perfundon perpara
Efekti i nje veprimi shkrimi nga nje proces mbi te dhenen x do te shihet
cdo shkrimi pasardhes mbi x nga i njejti proces.
gjithmone nga leximi pasardhes i x qe do te kryej i njejti proces.

Veprime shkrimi te kryera nga nje proces i vetem P ne dy kopje lokale te ndryshme te te njejtit DS.
a) DS qe implementon konsistencen e shkrimit monoton
b) DS qe nuk implementon konsistencen e shkrimit monoton
a) Nje DS qe siguron konsistencen “lexo shkrimet e tua”
b) Nje DS qe nuk siguron kete konsistence
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Shkrimet pasojne leximet Vendosja e replikave


Nje veprim shkrimi nga nje proces mbi x qe ndodh pas veprimit te
meparshem te leximit te x nga i njejti proces , eshte i garantuar qe do te
ndodh ne te njejten ose vleren me te fundit te lexuar te x-it.

Organizimi logjik i llojeve te ndryshme te kopjeve te


a) Nje DS qe siguron konsistencen “shkrimet – pasojne – leximet” nje DS ne tre unaza koncentrike
b) Nje DS qe nuk siguron nje konsistence te tille

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Vendosja e replikave Replikim i nisur nga serveri


Vendosja e replikave
1. Replikat permanenete
• numer i vogel i replikave permanente
• Shembuj:
– Kopje te replikuara ne nje klaster serverash
– Kopje te pasqyruara te shperndara gjeografikisht
2. Replika te nisura nga serveri
• Replikim dinamik: kur do te krijohen dhe fshihen replikat?
• Replikimi dinamik eshte i rendesishem per sherbimet e hostimeve ne Web
– Shenim: koleksion statik serverash; vendosje dinamike e te dhenave te
replikuara ne serverat qe ndodhen prane klienteve qe bejne kerkesa
3. Replika te nisura nga klienti
• njihen si cache-te e klientit
• kopje lokaqe qe mbahet prane klienti per te permiresuar performancen ne lexim Numerimi i kerkesava qe vijne nga kliente te
– kopje e cache-se ne makinen e klientit ndryshem
– kopje ne nje pajisje ruajtese ose nje servere ne te njejtin LAN me klientin
– kopje ne rrjet qe i sherben klientit
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

5
Shperndarja e ndryshimeve Protokollet pull kundrejt atyre push
• Nje ndryshim duhet te dergohet dhe ne kopjet e tjera per te ruajtur
konsistencen
• Ceshtja I Ceshtja Push-based Pull-based
– Transferimi i gjendjes (te dhenave) ne kopjet e tjera kundrejte ekzekutimit te
veprimit ne replikat e tjera. Gjendja e serverit List of client replicas and caches None
• Ceshtja II
– Zhvleresimi i replikave kundrejte transferimit te te dhenave Pyet nese ka
Mesazhet e Perditesimi (dhe mundesish ndryshimet
– I mire kur raporti lexim-shkrim eshte i ulet kundrejte i mire per nje raport te ndryshime dhe
derguar merren me vone)
larte lexim-shkrimi merr ndryshimet
• Ceshtja III Koha per
– Protokolli push kundrejte atij pull Koha e pergjigjes menjehere(ose koha per aksesimin dhe
aksesimin dhe
– Konsistence e forte kundrejte asaj te dobet tek klienti modifikimin)
modifikimin
– E nisur nga serveri kundrejte e nisur nga klienti
• Ceshtja IV
– Nese eshte e mundur ne protokollet push-based perdoret multicast Nje krahasim ndermjet protokolleve Push-based dhe Pull-based ne
rastin e nje sistemi me shume kliente dhe nje server te vetem.

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Protokollet e konsistences (1) Protokollet e konsistences (2)


• Nje protokoll konsistence pershkruan nje • Protokollet primary – based
implementim specifik te nje modeli konsistence. – Protokolli remote-write pa nje replike backup
– Protokolli remote-write: menyra primary-backup (replikimi
• Modelet me te perdorur te konsistences ne pasiv)
praktike: konsistenca sekuenciale, konsistenca e – Protokolli local-write me nje kopje primare te migrueshme
dobet me variabla sinkronizimi, transaksionet te vetme (pa backup)
atomik. – Protokolli local-write me migrimin e kopjes primare por jo
te kopjeve backup (menyra primary-backup)
• Protokollet replikated-write
menyra “primary – backup” = replikim pasiv – Replikimi aktiv
– Protokollet quorum – based
menyra “state machine” = replikim aktiv • Protokollet cache-coherence

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Protokollet Remote-Writes (1) Protokollet Remote-Writes (2)

W1 kerkese per shkrim R1 kerkese per te lexuar


W2 i dergohet kerkesa serverit ku ndodhet X R2 i dergohet kerkesa serverit ku ndodhet X W1 kerkese per shkrim R1 kerkese per lexim
W3 njoftim qe ka perfunduar veprimi i shkrimit R3 kthim i pergjigjes W2 dergohet kerkesa tek serveri primar R2 pergjigje per leximin
W4 njoftim qe ka perfunduar veprimi I shkrimit R4 kthim I pergjigjes
W3 njoftohet backup-i qe te perditesohet
W4 njoftim qe eshte kryer perditesimi
W5 njoftim qe ka perfunduar shkrimi Parimi i protokollit
Protokolli remote-write me nje server fiks ne te cilin
dergohen te gjitha kerkesat per lexim dhe shkrim. primary-backup.
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

6
Protokollet Local-Write (1) Protokollet Local-Write (2)

W1. Kerkesa per shkrim R1. Kerkese per lexim


1. Kerkese per lexim ose shkrim W2. Zhvendoset X ne kopjen primare te re R2. Pergjigja per leximin
2. Dergohet kerkesa ne serverin aktual per X
W3. Njoftim qe shkrimi ka perfunduar
3. Dergohet x ne serverin e klientit
W4. I kerkohet backup-it te perditesohet
4. Kthehet rezultati i veprimit ne serverin e klientit
W5. Njoftim qe perditesimi ka perfunduar

Protokolli local-write ne te cilin nje kopje e vetme migrohet ndermjet proceseve. Protokolli Local-Write ne te cilin kopja primare migron
tek procesi qe pret te kryej shkrimin.
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Replikimi aktiv(1) Replikimi aktiv(2)

a) Dergimi i nje kerkese nga nje objekt i replikuar.


• Problemi i thirrjeve te replikuara. b) Kthimi i nje pergjigje ne nje objekt te replikuar
Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

Protokollet qe bazohen ne kuorum


(Quorum-Based)

Tre shembuj te algoritmit te votimit:


a) Nje zgjedhje e sakte e bashkesise se leximit dhe te shkrimit
b) Nje zgjedhje q mund te shkaktoje konflikte shkrim - shkrim
c) Nje zgjedhje e sakte, njihet si ROWA (read one, write all)

Bazuar ne Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms

You might also like