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.

Slides:



Advertisements
Presentaciones similares
Certificados X.509 Federico García
Advertisements

También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Servicios de red e Internet
Confiabilidad en Bases de Datos Distribuidas
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
A Theory of Action for MultiAgent Planning Michael Georgeff.
Fundamentos de Ingeniería de Software
KRIGING.
Administración de Certificados Digitales
Ecuaciones diferenciales de 1er orden :
Mejoras a las Máquinas Von Neumann
Análisis y Diseño orientado a objetos con UML.
Universidad de SonoraArquitectura de Computadoras1 PROGRAMA CION PARALELA Y DISTRIBUIDA PRESENTA: JESUS BECERRIL PACHECO MODELOS DE ACCESO A LA MEMORIA.
INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN.
Sistemas a Eventos Discretos
Sistemas Distribuidos
Semana 5 Subprogramas..
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
Presentación Elaborada Por LENID SUAREZ POSADA CAMILO RAMIREZ CARDONA Presentado A Ing. Carlos E. Molina En Su Materia REDES II.
EIGRP Semestre 3 Capítulo 3
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Ing. Karen Torrealba de Oblitas
1 Paralelización del algoritmo de segmentación CM Martíno García Hernández UAM-I Noviembre 2007.
Sistemas Concurrentes: Paso de mensajes
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Modelado de Sistemas a Eventos Discretos.
(Organización y Manejo de Archivos)
El Instituto de Ingenieros, Eléctricos y Electrónicos (IEEE: Institute of Electrical and Electronic Engineers) Es una de las organizaciones que establecen.
CALIDAD DE Servicio María Alejandra Bautista Sánchez
Diciembre 05, 2006Martino García Hernández1CSC 8530 TreadMarks TM Martín García Hernández.
SEGURIDAD EN SISTEMAS DE POTENCIA
Planificación de Procesos
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 13 L. Enrique Sucar / Marco López Sesión 13 L. Enrique Sucar / Marco López.
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Servicio horario NTP - Protocolo NTP Luis Villalta Márquez.
Capacidad de Proceso.
Ingeniería en Sistemas de Información
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Sistema Embebidos: Propiedades de los Lenguajes y SDL
Teoría de Trafico en Redes
- 1 - Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de.
Información turística vía bluetooth Rodrigo Gómez Z.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Capítulo 17: Encapsulamiento IP, Fragmentación, y Reensamble.
Redes de Area Local, LAN Una red de área local es una red de datos de alta velocidad que cubre un área geográfica relativamente pequeña. Típicamente conecta.
Capa de Red4-1 Capítulo 4: Capa de Red  4. 1 Introducción  4.2 Circuitos virtuales y redes de datagramas  4.3 ¿Qué hay dentro de un router?  4.4 IP:
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
- 1 - Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s07 Se ha tomado como base el material generado por Peter Marwedel de.
Teoría de Probabilidad Dr. Salvador García Lumbreras
Identificación de Sistemas El problema de la Identificación de Sistemas.
Rendimiento de la CPU y sus factores
TCP garantiza que la información es recibida en orden. Para ello, cada paquete enviado tiene un número de secuencia. Cada uno de los dos procesos involucrados.
Es un conjunto de equipos informáticos conectados entre sí por medio de dispositivos físicos que envían y reciben impulsos electrónicos, ondas electromagnéticas,
Protocolo ssl. Introducción El protocolo SSL (Secure Sockets Layer) fue diseñado con el objeto de proveer privacidad y confiabilidad a la comunicación.
¿QUE ES EL DIAGRAMA DE ESTADO ?
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS ESTADO DE MEXICO ALGORITMOS DISTRIBUIDOS AUTOESTABILIZANTES APLICADOS EN LA SEGURIDAD.
BASE DE DATOS DISTRIBUIDAS
FIN ARCHIVO 2-3 Una Red es justamente un sistema de comunicación que se da entre distintos equipos para poder realizar una comunicación eficiente, rápida.
PROTOCOLOS Modelo TCP/IP
Introduccion a los Sistemas en Tiempo Real
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
Tendencia De Los Sistemas Operativos
DETECCION DE SEÑALES BINARIAS EN RUIDO GAUSSIANO El criterio de toma de decisión fue descrito por la ecuación Un criterio muy usado para escoger el nivel.
*UNIVERSIDAD JUARES DEL ESTADO DE DURANGO “EXPOSICIÓN” *ERICK DE JESUS MONTIEL REYES *JORGE LUIS FLORES NEVARES *1-F TURNO VESPERTINO.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Transcripción de la presentación:

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 Contenido  Introducción  Modelos de Cómputo Distribuido  Especificaciones de la difusión  Algoritmos de Difusión  Difusión Confiable con Terminación  Consenso  Relación entre problemas  Consenso y Difusión atómica en sistemas síncronos  Resultados de Complejidad

3 1. Introducción [1]  Diseñar y verificar aplicaciones distribuidas tolerantes a fallas.  Consenso  Difusiones confiables

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.

5 2. Modelos de Cómputo Distribuido [1]  Clasificación  Paso de mensajes  Memoria compartida

6 Modelos de Computo Distribuido [2] [Parámetros]  Sincronización de procesos y comunicación  Tipos de fallas en los procesos  Tipos de fallas en la comunicación  Topología de la red  Procesos aleatorios o determinístas

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:

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 C p 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.

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

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.

Asincronía  Un sistema es asíncrono, si:  No tiene límite el retardo de cada mensaje  Existe un desvío en el reloj  No hay un tiempo necesario para ejecutar un paso en el programa

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.

Modelos de Falla [1]  Paro (Crash)  Omisión (Omission)  Envío  Recepción  General  Temporización  Arbritarias o Bizantinas  Bizantinas con autenticación de mensajes

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

15 Clasificación de Modelos de Falla [Síncronos] Paro Omisión de EnvíoOmisión de Recepción Omisión General Fallas de Temporización Fallas bizantinas con autenticación de mensaje Fallas bizantinas benignas

16 Clasificación de Modelos de Falla [Asíncronos] Paro Omisión de EnvíoOmisión de Recepción Omisión General Falla bizantina con autenticación de mensaje Falla bizantinas

Fallas de Comunicación  Paro Un acoplamiento deja de transportar mensajes.  Omisión Un acoplamiento de manera intermitente omite la transportación de mensajes.  Bizantinas Un 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.

Topología de la Red  Se 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

Determinista Vs. Aleatorio  Los Comportamientos de los procesos pueden ser determini stas 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.

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.

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.

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.

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

Reliable Broadcast [1] [Difusión confiable] Sean dos primitivas broadcast(m) y deliver(m), m  M. 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.

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.

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.

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.

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.

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 (e  f) 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 e  h y h  f

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.

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.

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’.

FIFO Atomic Broadcast  Este modelo satisface los dos requerimientos:  Orden FIFO  Orden Total

Causal Atomic Broadcast  Este modelo es usado para diseminar artículos.  Es un modelo de difusión confiable, que satisface los siguientes requerimientos:  Orden Causal  Orden Total  Es el mecanismo clave en la aproximación de la Máquina de Estados para la tolerancia a fallas.

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.

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

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.

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.

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.

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.

41 Modelo de Capas Aplicación/Difusión Algoritmo de Difusión send(m) Algoritmo de Difusión recieve(m) Red de Comunicaciones p Protocolo de Aplicación broadcast(m) q Protocolo de Aplicación deliver(m) Interfaz

Especificaciones de Difusión [Resumen] Todos los Modelos de Difusión deben de seguir las propiedades de Reliable Broadcast.  Validez  Acuerdo  Integridad

43 Diferencias entre Algoritmos [Por tipo de mensaje]  Orden FIFO  Orden Causal  Orden Total Orden FIFO < Orden Causal < Orden Total

44 Relación entre Modelos [Resumen]

45 4. Algoritmos de Difusión  Están construidos por capas y modularmente  En particular veremos los siguientes algoritmos:  Reliable Broadcast  FIFO Broadcast

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)

Algoritmo FIFO Broadcast [Usando Reliable Broadcast] Todos los procesos p ejecutan lo siguiente: Inicializacion: msgbag:= vacio Next[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] +1 msgbag:= msgbag- {m’}

48 5. Terminating Reliable Broadcast [1]  Propiedades:  Terminación Cada proceso correcto, eventualmente entrega algún mensaje.  Validez Si un emisor es correcto, y difunde un mensaje m, todos los procesos correctos eventualmente entregarán m.

49 Terminating Reliable Broadcast [2]  Acuerdo Sin un proceso correcto, entrega m, eventualmente todos los procesos correctos entregarán m.  Integridad Cada proceso correcto entrega al menos un mensaje, y si entrega m  SF,entonces el emisor, debe haber difundido m.

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)

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ón Cada proceso decide su valor final en un numero finito de pasos

52 7. Relación entre Problemas  Reducción de problemas  En 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.

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.

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

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).

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)

57 Dudas???? Gracias

58 Bibliografía Sape Mullender, Distributed Systems, Second Edition, ACM Press, New York, NY, 1993, Cap. 5, pp Distributed Systems (pirate version)

59 Maestría en Ciencias y tecnologías de la Información Universidad Autónoma Metropolitana Iztapalapa, México , y Ext. 228 Fault-Tolerant Broadcast and Related problems [Algoritmos distribuidos]