El intercambio de carga básicamente denota el proceso de reenvío de un enrutador para compartir el reenvío de tráfico, en caso de múltiples rutas, si está disponible en la tabla de enrutamiento. En caso de que haya rutas iguales, el proceso de reenvío seguirá el algoritmo de carga compartida. En los sistemas de carga compartida, todos los Nodes comparten la carga de trabajo general y la falla de algunos Nodes aumenta la presión del resto de los Nodes. El enfoque de carga compartida garantiza que ningún Node se mantenga inactivo para que cada Node pueda compartir la carga.
Por ejemplo, supongamos que hay dos conexiones de servidores de diferentes anchos de banda de 500Mbps y otra de 250Mbps. Vamos, hay 2 paquetes. En lugar de enviar los 2 paquetes a la misma conexión, es decir, 500 Mbps, se reenviará 1 paquete a la conexión de 500 Mbps y otro a la de 250 Mbps. Aquí el objetivo no es usar la misma cantidad de ancho de banda en dos conexiones, sino compartir la carga para que cada conexión pueda manejarla con sensatez sin ningún tráfico.
¿Por qué utilizar Carga Compartida?
Hay varios problemas en el diseño de algoritmos de equilibrio de carga. Para superar estos problemas, utilizamos el algoritmo de reparto de carga. Los problemas son:
- Evaluación de carga: Decide cómo evaluar la carga de trabajo de un Node en un marco distribuido.
- Transferencia de procesos: Concluye si el proceso se puede ejecutar localmente oa distancia.
- Intercambio de información estática: Decide cómo el framework carga la información que puede ser intercambiada entre los Nodes.
- Política de ubicación: Decide la determinación de un hub objetivo durante la migración del proceso.
- Asignación de prioridad: Decide la prioridad de ejecución de un conjunto de procesos cercanos y remotos en un Node específico.
- Política de restricción de migración: decide el número absoluto de veces que un proceso puede moverse comenzando con un concentrador y luego al siguiente.
El algoritmo de carga compartida incluye políticas como la política de ubicación, la política de transferencia de procesos, la política de intercambio de información de estado, la política de estimación de carga, la política de asignación de prioridad y la política de limitación de migración.
1. Políticas de ubicación: la política de ubicación concluye el Node emisor o el Node receptor de un proceso que se moverá dentro del marco para compartir la carga. Dependiendo del tipo de Node que se intensifique y busque globalmente un Node razonable para el proceso, las estrategias de ubicación son del tipo siguiente:
- Política inaugurada por el remitente: aquí el Node remitente del proceso tiene la prioridad de elegir a dónde se debe enviar el proceso. Los Nodes con carga activa buscan Nodes con carga ligera donde la carga de trabajo debe transferirse para equilibrar la presión del tráfico. Cada vez que la carga de un Node resulta ser superior al valor umbral, comunica un mensaje o prueba arbitrariamente diferentes Nodes individualmente para encontrar un Node con poca carga que pueda reconocer al menos uno de sus procesos. En el caso de que no se encuentre un Node receptor razonable, el Node en el que comenzó el proceso debe ejecutar ese proceso.
- Política de receptor inaugurado: Aquí el Node receptor del proceso tiene prioridad para elegir dónde recibir el proceso. En esta política, los Nodes con carga ligera buscan Nodes con carga activa desde los que se pueda aceptar la ejecución del proceso. Cada vez que la carga en un Node cae por debajo del umbral estimado, comunica un mensaje de texto a todos los Nodes o prueba los Nodes individualmente para buscar los Nodes cargados activamente. Algunos Nodes fuertemente cargados podrían mover uno de sus procesos si dicha transferencia no reduce su carga por debajo del umbral normal.
2. Política de transferencia de procesos: en esta política se utiliza el enfoque de todo o nada. El valor de umbral de todos los Nodes se asigna como 1. Un Node se convierte en un Node receptor si no hay ningún proceso y, por otro lado, un Node se convierte en un Node emisor si tiene más de 1 proceso. Si los Nodes se vuelven inactivos, entonces no pueden aceptar un nuevo proceso de inmediato y, por lo tanto, hace un mal uso de la potencia de procesamiento. Para superar este problema, transfiera el proceso en un Node que se espera que esté inactivo en el futuro. A veces, para ignorar la potencia de procesamiento de los Nodes, el algoritmo de carga compartida cambia el valor del umbral de 1 a 2.
3. Política de intercambio de información estatal: en el cálculo de carga compartida, no se requiere que los Nodes intercambien información regularmente; sin embargo, deben conocer la condición de los diferentes Nodes cuando están subcargados o sobrecargados. Por lo tanto, aquí se utilizan dos subpolíticas:
- Transmitir cuando cambia el estado: Los Nodes transmitirán la solicitud de información de estado solo cuando haya un cambio de estado. En la política de ubicación inaugurada por el remitente, el Node solo transmite la solicitud de información de estado cuando un Node está sobrecargado. En la política de ubicación inaugurada por el receptor, el Node solo transmite la solicitud de información de estado cuando un Node está subcargado.
- Sondeo cuando cambia el estado: En una red grande se realiza la operación de sondeo. Solicita arbitrariamente a diferentes Nodes información de estado hasta que obtiene uno apropiado o alcanza el límite de prueba.
4. Política de estimación de carga: los algoritmos de carga compartida tienen como objetivo evitar que los Nodes estén inactivos, pero es adecuado para saber si un Node está ocupado o inactivo. En consecuencia, estos algoritmos suelen utilizar la política de estimación de carga menos compleja de contar el número absoluto de procesos en un Node.
5. Política de asignación de prioridad: utiliza algunas reglas para determinar la prioridad de un Node en particular. Las reglas son:
- Egoísta: Se da mayor prioridad al proceso local que al proceso remoto. Por lo tanto, tiene el peor rendimiento en tiempo de respuesta para el proceso remoto y el mejor rendimiento en tiempo de respuesta para el proceso local.
- Altruista: se otorga mayor prioridad al proceso remoto que al proceso local. Tiene el mejor rendimiento de tiempo de respuesta.
- Intermedio: el número de procesos locales y remotos en un Node decide la prioridad. En el momento en que la cantidad de procesos locales es mayor o equivalente a la cantidad de procesos remotos, los procesos locales tienen mayor prioridad; de lo contrario, los procesos remotos tienen mayor prioridad que los procesos locales.
6. Política de limitación de migración: esta política decide el número absoluto de veces que un proceso puede moverse. Se podría utilizar una de las dos estrategias adjuntas.
- No controlado: la llegada de un proceso remoto a un Node se maneja de manera similar a un proceso que emerge en un Node, por lo que un proceso puede migrar cualquier número de veces.
- Controlado: se utiliza un parámetro de conteo de migración para fijar el límite de la migración de un proceso. Por lo tanto, un proceso puede migrar un número fijo de veces aquí. Esto elimina la inestabilidad de la estrategia descontrolada.
Publicación traducida automáticamente
Artículo escrito por swarnavo09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA