En un sistema distribuido, el interbloqueo no se puede prevenir ni evitar, ya que el sistema es tan vasto que es imposible hacerlo. Por lo tanto, solo se puede implementar la detección de puntos muertos. Las técnicas de detección de puntos muertos en el sistema distribuido requieren lo siguiente:
- Progreso:
el método debe poder detectar todos los interbloqueos en el sistema. - Seguridad:
el método no debe detectar interbloqueos falsos o fantasmas.
Hay tres enfoques para detectar interbloqueos en sistemas distribuidos. Son los siguientes:
- Enfoque centralizado:
en el enfoque centralizado, solo hay un recurso responsable para detectar interbloqueos. La ventaja de este enfoque es que es simple y fácil de implementar, mientras que los inconvenientes incluyen una carga de trabajo excesiva en un Node, fallas en un solo punto (es decir, todo el sistema depende de un Node, si ese Node falla, todo el sistema falla) que a su vez hace que el sistema sea menos confiable.
- Enfoque distribuido:
en el enfoque distribuido, diferentes Nodes trabajan juntos para detectar interbloqueos. No hay falla de un solo punto (es decir, todo el sistema depende de un Node, si ese Node falla, todo el sistema falla), ya que la carga de trabajo se divide por igual entre todos los Nodes. La velocidad de detección de puntos muertos también aumenta.
- Enfoque jerárquico:
este enfoque es el más ventajoso. Es la combinación de enfoques centralizados y distribuidos de detección de puntos muertos en un sistema distribuido. En este enfoque, algunos Nodes o grupos de Nodes seleccionados son responsables de la detección de puntos muertos y estos Nodes seleccionados están controlados por un solo Node.
Publicación traducida automáticamente
Artículo escrito por sarahsuhail y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA