Autoestabilización en sistemas distribuidos

Descripción general:
el concepto de «autoestabilización» fue propuesto por primera vez por Dijkstra en 1974. Es una técnica general para sistemas distribuidos sin enmascaramiento . Es una técnica de curación continua que garantiza la seguridad eventual después de una serie de fallas. Debes haberte encontrado con un péndulo amortiguado mientras realizabas experimentos de física en tu escuela. Entonces, al comenzar, el péndulo es estable, cuando se aplica alguna fuerza externa a ese péndulo, se coloca en una posición arbitraria. Usted sabe que después de un período de tiempo finito, volverá nuevamente a una posición inicial estable o de equilibrio. Así que aquí veremos cómo funciona esta analogía en sistemas distribuidos.

Analogía en sistemas distribuidos:
Considere los siguientes puntos de la siguiente manera.

  • Tienes unos procesadores P 0 , P 1, ……………………………… P n + canales de comunicación.
  • Cada procesador Pi tiene un estado x i , por ejemplo, el estado pueden ser los valores de las variables en la memoria del procesador o los valores de registro en el procesador Pi .
  • La configuración es simplemente la secuencia establecida de vectores de estados de cada procesador en el sistema.
  • La principal complicación en el diseño de un sistema distribuido Self Stabilizing es que los Nodes no tienen una memoria global a la que puedan acceder instantáneamente. Cada Node debe tomar decisiones basadas en el conocimiento local disponible y las acciones de todos los Nodes deben lograr un objetivo global.

Por lo general, cuando diseña su sistema, tiene una configuración legítima que generalmente es estable. Si puede iniciar una configuración legítima y puede llegar a otra configuración en un número limitado de pasos, esta nueva configuración también es legítima siempre que los procesos no se dañen más. Sin embargo, su sistema distribuido es un sistema físico, por lo que es vulnerable a muchos tipos de fallas. Particularmente puede haber una falla transitoria. 

Falla transitoria: 
Es una falla impredecible y puede ocurrir en cualquier momento. Y ocurren con frecuencia. Debido a una fuente de alimentación débil o baterías, puede ser causado por una sobrecarga. Cuando los componentes de software fallan, también capturan la corrupción estatal. Por lo general, el sistema comienza con una configuración legítima y luego, durante un período de tiempo finito, enfrenta perturbaciones. Al final de esta perturbación, su sistema alcanza una configuración arbitraria.

En algún conjunto de configuraciones, es probable que sea más largo que el conjunto de configuraciones legítimas. La capacidad de recuperarse automáticamente de cualquier estado inicial implica que nunca se requirió inicialización. Se dice que su sistema está en modo de autoestabilización cuando no hay más perturbaciones y si después de un período finito de tiempo alcanza una configuración legítima y permanece allí, entonces esta propiedad de comenzar desde una configuración arbitraria y converger a una configuración legítima y permanecer allí se llama autoestabilización. Los sistemas autoestabilizadores exhiben dos propiedades:Convergencia y Cierre.

Auto estabilización

Ventaja de la autoestabilización en sistemas distribuidos: 
aquí, discutiremos las ventajas de la autoestabilización en sistemas distribuidos de la siguiente manera.

  • Permite que un sistema distribuido se recupere de fallas transitorias automáticamente sin ninguna intervención manual, siempre que no ocurran más fallas.
  • No es necesario inicializar el algoritmo de autoestabilización, ya que eventualmente comienza a comportarse correctamente independientemente de su estado inicial del sistema.
  • Esta propiedad es bastante robusta para los sistemas distribuidos, lo que lo convierte en un modelo bastante atractivo para los cálculos distribuidos.

Desventajas de la autoestabilización en sistemas distribuidos: 
aquí, discutiremos las desventajas de la autoestabilización en sistemas distribuidos de la siguiente manera.

  • Es bastante difícil de lograr, especialmente cuando el sistema se inicia en un estado incorrecto o un intruso lo corrompe.
  • Es muy complejo, es decir, difícil de diseñar.

Publicación traducida automáticamente

Artículo escrito por auspicious_boy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *