difusión tolerante a fallas [fault-tolerant broadcast and related problems] ing. martín garcía...

59
Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

Upload: emerico-campo

Post on 23-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

Difusión Tolerante a Fallas[Fault-Tolerant Broadcast and Related problems]

Ing. Martín García HernándezUAM-I

Miércoles, 28 de marzo de 2007

Page 2: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

2

ContenidoIntroducciónModelos de Cómputo DistribuidoEspecificaciones de la difusiónAlgoritmos de DifusiónDifusión Confiable con TerminaciónConsensoRelación entre problemasConsenso y Difusión atómica en sistemas síncronosResultados de Complejidad

Page 3: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

3

1. Introducción [1]

Diseñar y verificar aplicaciones distribuidas tolerantes a fallas.ConsensoDifusiones confiables

Page 4: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

4

Introducción [2]

Consenso:Elección de líder Acuerdo sobre el valor de varios sensores

Difusión confiable:En aplicaciones se necesita envió de mensajes

confiables.

Page 5: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

5

2. Modelos de Cómputo Distribuido [1]

ClasificaciónPaso de mensajesMemoria compartida

Page 6: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

6

Modelos de Computo Distribuido [2]

[Parámetros]

Sincronización de procesos y comunicaciónTipos de fallas en los procesosTipos de fallas en la comunicaciónTopología de la redProcesos aleatorios o determinístas

Page 7: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

7

2.1.1. Sincronía [1]

La sincronía es un atributo asociado a los procesos y a la comunicación entre estos.

Un sistema es sicrono si cumple las siguientes propiedades:

Page 8: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

8

Sincronía [2]

[Propiedades]

1.- Se asume que todos los mensajes tienen un límite superior δ en el retardo de los mensajes, tomando en cuenta, el envío, transporte y recepción, sobre un canal.

2.- Todos los procesos p tiene un reloj local Cp con una tasa

acotada con deriva ρ≥0 con respecto al tiempo real.

3.- Hay un conocimiento de la frontera de tiempo superior e inferior que un proceso requiere para ejecutar un paso.

(1 ) 1 Cp (t) Cp (t')

(t t')(1 )

Page 9: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

9

Sincronía [3]

En los sistemas síncronos, es posible tener una medida de los tiempos de cada mensaje.

Este tiempo puede ser empleado en la detección de fallas.

Esto hace posible que se puedan implementar, relojes aproximadamente sincronizados. Cumpliendo con la propiedad 2 de sincronía También cumplen con la siguiente propiedad:

Existe una , para cualesquiera dos procesos p y q, tal que

Cp (t) Cq (t)

Page 10: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

10

Sincronía [4]

Los relojes aproximadamente sincronizados, pueden servir para simular relojes perfectamente sincronizados.

Con un retardo en los mensajes de , y los relojes aproximadamente sincronizados, se puede implementar un modelo sincrono por rondas.

Page 11: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

11

2.1.2. Asincronía

Un sistema es asíncrono, si:No tiene límite el retardo de cada mensajeExiste un desvío en el relojNo hay un tiempo necesario para ejecutar un paso en el

programa

Page 12: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

12

2.2. Fallas en Procesos

Un proceso, Falla en una ejecución si su comportamiento no sigue los pasos que marca el algoritmo que está corriendo.

Un modelo Falla de forma especifica en la forma en que un proceso se desvía de su algoritmo.

Page 13: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

13

2.2.1. Modelos de Falla [1]

Paro (Crash)

Omisión (Omission)EnvíoRecepciónGeneral

Temporización

Arbritarias o Bizantinas

Bizantinas con autenticación de mensajes

Page 14: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

14

Modelos de Falla [2]

[Clasificación]

Se clasifican en términos de severidad PARO < CAIDA < OMISION <TEMPORIZACION< BIZANTINA

Son aplicables para modelos síncronos y asíncronos.

Las fallas de temporizacón únicamente para sistemas síncronos.

Se les llama Fallas benignas a todas aquellas menores que las fallas de tiempo. NO HAY CAMBIO DE ESTADO

Page 15: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

15

Clasificación de Modelos de Falla [Síncronos]

Paro

Omisión de Envío Omisión de Recepción

Omisión General

Fallas de Temporización

Fallas bizantinas con autenticación de mensaje

Fallas bizantinas

benignas

Page 16: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

16

Clasificación de Modelos de Falla [Asíncronos]

Paro

Omisión de Envío Omisión de Recepción

Omisión General

Falla bizantina con autenticación de mensaje

Falla bizantinas

Page 17: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

17

2.3. Fallas de ComunicaciónParo

Un acoplamiento deja de transportar mensajes.

Omisión Un acoplamiento de manera intermitente omite la

transportación de mensajes.

BizantinasUn acoplamiento puede presentar cualquier tipo de comportamiento, genera mensajes espurios.

Temporización (sistemas síncronos)Un acoplamiento transporta mensajes mas rápido o mas lento que lo especificado o esperado.

Page 18: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

18

2.4. Topología de la RedSe modela mediante una grafica: G (V, E).

Existe la suficiente conectividad para que todos los procesos se comuniquen.

Se desea saber si las redes nuevas tienen la suficiente conectividad para permitir las procesos correctos de comunicación

Page 19: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

19

2.5. Determinista Vs. Aleatorio

Los Comportamientos de los procesos pueden ser deterministas o aleatorios.Aleatorio:

Es un proceso donde la transición de estados genera un conjunto de posibles estados, después de la ejecución de un paso.

Determinista:Es un proceso donde la relación de transición de estados determina el estado resultante, después de la ejecución de un paso.

Los procesos se pueden modelar en lo general mediante autómatas.

Page 20: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

20

3. Especificaciones de Difusión [1]

Considérese un sistema distribuido, donde los procesos se comunican vía difusión:

Si una falla ocurre durante la difusión, sólo un subconjunto de procesos, entregarán su mensaje.

Por lo tanto, una difusión no confiable, NO puede ser una herramienta para construir un sistema tolerante a fallas.

Page 21: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

21

Especificaciones de Difusión [2]

Una difusión confiable debe satisfacer:

1. Todos los procesos correctos, concuerdan en los mensajes que entregan.

2. Todos los mensajes que difunden los procesos correctos, son entregados.

3. No deben entregarse mensajes espurios.

Page 22: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

22

Especificaciones de Difusión [3]

Algunas aplicaciones, sólo requieren que se cumplan, las tres propiedades anteriores.

Por otro lado, algunas otras exigen mayor precisión, en cuanto al orden en que se entregan los mensajes.

En los siguientes tipos de difusión, se asume que solo son afectados, por fallas de tipo benignas.

Page 23: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

23

Especificaciones de Difusión [4]

[Tipos]

Reliable broadcast

FIFO broadcast

Causal broadcast

Atomic broadcast

FIFO atomic broadcast

Causal atomic broadcast

Timed broadcast

Uniform broadcast

Page 24: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

24

3.1. Reliable Broadcast [1]

[Difusión confiable]

Sean dos primitivas broadcast(m) y deliver(m), mM. Además, cada mensaje contiene dos campos: sender(m), que indica la identidad del emisor y seq#(m), que indica el número de secuencia del mensaje.

Page 25: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

25

Reliable Broadcast [2]

Validez: Si un proceso correcto difunde un mensaje m, eventualmente todos los procesos correctos entregarán m.

Acuerdo: Si un proceso correcto entrega un mensaje m, eventualmente todos los procesos correctos entregarán m.

Integridad:Para cualquier mensaje m, cada proceso correcto entrega m a lo más una vez, y solo si algunos procesos difunden m.

Page 26: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

26

Reliable Broadcast [3]

Cuando un proceso p falla durante la difusión de un mensaje.

Que el mensaje sea entregado por todos los procesos correctos.

Que ningún proceso entregue el mensaje.

Page 27: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

27

3.2. FIFO Broadcast

Es una difusión confiable [Reliable Broadcast], que mantiene un orden FIFO en la entrega de sus mensajes.

Cada mensaje tiene un contexto, si en el cual, éste puede ser malinterpretado.

Los mensajes podrían no ser entregados a un proceso, si no conoce su contexto.

Un modelo FIFO Broadcast, satisface lo siguiente:Orden FIFO

Si un proceso difunde un mensaje m, antes que un mensaje m’, entonces los procesos correctos, no pueden entregar m’, antes que m.

Page 28: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

28

3.3. Causal Broadcast [1]

Un difusión Causal Broadcast, es un tipo de Reliable Broadcast que satisface lo siguiente:

Orden causal. Si la difusión de m, precede causalmente a la difusión de m’, entonces los procesos no entregan m’, hasta entregar m.

Page 29: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

29

Causal Broadcast [2]

Una ejecución de una de las primitivas, broadcast(m) ó deliver(m), es llamado evento.

Un evento que precede a un evento f (ef) si y sólo sí:

1. Un proceso ejecuta e y f, en este orden,

2. El evento e es la difusión de m, y f es la entrega de m,

3. Hay un evento h, tal que eh y hf

Page 30: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

30

Causal Broadcast [3]

En muchas aplicaciones, un mensaje m depende de los mensajes entregados anteriormente.

En este caso, un modelo FIFO Broadcast, no es suficiente.

El modelo Causal Broadcast, asegura que un mensaje, no sea entregado, hasta que los mensajes que dependen de él, hayan sido entregados.

Page 31: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

31

3.4. Atomic Broadcast [1]

Un modelo Causal Broadcast, no impone, ninguna restricción en cuanto a los mensajes que no se relacionan causalmente.

Atomic Broadcast, impone que todos los mensajes sean entregados en el mismo orden, de los procesos correctos.

Con esto, se garantiza que todos los procesos, tengan la misma vista del sistema.

Page 32: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

32

Atomic Broadcast [2]

Formalmente, un Atomic Broadcast, es un Reliable Broadcast que satisface lo siguiente:

Orden Total. Si dos procesos, p y q, difunden m y m’; entonces p entrega m antes que m’, si y sólo si, q entrega m antes que m’.

Page 33: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

33

3.5. FIFO Atomic Broadcast

Este modelo satisface los dos requerimientos:

Orden FIFOOrden Total

Page 34: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

34

3.6. Causal Atomic Broadcast

Este modelo es usado para diseminar artículos.

Es un modelo de difusión confiable, que satisface los siguientes requerimientos:Orden CausalOrden Total

Es el mecanismo clave en la aproximación de la Máquina de Estados para la tolerancia a fallas.

Page 35: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

35

3.7. Timed Broadcast

Muchas aplicaciones requieren que los mensajes se entreguen a todos, en un tiempo limitado, después de su difusión.

Esta propiedad es llamada -Timeliness.

Para tiempo real: Existe una constante , tal que los procesos correctos, no entregan un mensaje

m, después de un tiempo real mayor a t+ .

Para tiempo local: Existe una constante , tal que un proceso correcto p, no entregan un mensaje

m, después de un tiempo local mayor a ts(m)+ , sobre su reloj local.

Page 36: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

36

3.8. Uniform Broadcasts

Para este modelo se tienen las siguientes propiedades: Acuerdo Uniforme Integridad Uniforme -Timeliness de Tiempo Local Uniforme

También se pueden definir las siguientes propiedades de orden: Orden FIFO Uniforme Orden Causal Uniforme Orden Total Uniforme

Page 37: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

37

3.9. Inconsistencia y Contaminación

Se asume los siguiente:

Aplicaciones donde los procesos se comunican mediante una difusión tolerante a fallas.

Sólo existen fallas de tipo “benigno”.Cada estado de un proceso, depende de que mensajes ha

entregado hasta ahora.Cada estado y el protocolo de la aplicación, determinan si hay

que difundir un mensaje y su contenido.

Page 38: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

38

Inconsistencia

Suponiendo que un proceso p falla, omitiendo la entrega de un mensaje que los demás procesos correcto si entregan.

El estado de p es inconsistente con respecto al estado de todos los procesos correctos.

Page 39: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

39

Contaminación

Suponiendo que el mismo proceso p, continua su ejecución, pero con su estado es inconsistente, difunde un mensaje m a todos los demás procesos correcto.

El mensaje m, ahora es corrupto, ya que refleja el estado de p, el cual es inconsistente, por lo tanto, todos los demás procesos tienen estados incosistentes, y a esto se le llama contaminación.

Page 40: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

40

3.10. Amplificación de Fallas

Una difusión tolerante a fallas, se implementa usualmente con un algoritmo de difusión (Broadcast Algorithm).

Este algoritmo usa primitivas de comunicación de bajo nivel punto a punto (sends y recieves).

En general un algoritmo de difusión amplifica la severidad de las fallas, que ocurren en un bajo nivel.

Page 41: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

41

Modelo de Capas Aplicación/Difusión

Algoritmo de Difusiónsend(m)

Algoritmo de Difusiónrecieve(m)

Red de Comunicaciones

pProtocolo de Aplicación

broadcast(m)

qProtocolo de Aplicación

deliver(m)Interfaz

Interfaz

Page 42: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

42

3.11. Especificaciones de Difusión[Resumen]

Todos los Modelos de Difusión deben de seguir las propiedades de Reliable Broadcast.

Validez

Acuerdo

Integridad

Page 43: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

43

Diferencias entre Algoritmos[Por tipo de mensaje]

Orden FIFO

Orden Causal

Orden Total

Orden FIFO < Orden Causal < Orden Total

Page 44: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

44

Relación entre Modelos[Resumen]

Page 45: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

45

4. Algoritmos de Difusión

Están construidos por capas y modularmente

En particular veremos los siguientes algoritmos: Reliable Broadcast FIFO Broadcast

Page 46: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

46

4.1 Algoritmo Reliable Broadcast

Todos los procesos p ejecutan lo siguiente:

Al ejecutar Broadcast(R, m):La etiqueta m con sender(m) y seq#(m)Send(m) a todos los vecinos incluyendo p

Deliver(R,m) ocurre lo siguiente: Al recieve(m) haz

si p no ha ejecutado previamnete deliver(R,m) entonces

si serder(m) es distinto de p entonces send(m) a todos los vecinos deliver(R,m)

Page 47: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

47

4.2. Algoritmo FIFO Broadcast[Usando Reliable Broadcast]

Todos los procesos p ejecutan lo siguiente:

Inicializacion:msgbag:= vacioNext[q]:=1 para todo q Al ejecutar Broadcast(F,m):

Broadcast(R,m)deliver(F,m) ocurre lo siguiente:

Al deliver(R,m) haz q:= sender(m)msgbag:= msgbag U {m}mientras (exista m’ que pertenesca a msgbag: sender(m’)= q y seq#(m’)=next[q]) haz

deliver(F,m’) next[q]:= next[q] +1msgbag:= msgbag- {m’}

Page 48: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

48

5. Terminating Reliable Broadcast [1]

Propiedades:Terminación

Cada proceso correcto, eventualmente entrega algún mensaje.

ValidezSi un emisor es correcto, y difunde un mensaje m, todos los procesos correctos eventualmente entregarán m.

Page 49: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

49

Terminating Reliable Broadcast [2]

AcuerdoSin un proceso correcto, entrega m, eventualmente todos los procesos correctos entregarán m.

IntegridadCada proceso correcto entrega al menos un mensaje, y si entrega mSF,entonces el emisor, debe haber difundido m.

Page 50: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

50

6. Consenso [1]

A diferencia de la Difusión, en el Consenso, no se toma acuerdo sobre los mensajes, sino sobre un valor.

Las primitivas son:Propose(v)Decide(v)

Page 51: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

51

Consenso [2]

Un algoritmo distribuido que resuelva el problema de consenso es correcto si garantiza una solución con las siguientes propiedades : Acuerdo

Todos los procesos coinciden n su valor final Validez

El valor acordado fue la entrada de alguno de los procesos

TerminaciónCada proceso decide su valor final en un numero finito

de pasos

Page 52: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

52

7. Relación entre Problemas

Reducción de problemasEn sistemas síncronos, el modelo TRB, es

equivalente al modelo de Consenso.En sistemas asíncronos, el modelo de Consenso,

puede reducirse al modelo TRB, si se emplea aleatoriedad.

Page 53: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

53

8. Consenso y Atomic Broadcast

El problema Atomic Broadcast no puede ser resuelto con un algoritmo determinístico, en un ambiente asíncrono, aun si se considera a lo más una falla y que sea falla de paro.

El problema Atomic Broadcast puede ser resuelto usando aleatoriedad o detectores de falla en sistemas asíncronos.

Page 54: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

54

9. Resultados de Complejidad [1]

[Tolerancia a Fallas]

En presencia de fallas bizantinas, si n≤3f, no existen algoritmos que toleren este tipo de fallas.

En presencia de fallas bizantinas con autentificación, n ≥2f

En presencia de fallas benignas, n≥f

Page 55: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

55

Resultados de Complejidad [2]

[Complejidad Temporal]

Una ronda consta de: Envío, recepción y cambio de estado.

f+1 rondas en el peor caso.

f+d rondas en presencia de fallas en los enlaces (máx. d enlaces).

Page 56: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

56

Resultados de Complejidad [3]

[Complejidad de mensajes]

Fallas Bizantinas : O(nxf) en el peor caso

Omisión General : O(n+f2)

Fallas de paro : O(n+f log f)

Page 57: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

57

Dudas????Gracias

Page 58: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

58

Bibliografía

Sape Mullender, Distributed Systems, Second Edition, ACM Press, New York, NY, 1993, Cap. 5, pp. 97-138

(pirate version)

Page 59: Difusión Tolerante a Fallas [Fault-Tolerant Broadcast and Related problems] Ing. Martín García Hernández UAM-I Miércoles, 28 de marzo de 2007

59

Maestría en Ciencias y tecnologías de la Información

Universidad Autónoma Metropolitana

Iztapalapa, México

http://mcyti.izt.uam.mx

http://www.iztapalapa.uam.mx

[email protected]

5804 4930, 5804 4930 y 5804 4930 Ext. 228

Fault-Tolerant Broadcast and Related problems[Algoritmos distribuidos]