Los sistemas error en algn componente, como en una falla es un
desperfecto, causado tal vez por un error de procesamiento, un error de fabricacin, un error de programacin, un dao fsico, el deterioro con el curso de tiempo, condiciones ambientales adversas, entradas inesperadas, un error del operador, roedores comiendo parte del sistema y muchas otras causas. Las fallas se clasifican por lo general como transitorias, intermitentes o permanentes: a) Las fallas transitorias ocurren una vez y despus desaparecen si la operacin se repite, la falla ya no se presentara. Un pjaro que vuela a travs del rayo de un transmisor de microondas provoca la perdida de bits en una red. Si la transmisin expira y se repite, es probable que anuncie la segunda vez. b) Si ocurre una falla intermitente, esta desaparece, reaparece, etc. Un mal contacto de un conector causa con frecuencia una falla intermitente, los cuales son graves por su difcil diagnostico. Lo usual es que cuando aparece el doctor, el sistema
funcione
de
manera
perfecta.
c) Una falla permanente es aquella que continua existiendo hasta reparar el
componente con el desperfecto. Los circuitos quemados, los errores del software y el rompimiento de la cabeza del disco provocan con frecuencia fallas permanentes.
2.- Fallas del Sistema.
En un sistema distribuido critico, con frecuencia nos interesa que el sistema pueda sobrevivir a las fallas de los componentes (en particular del procesador), en vez de hacer que las fallas sean poco probables: La confiabilidad de un sistema es en particular importante en un sistema distribuido, debido a la gran cantidad de
componentes presentes; de ah la mayor posibilidad de que falle un de ellos.
Se pueden distinguir dos tipos de fallas del procesador: Fallas Silientes Fallas Bizantinas Con las fallas Silientes, un procesador que falla solo se detine y no responde a las entradas subsecuentes ni produce mas entradas, excepto que puede anunciar que ya no est funcionando. Tambin se llama fallas de detencin. Con las fallas bizantinas, un procesador que falla continua su ejecucin, proporcionando respuestas incorrectas a las preguntas y posiblemente trabajando de manera maliciosa junto con otros procesadores que han fallado, para dar la impresin de que todos funcionan de manera correcta aunque no sea as. 1.2 ELEMENTOS DE LAS ESTRATEGIAS TOLERANTES A FALLAS El mtodo general para la tolerancia de fallas consiste en el uso de redundancia. Existen tres tipos posibles: Redundancia de la informacin Redundancia del tiempo Redundancia fsica Con la redundancia de la informacin, se agregan algunos bits para poder recuperar los bits revueltos. Por ejemplo, se puede agregar un cdigo Hamming para transmitir los datos y recuperarse del ruido en la lnea de transmisin. Con la redundancia del tiempo, se realiza una accin, y entonces, en caso necesario, se vuelve a realizar. Si una transaccin aborta, puede volverse a
realizar sin dao alguno. La redundancia de tiempo es de particular utilidad
cuando las fallas son transistorias e intermitentes. Con la redundancia fsica, se agregan un equipo adicional para permitir que el sistema como un todo tolere la perdida o el mal funcionamiento de algunos componentes. Por ejemplo, se pueden agregar ms procesadores, de modo que si unos pocos de ellos fallan, el sistema pueda seguir funcionando de manera correcta. Tolerancia de Fallas Mediante Replica Activa La replica activa es una tcnica muy conocida para proporcionar la tolerancia de fallas mediante redundancia fsica. Se utiliza en la biologa (los mamferos tienen dos ojos, dos pulmones, dos odos, etc.), aviacin (los 747 tienen cuatro motores pero pueden volar con tres) y los deportes (varios rbitros, en caso de que alguno omita un evento). Algunos autores se refieren a la replica activa como el mtodo de la maquina de estados. Tambin se ha utilizado durante aos para la tolerancia de fallas en los circuitos electrnicos. Por ejemplo, consideremos un circuito triple. En este caso las seales pasan por los dispositivos A, B y C, en ese orden. Si uno de ellos falla, el resultado final probablemente seria incorrecto. Tolerancia de Fallas Mediante Respaldo Primario La idea esencial del mtodo de respaldo primario es que en cualquier instante, un servidor es el primario y realiza todo el trabajo. Si el primario falla, el respaldo ocupa su lugar. En forma ideal, el remplazo debe ocurrir de manera limpia, y ser notado nicamente por el sistema operativo cliente, no por los programas de aplicacin. Algunos ejemplos son el gobierno (el vicepresidente), la aviacin (los copilotos), los automviles (las llantas de refaccin), y los
generadores de energa elctrica con base en diesel en las salas de operacin de
un hospital. La tolerancia de fallas con respaldo primario tiene dos ventajas principales sobre la replica activa: En primer lugar, es ms sencilla durante la operacin normal, puesto que los mensajes van slo a un servidor (el primario) y no a todo el grupo. Los problemas asociados con el ordenamiento de estos mensajes tambin desaparecen. En segundo lugar, en la practica se requieren menos maquinas, puesto que en cualquier instante se necesitan un primario y un respaldo. Como desventaja, trabaja mal en presencia de fallas bizantinas, en las que el primario afirma errneamente que funciona de manera perfecta. 1.3 RECUPERACION DE ERRORES Fase de recuperacin de errores Esta fase trata de pasar el sistema a un estado consistente despus de que se haya detectado el fallo. Hay dos tcnicas bsicas: Recuperacin hacia atrs Recuperacin hacia delante La recuperacin hacia atrs vuelve el sistema a un estado pasado consistente no depende del fallo ocurrido y se comporta bien con fallos transitorios, aunque tienen el coste de guardar los estados previos. La recuperacin hacia delante lleva al sistema a un estado consistente no pasado Es menos costoso pero necesita un conocimiento perfecto del fallo y del estado errneo Existen 2 enfoques que se utilizan para llevar a cabo procedimientos de recuperacin de errores:
Recuperacin de errores hacia adelante: en esta tcnica, a naturaleza de
los errores y daos causados por las fallas puede ser continuada y accesada en un grado de seguridad mayor, de manera que sea posible restablecer cualquier operacin del sistema para seguir operando. Requiere de una gran cantidad de operaciones que le permitan evaluar y seguir con la ejecucin del sistema. Utiliza un mtodo de algoritmos complejos que procuran abarcar las causas ms comunes de fallas, si no se tiene el algoritmo apropiado para llevar a cabo la recuperacin, esta no se lleva a cabo. Recuperacin de errores hacia atrs: En esta tcnica no es posible detectar o predecir la naturaleza de las fallas que pueden ocurrir y llevar a cabo un proceso de remover esos errores. El sistema utiliza un mtodo de almacenamiento de los estados que son considerados estables a travs de un Log de operaciones (Bitcora) para proceder a la ejecucin de ese estado y proseguir con l funcionamiento del sistema. Es el mtodo ms simple de recuperacin de errores. Es independiente de las fallas que ocurren (Tipo). Es posible hacer un esquema general de recuperacin de fallas.