TOLERANCIA A FALLAS Y RECUPERACIÓN Sistemas Distribuidos Sept-Dic 2008 Yudith Cardinale.

Slides:



Advertisements
Similar presentations
Minería de Datos M.C. Juan Carlos Olivares Rojas.
Advertisements

RECTAS EN EL ESPACIO. Algebra lineal Rectas en el espacio.
Capítulo 5 Modalizaciones Discursivas Exposición de hechos y manifestación de opiniones.
Conexión Total Red Educativa Nacional Resultados Gestión 2009 Marzo 02 de 2010.
Definición La resolución de problemas ayuda a reducir o eliminar los pensamientos negativos que llevan a la persona a creerse incapaz de manejar una decisión,
Las 4F’s del Marketing Digital
Técnico de Nivel Medio en Administración
Taller de Educación Tecnológica 2004
Unidad 1: ECUACIONES DIFERENCIALES DE PRIMER ORDEN
Probabilidad Profr. Eliud Quintero Rodríguez.
Ecuaciones diferenciales
Evaluación economómica y financiera de proyectos Parte 3. Criterios de rentabilidad.
CALIDAD La calidad es una propiedad inherente de cualquier cosa que permite que esta sea comparada con cualquier otra de su misma especie.
Paridad Cambiaria Integrantes: Johanna Peña Eduardo Inalaf David Fuentes.
DNS POR: YOINER ALEJANDRO BETANCUR DURANGO JHON JAIME CIRO MOSQUERA ADMON. DE REDES DE COMPUTADORES SENA “CTMA” MEDELLIN 2011.
ADMINISTRACIÓN DE REDES
Ing. Lisseth Agüero Mirabal REQUERIMIENTOS. Ing. Lisseth Agüero Mirabal Funcionales No Funcionales TIPOS DE REQUERIMIENTOS.
AÑOFLUJOS DE EFECTIVOINGRESOS ACUMULATIVOS 0 1 2(a) 3 4 ($ 100,000)(-b) 34,432 39,530 39,359(d) 32,219 34,432 73,962(c) 113, ,540.
Ejercicios clase anterior
E C A C E N ZCSur - CEAD PALMIRA Mayo de TUTORIA VIRTUAL Proyectos FASE: 3 MERCADOS DE CAPITALES AGENDA 1.Saludo 2.Aclaraciones Proyecto Fase 3.
GLOBALIZACIÓN.
Los Números Racionales
ANALISIS DE VENTAS.
Para otros usos de este término, véase Moda (desambiguación).
FUNDAMENTOS DE ELECTRONICA DIGITAL I
Sólo es digno de ser el seguidor de una Religión, aquel que al recordar el daño que otro le ha hecho, no buscará de hacerle ningún mal. G. I. Gurdjieff.
Manuel Molano FEM 2012 II.  En las regiones del sol donde se presentan manchas solares, existe una disminución de presión y densidad de la masa del sol,
Russ Shafer-Landau El punto de partida para estudio de la ética es para algunos un problema, pues se piensa que no hay un punto apropiado donde apalancar.
ALUMNAD0 AYUDANTE I.E.S AVERROES LA IDEA DEL PROGRAMA DE AYUDA ENTRE IGUALES FORMA PARTE DE LA ESTRATEGIA O VÍA PREVENTIVA QUE SE RECOGE EN.
LIDERAZGO – IDEA DE NEGOCIO – ESTUDIO DE MERCADO COLEGIO DE LA INMACULADA Jesuitas - Lima.
“Fructificar la razón: trascender nuestra cultura” U NIVERSIDAD DE Q UINTANA R OO Reunión de Equipo Directivo 1 “Fructificar la razón: trascender nuestra.
Es necesaria a la razón Busca la Verdad Se pregunta por el fundamento de todo lo real: LA REALIDAD RADICAL.
DERECHO EMPRESARIAL GENERALIDADES ABOG. ANA MILAGROS CERPA HUAMÁN.
PLAN DE MEJORA PRÁCTICA EMPRESARIAL
La Importancia de la Intranet en el modernismo empresarial.
AUDITORIA INFORMATICA Unida I Informática Empresarial
LOS MEDIOS EN UNA CAMPAÑA Su utilización óptima. LA PRENSA Hay que utilizarla de manera prioritaria al inicio de la campaña. Hay que decir lo que se le.
La gestión de los recursos humanos es consubstancial al elemento de integración principal de la sociedad actual: la organización, están conformadas por.
4. RECOMENDACIONES GENERALES 4.1 Sistemas de energía eléctrica 4.2 Generación y distribución de vapor 4.3 Refrigeración y aire acondicionado 4.4 Equipos.
Servidor Multimedia Marina Vergara.
Copyright © 2014 by The University of Kansas Formar y mantener relaciones.
Base de Datos I – Ing. Mary Carlota Bernal J. BASE DE DATOS I Fundamentos Básicos de base de datos y de la importancia de las mismas en las organizaciones.
Volúmenes dinámicos Discos básicos: –Un disco básico puede dividirse en una o más particiones. –Para utilizar una partición, hay que formatearla con un.
Equipo SCM: Fernández Norvelis. C.I: Fernández David. C.I: Instrumentación y Control IndustrialInstrumentación y Control Industrial.
Introducción a programación web Martin Esses. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada.
Introducción Programación Lineal (PL) Muchas personas clasifican el desarrollo de La Programación Lineal (PL) entre los avances científicos mas importantes.
Por: Rafael L. Nieves Torres BUIN 1010 Prof. Carlos Nuñez.
Instituciones educativas Brigadas de Amor Cristiano Nombre del trabajo: el compañerismo Catedrático: Boris Aparicio Asignatura: Computación Alumnas: Alejandra.
El “WebBoard” en PulseNet de America Latina Enrique Pérez Gutiérrez 5ta Reunión Anual de PulseNet América Latina, Octubre 2007.
Factores quimicos y Fisicos que afectan a la biosfera
El Contratante debe ingresar a la pagina de Coomeva Ingresar al link de Oficina Virtual de Usuarios Coomeva medicina.
#GlobalAzure Azure Automation para Devs David Rodríguez CTO –
LA MAYONESA Y EL CAFÉ Autor (a) do texto: Desconhecido Ouvido Deus Colacio.j Cuando las cosas en la vida parecen demasiado difíciles, cuando 24 horas.
ISO INTEGRANTES: Jorge Andrés Enríquez Ramírez Emily Núñez Eguis Edwin Danilo Romero Rodríguez.
Los Controles de Visual Basic El control CheckBox se utiliza generalmente para listar opciones y que el usuario pueda elegir entre ellas, y dependiendo.
Clasificación de los Sistemas operativos - Ubuntu - Gentoo - Fedora - Inferno - Madriva - Haiku - Debian -Windows Xp home -Windows Windows 95.
WP6-OCDE Modificaciones a las Guías de Precios de Transferencia OCDE 2010 Noviembre 2010.
Pontevedra, Enero 2015 Julio Ventín Rivas GENERALIDADES DE LOS LANZAMIENTOS.
 2.1 Actividad de Evaluación Dina J. Rodriguez Pastor Prof. Lorena Llerandi SOSC 1020.
CONCLUSIONES SIN DUDA ALGUNA, LA MEJOR FORMA DE EVITAR ESTAS CONSECUENCIAS ES CONSEGUIR QUE LOS ADOLESCENTES NO SE IMPLIQUEN EN CONDUCTAS QUE PUEDAN SUPONER.
HISTORIA: Las notitas autoadhesivas, post-it o pòsit, han cumplido 30 años después de su lanzamiento en 1980 Se comercializan en paquetes de varias hojas.
PLAN DE MARKETING Nombre. Resumen del mercado  Mercado: pasado, presente y futuro  Revise los cambios en la cuota de mercado, liderazgo, participantes,
BOLIVIA “Difícil de entender pero imposible de olvidar” (Xabier Azkargorta) PRESENTACIÓN: Día: 9 de Enero Ermua-Bizkaia Autor: Gaizka Vega.
 Son inevitables.  Siempre va a existir diferencias de opiniones entre los miembros del equipo.  Es un error tratar de suprimirlos.  Proporcionan.
Aprendizaje en las Escuelas del Siglo XXI Proceso de Digitación Barranquilla, Abril de 2014.
NORMAS MÍNIMAS DE LA EDUCACIÓN: PREPARACIÓN RESPUESTA Y RECUPERACIÓN.
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO Facultad de Ciencias Histórico Sociales Y Educación Maestría en Ciencias de la Educación Tecnologías de la Información.
Roe v. Wade y los Derechos Civiles Hécser F. Barros García JUST 3000.
Análisis, Diseño e Implementación de Bases de Datos Análisis, Diseño e Implementación de Bases de Datos Conceptos Generales.
Presentación Gilberto Santana Ocaña Justicía Criminal.
Presentation transcript:

TOLERANCIA A FALLAS Y RECUPERACIÓN Sistemas Distribuidos Sept-Dic 2008 Yudith Cardinale

INDICE Tolerancia a fallas Conceptos Básicos de Tolerancia a Fallas Redundancia Recuperación de transacciones Listas de Intención Mecanismos de recuperación Uso de logs Versiones Sombras Acuerdos en sistemas que fallan

Tolerancia a fallas En un sistema distribuido pueden ocurrir fallas parciales, en sistemas no distribuidos ocurren fallas totales La falla de un componente puede afectar el funcionamiento de otros componentes Uno de los objetivos de los sistemas distribuidos es recuperarse automáticamente de las fallas parciales sin afectar el rendimiento global Un sistema tolerante a fallas, soporta las fallas. Es imposible evitarlas

Tolerancia a fallas Fallas

Disponibilidad: propiedad del sistema de estar listo para ser usado en cualquier momento Confiabilidad: propiedad del sistema de ejecutar servicios continuamente sin presentar fallas Seguridad: si el sistema falla temporalmente, nada catastrófico suceda. Mantenibilidad: qué tan fácil se repara un sistema cuando falla. Conceptos Básicos de TF Un sistema altamente disponible no necesariamente es altamente confiable. La recuperación automática no es tan fácil!!

Fail <==== Error <==== Fault Determinar “a fault” es importante, pero no siempre ayuda (cambiar las condiciones del tiempo para prevenir un error, no parece una opción!!!!) Conceptos Básicos de TF Un sistema falla cuando no cumple con los objetivos, no satisface a sus usuarios Un error es una parte del estado de un sistema que produce “a failure” La causa de un error es llamada “a fault”

Los Sistemas Tolerantes a fallas no previenen las fallas, más bien las controlan. Los Sistemas Tolerantes a fallas previeen sus servicios aún en presencia de fallas Clasificación de las “Faults”: Transitorias: ocurren una vez y desaparecen Intermitentes: ocurren, se desvanecen, ocurren nuevamente y así sucesivamente. Permanentes: la falla permanece. Conceptos Básicos de TF

Modelos de Fallas (Failure Models) Fallas Arbitrarias (bizantinas) Fallas por Respuestas: Fallas de valor Fallas de transición de estados Fallas Temporales (timeouts) Fallas por Omisión: Omisión de recepción Omisión de envío Fallas por Muerte (Crash)

Conceptos Básicos de TF Modelos de Fallas (Failure Models)  Fail-stop failures: los servidores producen salidas que pueden pronosticar su caída  Fail-silent failures: la caída se produce sin anuncios (se puede confundir con servidores lentos)  Fail-safe failures: el servidor produce salidas que fácilmente se reconocen como fallas  Byzantine failures: el servidor produce salida errónea que se confunde con salida correcta.

Redundancia La técnica más usada para enmascarar las fallas es la Redundancia. Hay tres tipo de redundancia:  De información: se agrega información adicional para detectar fallas (código de Hamming, bits de parridad, etc.)  De tiempo: una acción se puede repetir si es necesario (modelo de transacciones)  Física: se adicionan equipos o procesos extras para sustituirlo por el componente que falle

Redundancia La redundancia física es la más usada para proveer tolerancia a fallas: en biología, aviones, deportes y circuitos electrónicos El modelo de circuitos electrónicos TMR (Triple Modular Redundancy) es un buen modelo para los sistemas distribuidos ABC A1 A2 A3 B1 B2 B3 B1 v1 v2 v3 v4 v5 v6 v7 v8 v9

Redundancia Los grupos de procesos y la comunicación en grupo pueden usarse para implementar redundancia ¿Cuánta replicación es necesaria si se usan grupos de procesos? Un sistema es k tolerante a fallas si puede continuar funcionando aún si fallan k componentes  Para soportar fallas silenciosas es necesario ??  Para soportar fallas bizantinas es necesario ?? Para la redundancia con grupo de procesos es vital el multicast atómico

Redundancia Existen dos enfoques de replicación por grupos:  Protocolo basado en primario (primary based o primary-backup): también se llama replicación pasiva y se implementa con grupos jerárquicos  Protocolo de escritura replicada (replicated- write): también se llama replicación activa y se implementa con grupos planos (es el caso de TMR)

Redundancia Replicación Pasiva (principal-respaldos): Replicación Activa (escrituras-replicadas ) C C Prin Resp C C Serv Proxy

Redundancia Replicación Pasiva (principal-respaldo): Pasos  Petición: va del cliente al principal  Coordinación: el principal acepta las peticiones en forma atómica y en orden  Ejecución: el principal ejecuta la petición y guarda la respuesta  Acuerdo: en caso de actualización se envían los cambios a todos los respaldos (atómicamente)  Respuesta: el principal responde al cliente

Redundancia Replicación Pasiva: características Requieren algoritmos de elección de coordinador cuando el principal falla Dado que el coordinador es quien ejecuta todas las peticiones, es necesario identificar los requerimientos de manera que el nuevo principal pueda detectar retransmisiones La desventaja: sobrecarga relativamente grande para el principal Para descargar al principal, las lecturas pueden satisfacerlas los respaldos ¿Puede soportar fallas silenciosas y bizantinas?

Redundancia Replicación Activa (escrituras-replicadas): Pasos  Petición: el cliente/proxy envía el requerimiento al grupo (multicast)  Coordinación: el sistema de comunicación en grupo reparte la petición (multicast atómico y ordenamiento)  Ejecución: todos ejecutan la petición  Acuerdo: no es necesaria si la comunicación es atómica y ordenada  Respuesta: todos envían la respuesta al cliente/proxy

Redundancia Replicación Activa: características  El cliente/proxy puede obtener la primera y obviar las demás respuestas o puede decidir por la respuesta más común entre las que recibe.  Provee consistencia secuencial  ¿Puede soportar fallas silenciosas y bizantinas?

Recuperación de Transacciones Se refiere a asegurar la atomicidad de las transacciones aún en presencia de fallas del servidor. La propiedad de atomicidad de las transacciones se expresa en dos aspectos: durabilidad y atomicidad en las fallas: La durabilidad requiere que los ítemes de datos sean salvados en almacenamiento permanente y disponibles indefinidamente. La atomicidad en las fallas requiere que los efectos de las transacciones sean atómicos aún cuando el servidor falle.

Funciones del Administrador de Recuperación Salvar los ítemes de datos en almacenamiento permanente, en un archivo de recuperación, de las transacciones comprometidas. Restaurar los ítemes de datos del servidor después de una caída. Reorganizar el archivo de recuperación para mejorar el desempeño en la recuperación. Recobrar espacio de almacenamiento en el archivo de recuperación.

Listas de Intención y Archivos de Recuperación Usadas para que cada servidor mantenga el registro de los ítemes de datos accedidos por las transacciones. Durante el progreso de la transacción las operaciones de actualización son aplicadas a un conjunto privado de versiones tentativas. Cada servidor registra una lista de intenciones de todas sus transacciones activas. Una lista de intención de una transacción particular contiene la lista de nombres y valores de los ítemes de datos que son alterados por tal transacción.

Entradas en el archivo de recuperación : Tipo de entrada Descripción Item de dato Valor del ítem de dato Estado de la Tid, estado de la Transacción Transacción (ready, wait,commit, abort), otros valores. Lista de intención Tid y secuencia de intenciones que consisten de:,<posición del valor del del ítem en archivo de recuperación> Listas de Intención y Archivos de Recuperación

Mecanismos de Recuperación: logging En esta técnica el archivo de recuperación representa un log que contiene la historia de todas las transacciones realizadas por un servidor. La historia consiste de valores de ítemes de datos, entradas de los estados de la transacción y las listas de intención de la transacción. El orden de las entradas en el log refleja el orden en el cual las transacciones han sido preparadas, comprometidas o abortadas en ese servidor. En la práctica el archivo de recuperación contendrá una foto instantánea de los valores de todos los ítems de datos en el servidor, seguido por una historia de transacciones después de la foto instantánea.

Ejemplo del mecanismo de logging Transaction T Transaction U bank&retirar(A,4) bank&retirar(C,3) bank&depositar(B,4) bank&depositar(B,3) balance=A.read() $100 A.write(balance-4) $96 balance=C.read() $300 C.write(balance-3) $297 balance=B.read() $200 B.write(balance+4) $204 balance=B.read $204 B.write(balance+3) $207

Ejemplo del mecanismo de logging Antes de T y U T y U comenzaron P0 Dato A 100 Dato B 200 Dato C 300 P1P2P3P4P5P6P0 Dato A 96 Dato B 204 Trans T prepared P0 Trans T commit P3 Dato C 297 Dato B 207 Trans U prepared P4 Apuntadores a la posición del estado previo de la transacción Fin del log checkpoint

El administrador de recuperaciones tiene la responsabilidad de organizar su archivo de recuperación de manera que el proceso de recuperación sea rápido y reducir el uso de espacio. Conceptualmente la única información requerida para la recuperación es una copia de las versiones comprometidas de todos los ítemes de datos del servidor. Checkpointing: se refiere al proceso de escribir los valores actuales comprometidos de los ítemes de datos de un servidor a un nuevo archivo de recuperación, junto con las entradas de los estados de transacción y las listas de intención de las transacciones que aún no han sido resueltas completamente. Reorganización del archivo de recuperación

Checkpoint : se refiere a la información almacenada por el proceso checkpointing. El propósito de hacer checkpointing es reducir el número de transacciones con las cuales tratar durante la recuperación y recobrar espacio. ¿Cuándo hacer checkpointing? a) Después de una recuperación b) Antes que una nueva transacción comience c) Periódicamente durante la actividad normal del servidor (si el proceso de recuperación no es muy frecuente) El checkpoint es escrito a un archivo de recuperación futuro y el archivo de recuperación actual permanece activo durante el checkpointing. Reorganización del archivo de recuperación

Proceso de Checkpointing... Pasó durante el chekpointing Items de datos del servidor D Archivo de recuperación actual Marca de checkpoint Foto de D Pasó durante el chekpointing Archivo de recuperación futuro Estados no comprometidos

Mecanismos de Recuperación: versiones sombras Es una forma alterna de organizar el archivo de recuperación. Usa un mapa para localizar versiones de los ítemes de datos en un archivo llamado almacenamiento de versiones (version store) El mapa asocia los identificadores de los ítemes de datos del servidor con la posición de sus versiones actuales en el archivo de almacenamiento de versiones. Las versiones escritas por cada transacción son son llamadas versiones sombras mientras la transacción no se comprometa.

Mecanismos de Recuperación: versiones sombras Las entradas de los estados de transacción y las listas de intenciones son salvadas en el archivo de estado de transacción. La lista de intención representa la parte del mapa que será alterada por una transacción cuando se comprometa. Cuando una transacción se compromete, se crea un nuevo mapa copiando el mapa viejo e introduciendo las posiciones de las versiones sombras. Al completarse el compromiso se reemplaza el viejo mapa por el nuevo. Esta operación debe ser atómica.

Ejemplo de versiones sombras Transaction T Transaction U bank&retirar(A,4) bank&retirar(C,3) bank&depositar(B,4) bank&depositar(B,3) balance=A.read() $100 A.write(balance-4) $96 balance=C.read() $300 C.write(balance-3) $297 balance=B.read() $200 B.write(balance+4) $204 balance=B.read $204 B.write(balance+3) $207

Ejemplo de versiones sombras Mapa antes de Ty U A --> P0 B --> P1 C --> P2 A --> P3 B --> P4 C --> P2 Mapa después de T commit P0 100 P1 200 P2 300 P3 96 P4 204 Archivo de almacenamiento de versiones Checkpoint P5 296 P6 207 T prepared T committed U prepared Archivo de estados de transacciones

TAREAS ¿Cómo es el proceso de recuperación con la técnica de versiones sombras? ¿Qué pasaría si el servidor se cae entre adicionar un estado committed y actualizar el mapa? Ventajas y desventajas del logging y las versiones sombras.

Acuerdos en Sistemas que Fallan Los algoritmos de acuerdo en sistemas distribuidos son muy comunes: Two Phase Commit, elección de coordinador, sincronización y exclusión mutua, etc. Las fallas en los sistemas distribuidos pueden afectar las decisiones distribuidas El objetivo principal de los algoritmos de acuerdos distribuidos es poder llegar a un consenso con los procesos sobrevivientes (fallas silenciosas) o fieles (fallas bizantinas). Se estudiarán los problemas de consenso distribuido en dos escenarios: sólo los procesos son confiables o sólo la comunicación es confiable

Acuerdos en Sistemas que Fallan Si los procesos son confiables y las líneas de comunicación no lo son, es imposible llegar a un acuerdo Ilustración: el problema de los dos ejércitos Si las líneas de comunicación son confiables y los procesos pueden fallar de manera bizantina, es posible llegar a un acuerdo, aún ante fallas bizantinas: Ilustración: el problema de los generales bizantinos

Acuerdos en Sistemas que Fallan El problema de los generales bizantinos Para soportar fallas bizantinas es necesario 3m + 1 generales y sólo m traidores para llegar a un acuerdo En sistemas asíncronos y retardos de comunicación no acotados, no es posible llegar a acuerdos ni con fallas bizantinas ni silenciosas