Sistemas de memoria robustos o tolerantes a fallos Noel Palos Pajares Rubén Suárez del Campo Jorge Martín Vázquez
Índice Introducción Qué son los sistemas tolerantes a fallos o robustos. Tipos de fallos y origen. Prevención y tolerancia a fallos. Fases. Tolerancia a fallos soportada por el hardware. ECC. Caso de estudio: RAID. Conclusiones finales. Bibliografía.
Introducción Trataremos el tema de los sistemas de memoria tolerantes a fallos. Muchos ámbitos de aplicación; no sólo en el sector informático podremos encontrar dichos sistemas. Sistemas hardware y software. Caso de estudio: RAID.
Definición: Sistemas tolerantes a fallos Sistemas de almacenamiento con la propiedad de funcionar aunque tengan averiado alguno de sus componentes. Confiabilidad. Atributos: Fiabilidad. Disponibilidad. Resguardo. Seguridad.
Qué es un fallo? Un fallo es cualquier defecto, ya sea físico o lógico, en cualquier componente del sistema. Latencia de un fallo. Un error es la manifestación de un fallo. Latencia de un error. Una avería es un mal funcionamiento del sist ema desde el punto de vista externo.
Tipos de fallos y origen Fallos software No es necesario reemplazar el elemento físico para corregirlo. Fallos hardware Es necesario reemplazar físicamente el componente dañado. Según su duración: Permanentes. Temporales: Transitorios. Intermitentes.
Prevención y tolerancia a fallos Se resume en prevenir, evitar, corregir o reparar los fallos.
Tolerancia a fallos. Fases Primera fase: Chequeos. De replicación. De tiempo. Estructurales. De razonabilidad. De diagnóstico. Segunda fase: Confinamiento del daño. Tercera fase: Recuperación de errores. Hacia atrás. Hacia adelante. Cuarta fase: Tratamiento de fallos.
Sistemas de prevención y tolerancia a fallos Redundancia: Emplea información, recursos o tiempo por encima de los necesarios para prevenir y tolerar fallos. Redundancia hardware. Redundancia software. Redundancia informacional. Redundancia temporal.
Redundancia software Duplicar procesos en el código de los programas, realizar comparaciones redundantes Pruebas de consistencia. Pruebas de hardware. Programación con N versiones. Medidas preventivas generales.
Redundancia informacional Incluye información adicional a los datos. Distancia de Hamming y paridad. Códigos de paridad, horizontales o verticales. Checksums: De simple precisión. De doble precisión. De Honeywell. De residuo. Códigos de Hamming.
Redundancia temporal Repetir cálculos, duplicar comparaciones Efectiva a la hora de detectar fallos transitorios. Lógica alternativa. Operandos desplazados. Operandos intercambiados. Recálculo con duplicación con comparación.
Redundancia hardware Incluye componentes redundantes para, en caso de fallo, utilizarlos hasta reparar el elemento dañado. Redundancia pasiva: Enmascaramiento de fallos. Redundancia activa: Detección y corrección de errores. Redundancia en frío. Redundancia en caliente.
Tolerancia a fallos soportada por el hardware. Redundancia modular triple, o TMR. Redundancia dinámica. Codificación redundante. Circuitos autochequeantes. Memorias ECC.
Redundancia modular triple
Circuitos autochequeantes
Memorias ECC Error Checking and Correction: Memorias capaces de detectar múltiples errores y corregir errores únicos. Redundancia del contenido. Menor rendimiento, debido a los cálculos redundantes que necesitan.
Caso de estudio: RAID Redundant Array of Independent Disks. Almacena datos en múltiples discos entre los que se distribuyen o replican datos. Implica: Mayor integridad. Mayor tolerancia a fallos. Mayor rendimiento. Mayor capacidad.
Caso de estudio: RAID Múltiples niveles (Muy conocidos: RAID 0 y RAID 1)
Caso de estudio: RAID Algunos RAID, además de incluir paridad, tienen redundancia hardware.
Caso de estudio: RAID También se pueden anidar RAIDS, para intentar mejorar el rendimiento y obtener las mejores características de varios niveles.
Caso de estudio: RAID En un sistema RAID es posible acceder a los datos aunque un disco falle. Algunos niveles mejoran el rendimiento de algunas aplicaciones. Un RAID no impide la entrada de virus o el borrado accidental de datos. No simplifican la recuperación de fallos.
Caso de estudio: RAID A la hora de implementar un RAID debemos tener en cuenta para qué tipo de sistema irá dirigido. En este trabajo nos hemos centrado en los niveles RAID con paridad y redundancia hardware: RAID 5E y RAID 6E.
Caso de estudio: RAID 5E RAID con paridad distribuida entre las distintas unidades físicas y con una unidad hardware redundante. 100% de protección de datos. Mejor rendimiento frente al RAID 5. Mayor capacidad respecto a los RAID 1 y RAID 1E.
Caso de estudio: RAID 5E Mínimo de cuatro unidades físicas. Una unidad lógica por batería de discos. No se puede compartir la unidad redundante entre distintas baterías de discos.
Caso de estudio: RAID 5E Fases a seguir para su implementación: Conexión de las cuatro unidades físicas y creación de la batería de discos. Creación de una unidad lógica en la batería de discos, dejando un espacio de reserva para la unid ad redundante.
Caso de estudio: RAID 5E División del espacio lógico en bandas. La paridad se distribuirá entre las unidades físicas. En caso de fallo, los datos se reconstruirán y ocuparán el espacio libre de la unidad redundante.
Caso de estudio: RAID 5E Esquema con un fallo en una unidad física. Al sustituir la unidad errónea, volverá al esquema original.
Conclusiones Destacamos la importancia de los sistemas tolerantes a fallos. Aumentar la seguridad de los datos y su posible recuperación. Sistema sencillo y barato: RAID.
Bibliografía Apuntes Sistemas tolerantes a fallos. Autor Sergio Arévalo, Sistemas y Co municaciones de la Universidad Rey Juan Carlos. Apuntes Tolerancia a fallos. Autor Antonio Losada Real, Sistemas de Tiemp o Real. Sistemas Tolerantes a Fallos. Universidad de Valladolid, Departamento de In formática. Tesis Doctoral Tolerancia a Fallos, en clústeres de computadores geográfic amente distribuidos, basada en la réplica de datos. Autor, Josemar Rodrígu ez de Souza. Universidad Autónoma de Barcelona. Apuntes Memoria Principal. Autor, David Miraut Andrés. Universidad Rey J uan Carlos, Departamento de Arquitectura de Computadores. Wikipedia, de donde hemos obtenido las imágenes de los distintos niveles RAID, bajo licencia Creative Commons. IBM, donde hemos obtenido las imágenes de la implementación del RAID 5E. www.ecc.com, para la obtención de información de los códigos ECC.