Documente Academic
Documente Profesional
Documente Cultură
Capitolul 4
Mecanisme i algoritmi pentru sincronizarea comunicaiilor
Comunicaia dintre procese:
Transferul de mesaje
Protocoale stratificate
Mesaje de tip cerere/rspuns
Comunicaii de grup
Cooperarea i sincronizarea dintre procese
Implementarea regiunilor critice
Alocarea resurselor
Sisteme monoprocesor:
Procesele partajeaz o memorie comun
Sincronizare folosind semafoare sau monitoare.
Sisteme interconectate de tip reea:
Absena memoriei partajate.
Sincronizarea ceasurilor
Sincronizarea proceselor n sisteme distribuite:
mai complicat dect n cele centralizate
trebuie folosii algoritmi distribuii.
Nu este posibil (i nici de dorit) colectarea tuturor informaiilor despre sistem
ntr-un singur loc, n care s fie examinate pentru luarea unei decizii, aa cum se
ntmpl ntr-o abordare centralizat.
Algoritmii distribuii - proprieti:
1. Informaiile relevante sunt rspndite la mai multe noduri.
2. Procesele i fundamenteaz deciziile numai pe informaiile locale.
3. Se evit apariia unui punct de vedere catastrofal n sistem.
4. Nu exist un ceas comun sau o alt surs global, precis, care s furnizeze
informaia despre timp.
ntr-un sistem distribuit, obinerea unei nelegeri asupra valorii timpului nu este
o problem banal, aa cum este n cazul centralizat.
ntruct timpul este o noiune fundamental pentru modul n care este construit
raionamentul uman, efectul nesincronizrii ceasurilor poate fi dramatic.
Este posibil sincronizarea tuturor ceasurilor ntr-un sistem distribuit?
Ceasuri logice
Element de prelucrare i control - un circuit pentru msurarea scurgerii timpului.
un ceas - care furnizeaz n orice moment ora, minutul, secunda i alte
subdiviziuni;
un timer - un numrtor de impulsuri care provin de la un oscilator de precizie
pilotat cu un cristal de cuar. Timpul n acest caz este gestionat prin software,
fiind incrementat cu fiecare depire a timerului, care genereaz o ntrerupere
(tick).
Elementele de prelucrare i control - integrate ntr-o reea - fiecare cu propriul
lui ceas.
Dei frecvena cristalului de cuar este destul de stabil, nu se poate garanta c
toate nodurile din reea lucreaz cu aceeai frecven, respectiv c ntreruperile
de la timer apar cu aceeai rat.
De regul cristalele lucreaz la frecvene proprii, care chiar dac difer cu foarte
puin, aceste diferene se pot acumula n timp i pot conduce la valori diferite
ale timpului msurat pentru fiecare nod (glisarea ceasurilor).
Primul algoritm pentru sincronizarea ceasurilor care a demonstrat c acest lucru
este posibil a fost propus de Lamport (1978).
Pleac de la ideea c sincronizarea ceasurilor nu trebuie s fie absolut. Dac
dou procese nu interacioneaz, nu este necesar ca ceasurile lor s fie
sincronizate, deoarece absena acesteia nu va fi observat i deci nu va cauza
probleme.
n plus, Lamport a artat c ceea ce conteaz cu adevrat nu este ca toate
procesele s cad de acord asupra valorii exacte a timpului la un moment dat, ci
mai degrab, s cad de acord asupra ordinii n care apar evenimentele.
n multe situaii, este suficient ca toate nodurile s cad de acord asupra unei
valori a timpului, care nu este neaprat cea astronomic. Pentru o anumit clas
de algoritmi, ceea ce conteaz este consistena intern a ceasurilor, nu msura
n care acestea indic ora exact absolut.
Pentru aceti algoritmi, ceasurile pot fi considerate ca fiind ceasuri logice.
Atunci cnd ceasurile nu trebuie s fie numai egale ntre ele, ci s nu difere de
timpul astronomic cu mai mult de o valoare limit impus, atunci ceasurile se
numesc ceasuri fizice.
Dac a este evenimentul transmiterii unui mesaj de ctre un proces, iar b este
evenimentul recepiei mesajului de ctre un alt proces, atunci C(a) i C(b)
trebuie asignate astfel nct toate procesele sunt de acord cu aceste valori i
C(a)<C(b).
n plus, valoarea msurat a timpului, C, trebuie s fie monoton cresctoare.
Eventualele corecii efectuate asupra acestor valori trebuie fcute prin
adunarea unor cantiti pozitive, niciodat prin scdere.
Exemplu:
Fie trei procese, a cror evoluie n timp este ilustrat n figura de mai jos. Cele
trei procese se execut pe trei noduri distincte, fiecare avnd propriul su ceas,
rulnd ntr-un ritm propriu.
Fiecare ceas ruleaz cu o rat constant, dar ratele difer ntre ele datorit
diferenelor dintre cristale.
10
10
12
16
20
12
16
20
18
24
30
18
24
24
32
40
24
32
40
30
40
50
30
40
50
36
48
60
36
48
42
56
70
42
61
70
64
80
48
69
80
54
72
90
70
77
90
60
80
100
76
85
100
48
a)
b)
30
60
Ceasuri fizice
Algoritmul lui Lamport - ordonare clar a evenimentelor n timp.
Valorile timpului asociate acestora nu corespund valorilor exacte ale timpului
absolut.
n sistemele de timp real, aceste valori sunt importante, deci sunt necesare
ceasuri fizice.
Din considerente de eficien i fiabilitate, fiecare nod utilizeaz propriul su ceas
fizic, ceea ce ridic dou probleme:
1.Cum le sincronizm cu timpul absolut?
2.Cum le sincronizm ntre ele?
1948 - inventarea ceasului atomic - msurarea timpului s-a putut realiza cu mai
mare precizie i independent de micarea de rotaie a Pmntului.
Numrarea tranziiilor atomului de cesiu 133.
Sarcina msurrii timpului a fost transferat de la astronomi la fizicieni.
secund = timpul necesar pentru ca un atom de cesiu 133 s efectueze exact
9.192.631.770 de tranziii.
Aceast cifr - determinat fcnd o secund atomic egal cu o secund medie
solar n anul introducerii ei.
ca
Dac nici un nod nu dispune de un receptor pentru UTC - fiecare nod msoar
timpul cu mijloace proprii, urmrindu-se ca valorile acestor timpi s difere ntre
ele cu ct mai puin posibil.
Toi algoritmii se bazeaz pe urmtorul model de sistem:
1.Fiecare nod dispune de un timer care genereaz cte o ntrerupere de H ori pe
secund.
2.Rutina de ntrerupere a timerului incrementeaz un ceas software care
gestioneaz numrul de ntreruperi care a aprut de la un anumit moment fixat
din trecut.
Timerele reale - nu genereaz exact H ntreruperi ntr-o secund.
Eroarea tipic - de ordinul 10-5.
Pentru ca erorile s nu se acumuleze - ceasurile trebuie re-sincronizate
periodic prin software.
Algoritmi distribuii
Primele dou tipuri de algoritmi sunt centralizate - au dezavantaje specifice unei
asemenea abordri.
categorie de algoritmi distribuii de sincronizare a ceasurilor apeleaz la
folosirea unor intervale fixe de resincronizare.
La nceputul fiecrui interval, fiecare nod transmite valoarea timpului aa cum
este ea nregistrat de ceasul local, apoi ateapt un anumit interval de timp
sosirea rspunsurilor.
Atunci cnd toate rspunsurile au sosit, ele sunt folosite pentru calcularea unei
noi valori pentru timpul local.
Aceasta se poate face prin simpla mediere a valorilor primite, sau prin filtrarea
acestora urmat de mediere.
alt posibilitate este aceea de a ncerca corectarea fiecrui mesaj cu o estimare
a duratei transmisiei mesajului.
Excluderea mutual
Aplicaiile n care sunt implicate mai multe procese sunt adeseori mai uor de
programat folosind regiuni critice.
REQ
a)
GT
C oada
e s te
g o a l
b)
REL
c)
REQ
GT
2
C
d)
b)
a)
0
8
8
G T
A re a c c e s
n r e g iu n e a
c r it ic
G T
G T
I e s e d in
r e g iu n e a
c r it ic
c)
d)
0
G T
2
A te a p t i
u lt im a
c o n f ir m a r e
2
In tr n
r e g iu n e a
c r it ic
7
4
Algoritmi de selecie
Muli algoritmi distribuii necesit ca unul dintre noduri s joace la un moment
dat rolul de coordonator, iniiator, secveniator, sau orice alt rol special.
n general, nu conteaz care dintre noduri joac acest rol.
Important este s existe un astfel de nod i el s fie unic.
Vom atribui n cele ce urmeaz unui astfel de proces special denumirea generic
de coordonator.
Dac toate nodurile sunt echivalente logic, nu exist nici o cale pentru a selecta
unul dintre ele n funcie de caracteristicile sale speciale.
n general, fiecare nod are un identificator unic n cadrul sistemului.
posibilitate folosit n general de algoritmi este aceea de a selecta nodul avnd
cel mai mare cod de identificare.
Algoritmii de selecie difer n funcie de modul n care se realizeaz localizarea
noului coordonator.
ELECTION
OK
ELECTION
OK
ELECTION
0
6
Coordonatorul
anterior a czut
a)
COORDINATOR
b)
0
6
2
1
7
e)
ELECTION
ELECTION
0
OK
0
ELECTION
7
3
c)
3
d)
5
6
0
ELECTION
ELECTION
ELECTION
3
ELECTION
2
3
5
6
7
4
Coordonatorul
anterior a czut
6
Nici un
rspuns
ELECTION