En este artículo, aprenderemos sobre las características de un buen algoritmo de programación en un sistema distribuido.
Tolerancia a fallos:
Un buen algoritmo de programación global no debe detenerse cuando los Nodes del sistema se bloquean o se bloquean temporalmente. La configuración del algoritmo también debe ser incluso si los Nodes están separados por múltiples Nodes.
Escalabilidad:
Se debe usar un buen algoritmo de programación global para marketing, lo que significa que el algoritmo debería funcionar bien incluso cuando aumenta la cantidad de Nodes. El algoritmo de programación consultará la carga de trabajo de todas las categorías en el sistema corrupto y seleccionará un Node con la menor carga de configuración. Para aplicaciones distribuidas, el algoritmo de configuración equilibrará la carga entre Nodes, pero no es así, los Nodes que son más eficientes a medida que se asignan tendrán un mejor tiempo de respuesta y los Nodes menos cargados pueden tener un tiempo de respuesta negativo. por lo tanto, la carga debe compartirse en lugar de equilibrarse, es decir, los recursos en los Nodes deben compartirse entre los Nodes hasta que las tareas que se realizan no se vean afectadas.
Sin conocimiento a priori sobre los procesos:
Los algoritmos de programación funcionan en función de las características y los requisitos de recursos de los procesos. Esta información debe proporcionarla el usuario. Obviamente, esto supondrá una sobrecarga adicional para los usuarios, por lo que un buen algoritmo de programación global debería requerir menos conocimientos previos.
Capacidad de toma de decisiones rápidas:
Los algoritmos de programación deben ser rápidos y deben proporcionar la mejor decisión óptima posible en menos tiempo. en línea
Estabilidad:
Se debe evitar la migración inútil de procesos, es decir, si el Node n1 está inactivo y n2 y n3 tienen múltiples procesos, entonces el Node n2 y el Node n2 enviarán procesos al Node n1, lo que hará que el Node n1 sobrecargue el Node n1 y moverá estos procesos a otros Nodes. lo cual es una sobrecarga inútil para el sistema, por lo que los buenos algoritmos de programación deben ser estables y evitar la migración inútil.
Naturaleza dinámica:
Las asignaciones de procesos deben poder significar que las asignaciones deben realizarse en función de la carga actual del sistema, pero no en función de las condiciones planificadas específicas. El programador también debe poder mover procesos de un Node a otro duplicado para que la distribución se base en la carga actual del sistema.
Publicación traducida automáticamente
Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA