Tolerancia a fallas - Nota: 18 PDF

Title Tolerancia a fallas - Nota: 18
Course Sistemas Distribuidos
Institution Universidad Tecnológica del Perú
Pages 63
File Size 3.3 MB
File Type PDF
Total Downloads 196
Total Views 502

Summary

Tolerancia a Fallas en SD Carreras: de Sistemas e de Software. Lima, Julio del 2019 INDICE 1. 2. Conceptos Previos y Vista General:.................................................................. 2. Mapa Mental:..........................................................................................


Description

Tolerancia a Fallas en SD Carreras: ● Ingeniería de Sistemas e Informática. ● Ingeniería de Software.

Lima, Julio del 2019

INDICE 1.

Introducción:......................................................................................................... 4

2.

Conceptos Previos y Vista General:....................................................................6 2.1.

Mapa Mental:.................................................................................................. 6

2.2.

Conceptos Básicos:......................................................................................7

2.2.1. 2.3.

2.3.1.

Fallas de Respuesta:.....................................................................................11

2.3.2.

Fallas Francas (crash):.................................................................................11

2.3.3.

Fallas por Omisión:.......................................................................................11

2.3.4.

Fallas por Temporización o de Tiempo:...................................................11

2.3.5.

Fallas Bizantinas:..........................................................................................11

2.4.

Disfrazado de Fallas por Redundancia:.....................................................12

2.4.1.

Redundancia de Información:....................................................................12

2.4.2.

Redundancia de Tiempo:.............................................................................12

2.4.3.

Redundancia Física:.....................................................................................12

2.5. 3.

Tipos de Fallas:................................................................................................9

Modelo de Fallas:.........................................................................................10

Aplicación Real: Redundancia en Sistemas de Ductos............................13

Temas de Diseño.................................................................................................16 3.1.

Mapa Mental.................................................................................................16

3.2.

Definición.....................................................................................................17

3.2.1.

Tolerancia a Fallas.........................................................................................17

3.2.2.

Sistemas Distribuidos Síncronos..............................................................18

3.2.3.

Sistemas Distribuidos Asíncronos............................................................18

3.2.4.

Unitransmisión...............................................................................................19

3.2.5.

Multitransmisión............................................................................................19

3.2.6.

Enmascaramiento de Fallas y replicación...............................................19

3.2.7.

Detección de Fallas.......................................................................................20

3.3.

Desarrollo – Protocolo Primario.................................................................21

3.3.1.

Protocolo Escritura Remota........................................................................21

3.3.2.

Escritura Local...............................................................................................22

3.3.3.

Protocolo de Escritura Replicada..............................................................23

3.3.3.1. 3.3.3.2.

Replicación Activa.....................................................................................23 Protocolo Basado en Quorum................................................................24

3.3.4.

Acuerdo en Sistemas Defectuosos...........................................................25

3.3.5.

Tolerancia a Fallas Bizantinas:...................................................................27

3.3.6.

4.

Detección de Fallas.......................................................................................28

3.4.

Ejemplo – Amazon Web Services:..............................................................29

3.5.

Aplicación – Fallas del Avión Boeing 737 Max 8.......................................30

Comunicación Confiable entre Cliente y Servidor...........................................31 4.1.

Mapa Mental:................................................................................................31

4.2.

Introducción:................................................................................................32

4.3.

Definiciones.................................................................................................33

4.3.1.

Comunicación confiable:.............................................................................33

4.3.2.

Fallas Arbitrarias............................................................................................33

4.3.3.

Falla por Congelamiento:............................................................................34

4.3.4.

Falla por Omisión:.........................................................................................34

4.3.5.

Falla por Temporización:.............................................................................35

4.3.6.

Idempotente:...................................................................................................35

4.3.7.

Peer to Peer:...................................................................................................35

4.3.8.

RPC:..................................................................................................................36

4.3.9.

Semántica:.......................................................................................................36

4.4.

Contenido.....................................................................................................36

4.4.1.

Comunicación confiable entre Cliente y Servidor.................................36

a) Comunicación Punto a Punto:.......................................................................37 b)

5.

Semántica RPC en presencia de fallas:....................................................38

4.4.2.

Ejemplo............................................................................................................45

4.4.3.

Aplicación........................................................................................................46

REALIZACIÓN DISTRIBUIDA..............................................................................50 5.1.

Mapa Mental..................................................................................................51

5.2.

Introducción...................................................................................................52

5.3.

Realización bifásica.......................................................................................52

5.3.1.

Ejemplo:............................................................................................................53

5.3.2.

Ejemplo:............................................................................................................54

5.3.3.

Aplicación Bifásica...........................................................................................58

5.4.

Realización trifásica.......................................................................................58

5.4.1.

Ejemplo.............................................................................................................59

5.4.2.

Aplicación Trifásico..........................................................................................61

6.

Ventajas:.............................................................................................................. 62

7.

Desventajas:........................................................................................................62

8.

Conclusiones:.....................................................................................................62



Bibliografía..........................................................................................................63

1. Introducción: En este trabajo se detallan las nociones y conceptos principales sobre la Tolerancia a Fallas en Sistemas Distribuidos, que a su vez presenta un nuevo paradigma con respecto a otros tipos de sistemas de una sola máquina. Este nuevo paradigma es llamado Fallo Parcial, que quiere decir que si un componente en un Sistema Distribuido falla, puede afectar al funcionamiento de algunos componentes, como que otros no, mientras que un Sistema No Distribuido, un fallo afecta a todos los componentes. Un objetivo importante en el desarrollo de Sistemas Distribuidos es construirlos para que puedan recuperarse de fallas parciales sin que afecte al funcionamiento de todo el sistema, esto quiere decir que, si ocurre una falla, el sistema debe seguir funcionando mientras se realizan reparaciones de forma paralela, es decir, deberá de ser tolerante a fallas, y de esto trata este informe, el cual, hemos dividido en la siguiente estructura de desarrollo: En la primera parte del desarrollo del tema, se explicarán los conceptos básicos, los modelos fallas, y el uso de la redundancia para la tolerancia a fallas. En la

segunda parte, veremos Temas de diseño, enmascaramiento de fallas por redundancia y replicación, acuerdos en sistemas defectuosos y detección de fallas. En la tercera parte, veremos Comunicación Confiable entre Cliente y el Servidor. En la cuarta parte, Comunicación de Grupo Confiable. En la última parte veremos la Realización Distribuida. Cada parte del desarrollo de este informe contará con algún ejemplo y una aplicación de algún concepto importante de cada uno de estos subtemas. Al final del desarrollo, veremos las ventajas y desventajas de estos puntos, conclusiones, y, por último, unas recomendaciones que podemos detallar en base del trabajo e investigación hecha.

2. Conceptos Previos y Vista General: 2.1. Mapa Mental:

2.2. Conceptos Básicos: Para entender lo elemental sobre Tolerancia a Fallas en Sistemas Distribuidos, debemos entender cómo funciona un Sistema Distribuido, para ello explicaremos un ejemplo a continuación:

Diagrama 1 – Arquitectura General de un Servicio Fuente: http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/garcia_r_ra/capitulo2.pdf Se define servicio como el conjunto de funciones definidas por una interfaz, el diagrama anterior muestra la comunicación que existe entre el proveedor de un servicio y el cliente o usuario, donde el primero se compromete a satisfacer las necesidades del segundo, y el segundo confía que sus necesidades van a ser cubiertas. Del servicio brindado, se esperan dos propiedades:  

El correcto funcionamiento de la interfaz. La calidad del funcionamiento.

Si un sistema distribuido puede lograr estas dos propiedades, entonces se le puede llamar un Sistema Fiable, pero para lograr estas dos propiedades se tienen que lograr a su vez otros conceptos, los cuales son los siguientes:  La Fiabilidad / Confiabilidad: En este punto, encontré dos conceptos muy parecidos pero que a mi parecer son distintos, y los detallaré a continuación: Fiabilidad Se refiere a la medida en la que un sistema esté en la posibilidad de proveer un servicio, es decir, que se encuentre operacional. (García y Moreno, 2004). También podemos definir a la Fiabilidad como “… Una medida del éxito con que el sistema se ajusta a alguna especificación definitiva de su comportamiento”. (Randell, 1978). A su vez, el otro concepto es la Confiabilidad, que se refiere a una propiedad por la cual un sistema es capaz de funcionar de manera continua sin fallar, refiriéndose a un intervalo de tiempo y no a un instante de éste (como en la disponibilidad). (Tanenbaum, 2008).

Se podría decir que estos dos conceptos se engloban en uno sólo, y sería el de una propiedad por la cual un sistema pueda funcionar de forma correcta sin presentar errores en su funcionamiento y hacerlo en un tiempo no determinado, es decir, no en un instante, sino a lo largo de un intervalo de tiempo ‘x’. Así, también vi ejemplos en los cuales la Confiabilidad engloban todas las demás propiedades que se necesitan para lograr un Sistema Fiable, es decir, que, si un sistema es Confiable, es porque lograr dar un servicio como es debido, y viceversa. 

La disponibilidad: Propiedad por la cual un sistema está disponible para usarse de inmediato, en otras palabras, da referencia a poder usar un sistema en cuanto lo necesitemos, y para lograr esto, el sistema tiene que estar en capacidad de operar correctamente en cualquier momento dado y no se encuentre ocupado haciendo otras cosas, pero aún así hablamos de probabilidades, ya que no hay ningún sistema en el mundo ni habrá alguno que esté siempre disponible, ya que siempre habrán problemas inesperados (terremotos, cortes de luz, saturación de componentes, averías, etcétera). Actualmente un sistema altamente disponible se soporta mediante redundancia en los sistemas de checkpoint 24/7. (Castro, 2013).



La seguridad: Se refiere a la situación en que no acontece nada catastrófico cuando un sistema deja de funcionar correctamente por un tiempo. Por ejemplo, los sistemas que controlan o ayudan en gran parte a las personas a llegar al espacio o aquellos que controlan información muy delicada e importante, o aquellos sistemas que controlan centrales nucleares, si fallaran por un segundo podrían causar un gran daño, una catástrofe. La seguridad, es una propiedad por la cual, aunque el sistema falle, no llegue a causar ninguna catástrofe, esto actualmente es muy difícil de lograr, y se usan sistemas de control de proceso o checkpoint’s que funcionan 24/7. Ahora, hablamos de que un sistema falla cuando no puede cumplir con lo

especificado en los requerimientos de software, es decir, cuando no cumple las dos propiedades fundamentales de un servicio: el

correcto funcionamiento de la interfaz y la calidad de este funcionamiento, este tipo de concepto (falla), lo veremos en mayor extensión en un siguiente punto, ya que engloba otros conceptos que requieren una mejor explicación.



El mantenimiento: Cuando hablamos de sistemas distribuidos, hablamos de escalabilidad, un sistema distribuido puede ser grande o pequeño, según las necesidades, pero también vale tener en cuenta que mientras más grande es un sistema, es más difícil detectar y reparar fallas, y por ende, mientras más grande es un sistema, más difícil y costoso es el mantenimiento. Se distinguen 3 etapas por las cuales un sistema puede pasar en la cual se da como resultado lo que da relevancia a un sistema tolerante a fallas, los cuáles corresponde a su nivel de daño a un sistema:

 



Falta: Surge cuando el comportamiento del sistema viola la especificación de un servicio. Error: Es una parte del estado de un sistema susceptible de causar una falta. Esto quiere decir que no necesariamente la provoca, o por lo menos no inmediatamente. El error está latente en tanto no provoca una falta, la causa puede ser que la parte errónea del estado no esté siendo utilizada en ese momento. El tiempo que transcurre entre la aparición de un estado de error y la falta es llamado delay de latencia, y entre más sea el delay más difícil será la búsqueda de las causas de una falta. Falla: Es toda causa (evento, acción o circunstancia) que puede provocar un error.

Un componente que se encuentra en un estado incorrecto puede influenciar en otro componente con el que tiene comunicación o tiene dependencia.

Diagrama 2 – Propagación de Componentes Fuente: http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/garcia_r_ra/capitulo2. pdf

En la figura se observa que un componente A usa un componente B y el buen funcionamiento de A dependen del de B. Para A una falta de B constituye una falla que puede provocar un error interno y posteriormente una falta. Y este comportamiento puede seguir de manera sucesiva con los componentes que dependen de A.

2.2.1. Tipos de Fallas: Las fallas pueden ser clasificadas según su aspecto en 3 tipos:  Permanente: Cuando una vez que falla un elemento, este ya no se recupera, la falla sigue existiendo hasta que el componente defectuoso se cambia.  Transitoria: Causan un mal funcionamiento por un periodo de tiempo, luego del cual vuelven a funcionar en forma normal. Si la operación se repite la falla desaparece.  Intermitente: La falla ocurre, luego desaparece por sí sola, después reaparece, y así sucesivamente. También se le puede definir como una oscilación entre dos estados,

Diagrama 3 – Clasificación General de Fallas Fuente: http://programacion-js.blogspot.com/2018/01/sistemasdistribuidos-tolerancia-fallos.html quieto y activo. Cuando el estado es quieto, el componente funciona correctamente. Cuando el estado es activo, el componente funciona mal. Un claro ejemplo puede ser un corte de energía eléctrica que recibe un dispositivo y por lo tanto el componente falla. Otro tipo de clasificación es sobre tipo de componentes, benigno o maligno. Los componentes benignos son fallas que hacen que el componente “muera”, son fallas de trato y detección fácil. Los componentes malignos son fallas que reportan valores de salida razonables, pero incorrectos. Y son difíciles de detectar ya que reportan

valores en el rango adecuado (Nesmachnow, Iturriaga, Ares, 2011).

de

salida,

pero

incorrectos.

2.3. Modelo de Fallas: Si un sistema presenta fallas, como hemos dicho anteriormente, no proporciona los servicios de forma adecuada o no presenta la calidad adecuada. Si se presentan fallas es un Sistemas Distribuido es porque los servidores, o los canales de comunicación, o ambos no están haciendo lo que se supone que deberían. Para tener una mejor idea de que tan importante y seria es la detección y reparación de fallas (tratamiento de fallas), se ha creado una clasificación más completa, llamada el Modelo de Fallas, que describe el tipo de fallas que pueden producirse en un sistema. Un tipo de falla caracteriza sus causas y la manera de detectarlas, así como las estrategias de recuperación necesarias. El modelo de Falla se divide en 5 tipos:

2.3.1. Fallas de Respuesta: Ocurre cuando el servidor no responde una petición, o no lo hace de manera correcta. Se dividen en dos:  Falla de Valor: El servidor responde de forma errónea a la petición, es decir, no es el valor esperado.  Falla de Transición de estado: Este tipo de falla ocurre cuando el servidor responde de forma inesperada ante...


Similar Free PDFs