Coplanificacion Tolerancia a Fallos
-
Upload
josue-pina -
Category
Documents
-
view
31 -
download
1
description
Transcript of Coplanificacion Tolerancia a Fallos
Coplanificacion
3.5 Coplanificacion.
Por lo general, cada procesador hace su
planificación local (si tiene varios
procesos en ejecución), sin preocuparse
por lo que hacen los demás
procesadores. Sin embargo, si un grupo
de procesos relacionados entre sí y con
gran interacción se ejecutan en distintos
procesadores, la planificación
independiente no es el camino más
eficiente.
Lo que se necesita es una forma de
garantizar que los procesos con
comunicación frecuente se ejecuten de
manera simultánea.
Aunque es difícil determinar en forma
dinámica los patrones de común entre
los procesos, en muchos casos, un grupo
de procesos relacionados entre sí
iniciarán juntos.
Ousterhout (1982) propuso varios
algoritmos con base en un concepto
llamado coplanificación, el cual toma en
cuenta los patrones de comunicación
entre los procesos durante la
planificación para garantizar que todos
los miembros de un grupo se ejecutan al
mismo tiempo.
La esencia de esta idea es que cada
procesador utilice un algoritmo de
planificación round-robin,
Si todos los miembros de un grupo se
colocan en el mismo numero de espacio,
pero en procesadores distintos, se tiene
la ventaja del paralelismo de nivel N, con
la garantía de que todos los procesos se
ejecutarán al mismo tiempo, lo cual
maximiza el desempeño de Ia
comunicación.
Así, en la figura 4-20(b), los cuatros
procesos que se deben comunicar entre
sí tendrían que colocarse en el espacio 3
de los procesadores 1, 2,3 y 4, para
obtener un desempeño óptimo.
TOLERANCIA A FALLOS
Tolerancia a Fallos
“Se dice que un sistema falla cuando no se
cumple la especificación que este tiene”
Las fallas en diversos sistemas distribuidos pueden traer consigo
lo que en el mundo comercial se le conoce como perdidas,
ejemplificando esto se tiene un sistema de ventas distribuido. La falla en
dicho sistema vendría a afectar en gran manera a la empresa en cuanto
que se pierden ventas y dinero, mientras se presenta tal falla; por lo
consiguiente es una prioridad evitar tales fallas.
¿Fallos?
Fichero corrupto almacenado en el disco.
Consecuencia: avería en el sistema que utiliza el fichero.
¿Qué provocó el fallo?
Error en el programa que escribió el fichero (fallo de diseño).
Problema en la cabeza del disco (fallo en el componente).
Problema en la transmisión del fichero por la red (fallo HW)
El error en el sistema podría ser corregido (cambiando el fichero) pero los fallos
podrían permanecer.
Importante distinguir entre fallos y errores.
¿Mas Fallos?
Explosión del Ariane 5 en 1996
Enviado por la ESA en junio de 1996 (fue su primer viaje)
Coste del desarrollo: 10 años y 7.000 millones de dólares.
Explotó 40 seg. Después del despegue a 3.700 metros de altura.
El fallo se debió a la pérdida total de la información de altitud.
Causa: error del diseño software.
El SW del sistema de referencia inercial realizó la conversión de un valor real en coma
flotante de 64 bits a un valor entero de 16 bits. El número a almacenar era mayor de 32.767
(el mayor entero con signo de 16 bits) y se produjo un fallo de conversión y una excepción.
Clasificación de fallas
FALLA DE COMPONENTES:
¿Qué es una Falla?
Es un desperfecto, causado ya sea por un error de diseño, de
fabricación, de fabricación, programación, daño físico, deterioro por el paso de
tiempo, condiciones ambientales adversas, entradas inesperadas, entre otras
muchas.
Fallas
Transistorias Intermitentes Permanentes
FALLAS TRANSITORIAS:
Estas ocurren cuando ocurren una vez y después desaparecen. Si la
operación se repite, la falla ya no se presenta.
FALLAS INTERMITENTE:
Este consta de una falla que desaparece y reaparece.
FALLA PERMANENTE:
Es aquella que continua existiendo hasta reparar el componente con el
desperfecto. Circuitos quemados y el rompimiento de la cabeza del disco
ejemplifican este tipo de falla.
Falla de Componentes
El objetivo del diseño y construcción de sistemas tolerantes
a fallos, consiste en garantizar que el sistema continúe funcionando
de manera correcta como u todo; aun después de presentarse
fallas.
¿Cuál es el objetivo de la creación de sistemas tolerantes a fallos?
¿Niveles en los que se puede presentar un fallo en cuanto a
componentes?
Transistores, circuitos, tarjetas, procesadores, sistemas operativos,
programas del usuario.
Falla de Sistema
Analizando un poco lo anterior se aterriza en algo muy fundamental,tiene mayor importancia el tener un sistema que pueda sobrevivir a fallas en loscomponentes VS. Hacer que las fallas sean poco probables; Para un sistemadistribuido crítico.
Se considera a las confiabilidad de un sistema distribuido, unaparticularidad importante; debido a que se cuentan con una cantidad robusta decomponentes. De esta última depende en gran parte la posibilidad de falla en unode estos.
Tip
os
de
fa
lla
al
pro
ce
sad
or
Silentes
Bizantinas
Fallas silentes:
Un procesador que falla solo se detiene y noresponde a las entradas subsecuentes ni produce másentradas, excepto que puede anunciar que ya no esfuncionando, nombradas también fallas de detención.
Fallas Bizantinas:
Un procesador que falla continúa su ejecución,
proporcionando respuestas incorrectas a las preguntas, y
posiblemente trabajando de manera maliciosa junto con otros
procesadores que han fallado, da la intención de que todo
funciona correctamente aunque lo anterior no se cierto.
Fallas del
sistema
Silentes
un procesador que falla sólo se detiene y no responde a las entradas subsecuentes ni produce más entradas.
Bizantinas
un procesador que falla continúa su ejecución, proporcionando respuestas incorrectas dando la impresión de que todos funcionan de manera correcta
Sistemas síncronos vs. Asíncronos
Un tercer eje ortogonal trata del desempeño en un sentido abstracto. Supongamos
que tenemos un sistema en el cual, si un procesador envía un mensaje a otro, se
garantiza que obtiene una respuesta dentro de un tiempo T conocido de antemano. Si
no se obtiene una respuesta, esto significa que el sistema receptor ha fallado. El tiempo
T incluye el tiempo suficiente para considerar la pérdida de mensajes (enviándolos
hasta n veces).
“En el contexto de la investigación relativa a la
tolerancia de fallas, un sistema que tiene la propiedad
de responder siempre a un mensaje dentro de un límite
finito conocido, si está funcionando, es síncrono. Un
sistema que no tiene esta propiedad es asíncrono”.
“Debe ser claro que los sistemas asíncronos
serán más difíciles de tratar que los
síncronos”
Un sistema que tiene la propiedad de
responder siempre a un mensaje dentro de
un límite finito conocido, si está
funcionando, es síncrono. Un sistema que
no tiene esta propiedad es asíncrono.
Un termino mas familiar.
Redundancia
El método general para la tolerancia a fallos consiste en usa la redundancia.
Tip
os
de
im
ple
me
nta
cio
nd
e r
ed
un
da
nc
ia Redundancia de la informacion
Redundancia del tiempo
Redundancia fisica
Redundancia de la información
Se agregan algunos bits para poder recuperar los bits
revueltos.
Redundancia de tiempo
Se realiza una acción y entonces, en caso de ser
necesario se vuele a realizar.
Redundancia Física
Se agrega un equipo adicional para permitir que el
sistema como un todo tolere la pérdida o el mal
funcionamiento de algunos componentes.
Téc
nic
as
pa
ra m
an
ejo
re
du
nd
an
cia
fís
ica
.
Replica activa
Respaldo primario
La réplica activa (RA), también conocida como master-
master:
En esta técnica, todas las réplicas manejan la
misma información, el estado de los servidores es
únicamente alterado por las operaciones de escritura,
más no las de lectura.
La réplica primaria (RP):
Existe un servidor primario que realiza todo el
trabajo y los demás se mantienen idéntico a no ser que
se presente un caso de falla, donde toman el control.
Tolerancia de fallas mediante
respaldo primario
La idea esencial del método 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.