PDF de programación - Sincronización en sistemas distribuidos - Tema 4 - Sistemas distribuidos

Imágen de pdf Sincronización en sistemas distribuidos - Tema 4 - Sistemas distribuidos

Sincronización en sistemas distribuidos - Tema 4 - Sistemas distribuidosgráfica de visualizaciones

Publicado el 13 de Agosto del 2019
158 visualizaciones desde el 13 de Agosto del 2019
376,3 KB
23 paginas
Creado hace 2a (01/01/2017)
Tema%4.(
Sistemas(distribuidos(
Sincronización(en(sistemas(distribuidos(

Marisol(García(Valls(

Departamento(de(Ingeniería(Telemá8ca(

Universidad(Carlos(III(de(Madrid(

mvalls@it.uc3m.es

(



Arquitectura(de(sistemas(II(

(

Grado(en(Ingeniería(Telemá8ca(
Curso:(3º,(cuatrimestre:(2º



Índice(

Introducción(a(la(sincronización(en(sistemas(distribuidos.(

• 
•  Sincronización(mediante(relojes.(

–  Relojes(lógicos(y(relojes(Qsicos.(
–  Algoritmos(de(sincronización(de(relojes(lógicos(
–  Algoritmos(de(sincronización(de(relojes(Qsicos.(
–  Aplicaciones(de(sincronización(de(relojes(

•  Exclusión(mutua(en(sistemas(distribuidos.(
–  Algoritmos(centralizados,(distribuidos(y(en(anillo.(

•  Algoritmos(de(elección.(
•  Transacciones(atómicas.(

(

©2017((Marisol(García(Valls((

(2(

Arquitectura(de(sistemas(II(T(GIT(

15/03/17

1

BibliograQa(

(((((((A.S.(Tanenbaum.(Distributed*Opera.ng*Systems.(Pearson.(2009((
(((((Capítulo%3.%
%

%%%%%%%%%%
%%%%%%%%A.%S.%Tanenbaum,%M.%Van%Steen.%Distributed%systems:%Principles%and%paradigms.%
%%%%%%%%(Anteriormente%editado%por%Pearson%EducaCon.)%
%%%%%%%%Publicado%pro%M.%Van%Steen.%2016.%
%
%%%%%%%Capítulo%6.%

©2017((Marisol(García(Valls((

(3(

Arquitectura(de(sistemas(II(T(GIT(

Comunicación(y(sincronización(distribuida(

La(comunicación(entre(procesos(puede(realizarse(mediante(protocolos(de(capas,(
paso(de(mensajes((con(protoc.(pe8ciónTrespuesta),(RPC(y(comunicación(de(grupos.(

Los(procesos(no(sólo(comunican(sino(que(deben(cooperar(y(sincronizarse.(

• 

• 

•  ¿Cómo(se(implementan(las(secciones%críCcas%en%un%sistema%distribuido?(¿Cómo(se(

asignan(los(recursos?(

•  En(sistemas(centralizados(los(problemas(de(sincronización(como(la(exclusión(mutua(

se(resuelven(con(métodos(como(semáforos,(monitores,(etc.,(que(no%sirven(en(
sistemas(distribuidos(porque(se(basan(en(el(uso(de((memoria%comparCda.(

•  Dos(procesos(que(usan(un(semáforo(deben(poder(acceder(a(él.(P.ej.(si(los(procesos(

están(en(dos(máquinas(dis8ntas(este(método(no(funciona.(

•  Determinar(si(un(evento(A(ocurre(antes(que(el(evento(B(no(es(trivial.(

©2017((Marisol(García(Valls((

(4(

Arquitectura(de(sistemas(II(T(GIT(

15/03/17

2

• 

• 

((Sincronización(mediante(relojes(

La(sincronización(en(sistemas(distribuidos(se(basa(en(algoritmos%distribuidos.(

Las(caracterís8cas(de(un(algoritmo(distribuido(son:(
–  Tienen(la(información%relevante%distribuida(entre(múl8ples(máquinas.(
–  Los(procesos(toman%decisiones(basándose(únicamente(en(información%local.(
–  Deben(evitarse(los(puntos%únicos%de%fallo(en(el(sistema.(
–  No%existe%un%reloj%común(o(ningún(8empo(global(de(precisión.(

•  En(un(sistema%centralizado(el(Cempo%es%no%ambiguo.(

•  En(un(sistema%distribuido(alcanzar(un(acuerdo%sobre(el(8empo(no%es%trivial.(

Máquina en la que
ejecuta el compilador

Máquina en la que
ejecuta el editor

2144

2145

2146

2147

a.out creado

a.c creado

2142

2143

2144

2145

Tiempo según el
reloj local

Tiempo según el
reloj local

©2017((Marisol(García(Valls((

(5(

Arquitectura(de(sistemas(II(T(GIT(

El(reloj(

• 

• 

• 

• 

• 

• 

• 

• 

• 

Los(computadores(8enen(un(circuito(que(permite(contabilizar%el%Cempo:(el%reloj(o(temporizador.(

Es(un(cristal(de(cuarzo(que(oscila(a(una(frecuencia(bien(definida(cuando(se(le(aplica(una(tensión.(

Cada(cristal(8ene(dos%registros(asociados:(un(contador((counter)(y(un(registro(mantenedor((holding*
register).(

Cada(oscilación(del(cristal(disminuye%el%contador%en(una(unidad.(

Cuando(el(contador(llega(a%0(se(genera(una(interrupción(y(el(contador(se(recarga%con(el(valor(del(
registro(mantenedor.(

Cada(interrupción(es(conocida(como(un(Cc%de%reloj((clock*.ck).(

Reg. mantenedor

En(un(sistema(con(una(sola(CPU(todos(los(procesos(comparten(el(mismo(reloj.(

Reg. Contador

Si == 0 ! Int

Si(hay(varias%CPUs,(los(relojes%soRware%no%estarán%sincronizados.(Sus(diferentes(valores(son(
conocidos(como(la(desviación%del%reloj((clock*skew).(

¿Es%posible(sincronizar%todos%los%relojes(para(obtener(un(único(y(no(ambiguo(estándar%de%Cempo?(

©2017((Marisol(García(Valls((

(6(

Arquitectura(de(sistemas(II(T(GIT(

15/03/17

3

Relojes(lógicos(y(relojes(Qsicos(

•  Acordar(el(8empo(exacto(no(es(lo(más(importante,(sino(acordar%el%orden%

en%que%suceden%los%eventos.((

•  En(ciertos(algoritmos(basta(con(que(las(máquinas(conozcan(el(mismo%

Cempo,(es(decir,(que(presenten(una(consistencia%interna%respecto(a(sus(
relojes.(

•  En(estos(8pos(de(algoritmos(se(suele(hablar(de(relojes%lógicos.(

•  Si(además(de(acordar(el(mismo(8empo,(los(relojes(no(pueden(desviarse(

del(8empo(real(más(de(una(cierta(can8dad(se(suele(hablar(de(relojes%
Vsicos.(

©2017((Marisol(García(Valls((

(7(

Arquitectura(de(sistemas(II(T(GIT(

Sincronización(de(relojes(lógicos.(Alg.%de%Lamport%%I%
Se(define(la(relación(sucede%antes%como(a%→%b%:(todos(los(procesos(acuerdan(que(el(
evento(a(sucede*antes(que(el(evento(b.(

a%→%b%%es(cierto(de(forma(directa(en(dos(situaciones:(
–  Si(a%y(b(son(eventos*en*el*mismo*proceso(y(a&ocurre*antes*que*b&
–  Si(a(es(el(evento(de(un(mensaje(que(es(enviado(por(un(proceso(y(b(es(el(evento(de(un(

mensaje(que(es(recibido(por(otro(proceso(

a%→%b%es(transi8va.(

Si(los(eventos*x*e*y&suceden*en*dis,ntos&procesos(que(no%intercambian%mensajes(entonces(
x%→%y(no(es(cierta(y(tampoco(lo(es(y%→%x%.(

Se(quiere(asignar(a(los(eventos(un(valor(de(8empo(C(sobre(el(que(todos(los(procesos(estén(
de(acuerdo.(

Los(valores(de(8empo(cumplirán(que(si(a%→%b%entonces(C(a)%<%C(b)%.(

• 

• 

• 

• 

• 

• 

•  Además,(se(cumple(que(el(8empo(de(reloj(C%siempre(se(incrementa.(Las(correcciones(se(

efectúan(sumando%valores%posiCvos.(

©2017((Marisol(García(Valls((

(8(

Arquitectura(de(sistemas(II(T(GIT(

15/03/17

4

Sincronización(de(relojes(lógicos.(Alg.%de%Lamport%%II%

0
0
6
12
18
24
30
36
42
48
54
60

1
0
8
16
24
32
40
48
56
64
72
80

A

D

B

C

2
0
10
20
30
40
50
60
70
80
90
100

0
0
6
12
18
24
30
36
42
48
70
76

1
0
8
16
24
32
40
48
61
69
77
85

A

D

B

C

2
0
10
20
30
40
50
60
70
80
90
100

©2017((Marisol(García(Valls((

(9(

Arquitectura(de(sistemas(II(T(GIT(

Relojes(Qsicos(

•  El(algoritmo(anterior(ordena(la(sucesión(de(eventos(pero(no(les(asigna(valores(de(

8empo(real.(

•  En(algunos(sistemas((por(ejemplo,(en(sistemas(de(8empo(real)(el%valor%real%del%

reloj%es%importante.(

•  Para(estos(sistemas(se(requieren(varios(relojes%Vsicos%exteriores.(

•  Esto(presenta(problemas(de(sincronización%de%unos%relojes%respecto%a%otros(y(

respecto%al%Cempo%del%mundo%real.(

•  El(8empo(del(mundo(real(se(mide(respecto(al(Tiempo%Universal%Coordinado((UTC).(

•  El(UTC(es(difundido(por(el(NIST((Ins8tuto(Nacional(de(Tiempo(Estándar)(que(opera(

una(estación(de(radio(de(onda(corta(WWV.(

•  WWV(envía(un(pulso(corto(al(comienzo(de(cada(segundo(UTC(con(una(precisión(de(

±1(ms((debido(a(las(condiciones(atmosféricas(±10(ms().(

©2017((Marisol(García(Valls((

(10(

Arquitectura(de(sistemas(II(T(GIT(

15/03/17

5

Sincronización(de(relojes(Qsicos(

•  Algoritmo(de(Berkeley(

•  Algoritmos(de(media(

•  Múl8ples(fuentes(externas(de(hora((

•  Aplicaciones(de(relojes(sincronizados(

©2017((Marisol(García(Valls((

(11(

Arquitectura(de(sistemas(II(T(GIT(

Sincronización(de(relojes(Qsicos.(Alg.%de%Berkeley%

•  El(servidor%de%Cempo(es(ac8vo;(es(un(daemon&de*.empo.(

•  Periódicamente(pregunta%a%cada%máquina(su(valor(de(8empo.(

•  Según(las(respuestas(obCene%la%media%del%valor%de%Cempo(e(informa(al(resto(de(

máquinas%que%deben%ajustar%sus%relojes.(

•  Este(sistema(es(adecuado(cuando(ninguna(máquina(8ene(un(receptor(WWV.(

3:00

3:00

+25

-10

-20

+15

©2017((Marisol(García(Valls((

(12(

Arquitectura(de(sistemas(II(T(GIT(

15/03/17

6

Sincronización(de(relojes(Qsicos.(Algoritmos%de%media%
•  Al(contrario(que(el(anterior,(éste(es(un(algoritmo(descentralizado.(

• 

• 

Se(divide(el(8empo(en(intervalos%de%resincronización(y(de(duración(fija.(

El(intervalo*i;ésimo(es([T0(+(iR,(T0(+((i+1)R](donde(T0(es(un(instante(pasado(y(R(es(un(
parámetro(de(sistema.(

•  Al(comienzo%de%cada%intervalo(cada(máquina(difunde%su%Cempo%actual.(

• 

Se(arranca(un(temporizador(para(recoger%todas%las%difusiones%de%otros.(

•  Cuando(llegan,(se(ejecuta(un(algoritmo%que%calcula%el%nuevo%Cempo.%

•  Variaciones(de(este(algoritmo(pueden(ser:(

–  Media(de(los(valores.(
–  Descartar%los%valores%más%alejados%(más(altos(y(más(bajos)(y(obtener(la(media(del(
–  Corrección%de(cada(mensaje(con(una(esCmación%del%Cempo%de%propagación(del(

resto((medida(contra(relojes(defectuosos).(

origen.(

©2017((Marisol(García(Valls((

(13(

Arquitectura(de(sistemas(II(T(GIT(

Sincronización(de(relojes(Qsicos.(MúlCples%fuentes%

externas%de%hora%

Sistemas%que%requieren%mucha%precisión(en(la(sincronización(con(el(UTC(pueden(tener(
varios(receptores(WWV.(

El(sistema(opera8vo(produce(un(rango(o(intervalo(de(8empo(en(el(que(está(el(UTC(que(
calcula.(

• 

• 

•  Dis8ntas(fuentes(de(UTC(producirán(dis8ntos(intervalos,(por(lo(que(deberán(alcanzar%un%

acuerdo.(

• 

La(base(de(este(acuerdo(está(en(que(cada(máquina(con(una(fuente(de(UTC(puede(difundir%
su%intervalo%periódicamente((p.ej.(al(inicio(de(cada(minuto(UTC).(

•  Cada(procesador(recogerá(los(paquetes(dentro(de(un(8empo(determinado,(según:(la(

distancia(entre(ellos,(el(número(de(pasarelas,(colisiones,(etc.(

•  Diferentes(sistemas(opera8vos(realizan(este(acuerdo(de(forma(diferente.(

©2017((Marisol(García(Valls((

(14(

Arquitectura(de(sistemas(II(T(GIT(

15/03/17

7

Aplicaciones(de(sincronización(de(relojes(

(

•  Entrega%única%de%mensajes%(At5Most5Once&Message&Delivery)(

(

•  Consistencia%de%caché%basada%en%el%reloj%

%

©2017((Marisol(García(Valls((

(15(

Arquitectura(de(sistemas(II(T(GIT(

Entrega%única%de%mensajes%

(At5Most5Once&Message&Delivery)(

(

Los(mensajes(llegan(a(través(de(una(cierta(conexión.(Cada(mensaje(lleva(un(idenCficador%de%conexión(y(
una(marca%de%Cempo((.mesta
  • Links de descarga
http://lwp-l.com/pdf16453

Comentarios de: Sincronización en sistemas distribuidos - Tema 4 - Sistemas distribuidos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad