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
720 visualizaciones desde el 13 de Agosto del 2019
376,3 KB
23 paginas
Creado hace 7a (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(

[email protected]

(



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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad