Equilibrio de red. Arquitectura web escalable y sistemas distribuidos. Balanceadores de carga redundantes

    equilibrio de carga de motores gemelos- - [A.S.Goldberg. Diccionario de energía inglés-ruso. 2006] Temas: energía en general EN equilibrio de carga de dos motores ... Guía del traductor técnico

    Equilibrio de ruedas- Este término tiene otros significados, ver Equilibrio. El equilibrado de ruedas es el proceso de reducir a un nivel aceptable el desequilibrio de la rueda, el disco, el cubo, el soporte de la rueda y los elementos de suspensión. Contenido 1 La necesidad de b ... Wikipedia

    Equilibrio- Lista de significados de una palabra o frase con enlaces a artículos relevantes. Si viniste aquí desde... Wikipedia

    GOST 19534-74: Equilibrio de cuerpos giratorios. Términos- Terminología GOST 19534 74: Equilibrio de cuerpos giratorios. Términos del documento original: 2. n rotor de soporte D. n Lagerrotor E. n rotor de soporte Rotor de soporte único F. Rotor a n soporte Un rotor que tiene n soportes Definiciones del término de diferentes documentos:… … Diccionario-libro de referencia de términos de documentación normativa y técnica.

    Sistemas de comunicaciones de brocado- Brocado, Inc. Tipo Empresa pública Cotización en NASDAQ: BRCD Año de fundación ... Wikipedia

    Cortafuegos Kerio Winroute- Tipo cortafuegos Desarrollador del sistema operativo Kerio Technologies Versión de Windows 6.7 (1 de agosto de 2009) Licencia ... Wikipedia

    Kerio Control- Desarrollador de firewall tipo Kerio Technologies Operating sistema windows Ultima versión 7.4.0 (30 de octubre de 2012) Sitio web con licencia propietaria ... Wikipedia

    Pruebas de estrés- (ing. Load Testing) determinación o recopilación de indicadores de rendimiento y tiempo de respuesta mediante programación sistema tecnico o dispositivos en respuesta a solicitud externa para establecer el cumplimiento de los requisitos de este sistema ... Wikipedia

    Pruebas de rendimiento- Este artículo carece de enlaces a fuentes de información. La información debe ser verificable, de lo contrario podrá ser cuestionada y eliminada. Puedes... Wikipedia

    Computación en la nube- (computación en la nube en inglés), en informática, este es un modelo para proporcionar ubicuidad y conveniencia acceso a la red previa solicitud a un conjunto común de recursos informáticos configurables (por ejemplo, redes de datos, ... ... Wikipedia

Las tecnologías de equilibrio de carga entre recursos informáticos se han vuelto relevantes a medida que se difunden los sitios web y otros recursos de Internet (incluidas las redes sociales), así como las aplicaciones y los datos distribuidos entre sitios remotos. Actualmente, una gran cantidad de personas utilizan a diario servicios de Internet a los que acceden mediante balanceadores de carga. Además, la mayoría de los usuarios ni siquiera son conscientes de su existencia. Al mismo tiempo, si no estuvieran presentes, la prestación de servicios sería muy problemática. Entonces, ¿qué son los balanceadores de carga? Vamos a resolverlo.

Inicialmente, los balanceadores se posicionaron como dispositivos especializados diseñados para reemplazar/desarrollar la solución entonces existente al problema de equilibrar los servicios web utilizando la tecnología DNS (Domain Name Service) utilizando el método Round-Robin. Sin el uso de equilibradores, el servicio DNS resolvió un nombre de host en una sola dirección IP y, si se usaban, en una de varias direcciones IP de lista dada. Cuando aumentaron los requisitos para el rendimiento de un complejo informático, el administrador pudo simplemente instalarlo en el sistema. servidor adicional y agregue su dirección IP a la lista de equilibrio.

El método de equilibrio de carga de DNS entre varios servidores tuvo varios problemas. El primer problema fue que con un sistema de equilibrio de este tipo era difícil lograr una distribución uniforme. solicitudes de clientes entre servidores individuales. La mayoría de las veces, la distribución era impredecible, porque el equilibrador no pudo recibir información sobre la carga actual de cada servidor. Esto obligó a las empresas a comprar hardware de servidor más potente de lo que realmente necesitaban, lo que generó mayores costos de capital.

Las tareas de los equilibradores de carga incluían y siguen incluyendo garantizar la escalabilidad de los sistemas informáticos, la tolerancia a fallos de los servicios, la gestión de las conexiones del servidor y la protección. equipo de servidor de ataques de intrusos

El segundo problema era que no se supervisaba de ninguna manera la disponibilidad de las aplicaciones, los puertos TCP/UDP o los propios servidores. Si el servidor de equilibrio de carga fallaba, el servidor DNS aún le reenviaría las solicitudes de los clientes. Como resultado, los usuarios recibieron el mensaje "servidor no disponible". Si el administrador eliminaba manualmente un servidor fallido (o varias máquinas) de la lista de equilibrio, los clientes seguían intentando acceder a él utilizando su dirección IP. Actualmente, este problema se resuelve parcialmente disminuyendo el parámetro TTL en la respuesta DNS. Pero si en el servidor DNS o puesto de trabajo Si el cliente está configurado para ignorar los valores del parámetro TTL o el registro DNS correspondiente está configurado estáticamente, el problema de la pérdida de acceso sigue siendo relevante. Y hoy no existen métodos para solucionarlo.

El primer producto comercial que proporcionó equilibrio de carga entre servidores IP fue el dispositivo Cisco LocalDirector, desarrollado en julio de 1996. Los primeros equilibradores (incluido Cisco LocalDirector) fueron diseñados no solo para aliviar los problemas de equilibrio de carga a través de DNS, sino que, en general, estaban destinados a gestionar la infraestructura multiservidor, incluido su correcto escalado.

Actualmente, la escalabilidad de los sistemas informáticos se suele implementar de dos formas: aumentando los recursos de un servidor independiente (supercomputadora) o utilizando varios servidores de bajo rendimiento que cumplen la misma tarea. La segunda opción es menos costosa y, por tanto, más preferible. Se implementa precisamente con la ayuda de equilibradores que admiten la tecnología de agrupación.

Los balanceadores de carga le permiten distribuir el tráfico de aplicaciones actual entre servidores, así como controlar y cambiar sus características de acuerdo con reglas específicas.

Los balanceadores de carga modernos le permiten controlar, distribuir y modificar el tráfico de aplicaciones según los valores de los encabezados L2-L7. modelo de red OSI. Básicamente, los balanceadores de carga reconocen las aplicaciones y garantizan que se "entreguen" a los usuarios, por lo que Últimamente se conocieron como controladores de entrega de aplicaciones.

¿Globalmente o localmente?

Los sistemas de equilibrio de carga se dividen en dos tipos: globales y locales. El equilibrio de carga local está diseñado para distribuir las solicitudes de los clientes entre un grupo de servidores ubicados dentro del mismo sitio. EN en este caso Los equilibradores actúan como un enlace intermedio entre clientes y servidores a lo largo de su interacción. Con el equilibrio local, las solicitudes de los clientes se distribuyen entre servidores según los valores de los encabezados L3-L7 de la conexión establecida.

El equilibrio global está diseñado para distribuir las solicitudes de los clientes entre sitios. En este caso, los sistemas no participan en la transmisión del tráfico cliente-servidor, sino que solo redirigen a los clientes a uno u otro sitio. Con el equilibrio de carga global, las solicitudes de los clientes se distribuyen entre sitios mediante mecanismos DNS, redireccionamiento HTTP, etc.

En ambas opciones, los balanceadores monitorean la disponibilidad del hardware del servidor, lo que hace que el esquema sea tolerante a fallas. La funcionalidad del equilibrio local y global puede concentrarse en un equipo (Radware, Brocade, F5) o transferirse a plataformas independientes (Cisco).

Actualmente, nos encontramos con mayor frecuencia con problemas que requieren un equilibrio local. Este tipo utilizado en casi todos los centros de datos grandes compañias(segmentos bancarios y de operadores, proveedores de contenidos). El equilibrio de carga local se utiliza con mayor frecuencia para siguientes tipos aplicaciones:

  • sistemas postales;
  • sistemas web (servidores web individuales y segmentos Frontend de complejos sistemas de aplicación);
  • sistemas DNS;
  • Sistemas de control de acceso (Firewall).

LOS SISTEMAS DE EQUILIBRIO DE CARGA SE DIVIDEN EN DOS TIPOS: GLOBAL Y LOCAL

El equilibrio de carga global lo utilizan principalmente los proveedores de contenido para proporcionar servicios de respaldo entre sitios distribuidos geográficamente. Este tipo de sistema se implementa con mayor frecuencia basándose en tecnologías de redireccionamiento DNS y HTTP. La desventaja del equilibrio de carga global es que largo tiempo restauración de servicios (desde un par hasta decenas de segundos) en caso de falla de una sección de la red o de un sitio completo. Además, puede haber situaciones en las que los sistemas cliente ignoren el valor TTL de DNS, lo que provoca un tiempo de inactividad en el acceso a los servicios de hasta 24 horas.

El objetivo principal de utilizar este tipo de equilibrio es optimizar los flujos de datos entre clientes y servidores (acceso del cliente al centro de datos más cercano). También le permite proporcionar acceso confiable a los recursos públicos de la empresa en Internet a través de las direcciones IP de dos operadores de telecomunicaciones independientes (bloques PA). Así, los balanceadores de carga monitorean la disponibilidad del servicio a través de las direcciones IP de ambos operadores de telecomunicaciones, sobre esta base se toma la decisión de dirigir a los clientes a una u otra dirección IP.

Características adicionales

Los balanceadores de carga tienen adicionales funcionalidad. Los más populares incluyen la descarga SSL, la compresión de datos transmitidos datos HTTP y multiplexación de conexiones TCP.

permite minimizar la carga en el equipo servidor del centro de datos transfiriendo el cifrado/descifrado SSL a equilibradores con aceleradores de hardware integrados. Esta funcionalidad se suele utilizar en sistemas informáticos donde es necesario organizar acceso seguro a servicios para clientes remotos.

Compresión de datos HTTP transmitidos le permite minimizar la cantidad de tráfico HTTP transmitido entre los servidores del centro de datos y las estaciones de trabajo de usuarios remotos, acelerando así el funcionamiento de los sistemas de aplicaciones. Los protocolos de compresión más comunes son gzip y deflate. La función de compresión de datos HTTP es compatible con cualquier navegador moderno. Un problema similar se resuelve mediante dispositivos especializados: optimizadores de tráfico de hardware o software. A diferencia de los equilibradores, deben instalarse tanto en el lado del cliente como en el del servidor. Por otro lado, los optimizadores de tráfico utilizan un principio operativo diferente (basado en el almacenamiento en caché) y es posible optimizar el trabajo. gran número protocolos, no sólo HTTP.

Multiplexación de conexiones TCP permite minimizar la carga en el equipo servidor del centro de datos instalando una sola conexión entre el equilibrador y el servidor. Por lo tanto, todas las solicitudes de los clientes que ingresan al balanceador se transmiten al servidor dentro de una sola conexión utilizando muchas transacciones dentro de ella.

Funcional cambios en los encabezados L3-L7 y protección contra ataques DoS/SYN utilizado principalmente en el segmento de proveedores de contenidos en el segmento corporativo. Cambiar los encabezados L3-L7 permite a los clientes manejar de manera más flexible el tráfico de aplicaciones al controlar el acceso del cliente a los servicios. La protección contra ataques DoS según firmas predefinidas evita la transmisión de tráfico malicioso al equipo del servidor. La protección contra ataques SYN evita que el equipo del servidor se sobrecargue con conexiones bloqueadas debido a su descanso forzado(si no hay confirmación de conexión por parte del cliente).

Funcional redirigir las solicitudes de los clientes a los servidores de caché Se utiliza principalmente en el segmento de operadores de telecomunicaciones. Le permite reducir el tráfico transmitido en la red. operadores de terceros comunicaciones (las tarifas de peering se reducen en consecuencia) redirigiendo las solicitudes de los usuarios a servidores de caché locales.

Probado en la práctica

Después de que discutimos aspectos teóricos implementación de balanceadores de carga, propongo considerar varios casos reales. Tenemos experiencia trabajando con diferentes modelos balanceadores de carga: Cisco CSS/CSM, Cisco ACE, Brocade ADX, Radware Alteon (anteriormente Nortel), Radware OnDemand. quisiera dar lo máximo ejemplos interesantes Implementación de sistemas de balanceo de carga basados ​​en soluciones Cisco y Brocade.

Equilibrio de carga entre servidores WEB con descarga SSL
Uno de nuestros clientes, VimpelCom (Ukrainian Radio Systems), tenía una serie de requisitos previos para la implementación de balanceadores de carga. La empresa contaba con dos servidores web independientes que aseguraban el funcionamiento de las aplicaciones de servicio al suscriptor, mientras que el cambio de carga entre servidores web en caso de falla de uno de ellos se hacía manualmente. El servidor web activo representa enorme presión(incluido el cifrado/descifrado SSL).

Propusimos una solución basada en balanceadores Cisco CSS11500. Como resultado, su implementación hizo posible incluir ambos servidores web en el procesamiento activo de datos, aumentando así el rendimiento del sistema. El cifrado y descifrado SSL se han trasladado de los servidores web a los equilibradores de carga, liberando Recursos adicionales servidores web. Balanceadores de carga implementados en sistema existente prácticamente sin cambiar la configuración de la red (con la excepción de cambiar las reglas NAT en los equipos de borde para el acceso a Internet).

Equilibrio de carga entre servidores del sistema Siebel CRM
Completamos otro proyecto en M.Video. Allí, las razones principales para introducir balanceadores de carga fueron la presencia de varios servidores web y servidores de aplicaciones y la necesidad de una interacción confiable de dos niveles: "clientes-servidores web" y "servidores web-servidores de aplicaciones". La empresa necesitaba controlar la disponibilidad del equipo del servidor a través de URL independientes.

En el proyecto también se utilizaron equilibradores Cisco CSS11500. Todos los servidores web y de aplicaciones han sido incluidos en proceso activo El procesamiento de datos, el equilibrio se realizó en dos niveles y la verificación de la disponibilidad del equipo del servidor se basó en las URL de control.

Equilibrio de carga entre servidores web de redes sociales
Gran proveedor de contenidos ( red social) tenía una serie de requisitos previos importantes para la introducción de balanceadores de carga. Entre ellos se encuentra la presencia de varios servidores web que procesan enormes flujos de datos ( un gran número de conexiones y datos transferidos), la necesidad de equilibrio de carga en la séptima capa del modelo OSI con cambios en los encabezados HTTP y equilibrio de carga global por pesos entre varios VIP de equilibrio local. Además, la empresa necesitaba controlar la disponibilidad del equipo del servidor en URL individuales y limitar la cantidad de conexiones a cada servidor web.

La solución basada en los equilibradores Brocade ADX10000 permitió a la empresa resolver con éxito los problemas mencionados anteriormente. Gracias a la introducción de balanceadores, todos los servidores web y servidores de aplicaciones se incluyeron en el procesamiento de datos activo y se verificó la disponibilidad del equipo del servidor en función de las URL de control. Los equilibradores se incluyeron en la red en modo One-Arm (las solicitudes del cliente y las respuestas del servidor llegaron a las mismas interfaces), lo que permitió no cambiar la configuración del servidor y del equipo de red.

Los sistemas de equilibrio de carga se están volviendo cada vez más populares porque ayudan a garantizar la continuidad del negocio del cliente. Cada año, los balanceadores se utilizan cada vez más en la implementación de varios sistemas de aplicaciones, convirtiéndose esencialmente en parte de ellos. Ya no se trata sólo de equilibradores de carga, sino de controladores de entrega de aplicaciones, y su funcionalidad se amplía constantemente. En el futuro, la mayoría de los sistemas de aplicaciones grandes utilizarán equilibradores de carga en su infraestructura.

| |

El equilibrio de carga es un componente clave de una infraestructura de alta disponibilidad que mejora el rendimiento y la resiliencia de sitios web, aplicaciones, bases de datos y otros servicios a través de la distribución. carga de trabajo entre varios servidores.

La infraestructura sin equilibrio de carga se ve así:

Usuario → Internet → Servidor web → Servidor de base de datos

Es decir, el usuario se conecta directamente al servidor web (tu dominio, tudominio.com). Y si ese único servidor web falla, el usuario no podrá acceder al sitio. Además, si muchos usuarios intentan abrir el sitio al mismo tiempo, es posible que el servidor simplemente no pueda soportar la carga: el sitio se cargará muy lentamente o el usuario no podrá abrirlo en absoluto.

Puede eliminar un único punto de falla mediante el uso de un equilibrador de carga y servidor web adicional en la parte trasera.

Normalmente, todos los servidores backend ofrecen el mismo contenido, lo que significa que los usuarios acceden a los mismos datos independientemente de qué servidor responda a la solicitud.

Usuario

Internet

Equilibrador de carga
↓ ↓
Servidor web 1 Servidor web 2
(servidores replicados)

En el equilibrio de carga, cada solicitud va primero al equilibrador, que la enruta a uno de los servidores backend; este servidor, a su vez, responde a la solicitud del usuario y le transmite el resultado. En esta situación, el equilibrador de carga se convierte en el único punto de falla; se puede eliminar agregando otro equilibrador.

¿Qué tipo de tráfico maneja el equilibrador de carga?

Los administradores de Balancer crean reglas para cuatro tipos principales de tráfico:

  • HTTP: el equilibrio HTTP estándar distribuye las solicitudes según los mecanismos HTTP. El equilibrador configura los encabezados X-Forwarded-For, X-Forwarded-Proto y X-Forwarded-Port para transmitir la información de la solicitud original al servidor backend.
  • HTTPS: el equilibrio de HTTPS funciona de manera muy similar a HTTP, pero con soporte de cifrado. El cifrado de datos se maneja de dos maneras: mediante retransmisión SSL (admite el cifrado hasta el backend) o terminación SSL (los datos son descifrados por un balanceador, después de lo cual el tráfico se envía al backend sin cifrar).
  • TCP: Las aplicaciones que no utilizan HTTP o HTTPS pueden distribuir Tráfico TCP. Por ejemplo, puede dividir el tráfico de un clúster de base de datos.
  • UDP: más recientemente, algunos balanceadores de carga han agregado soporte para los principales protocolos de Internet que usan UDP (como DNS y syslogd).

Estas reglas de reenvío definen el protocolo y el puerto del balanceador de carga y luego los asocian con el protocolo y el puerto que el balanceador de carga utilizará para reenviar el tráfico al backend.

¿Cómo selecciona el equilibrador un servidor en el backend?

El equilibrador de carga decide a qué servidor enrutar la solicitud utilizando una combinación de dos factores. Primero, el balanceador determina los servidores que pueden responder rápida y adecuadamente a las solicitudes, y luego selecciona uno de servidores disponibles, guiado por reglas preconfiguradas.

Comprobando el estado del servidor

El equilibrador debe enviar tráfico sólo a aquellos servidores activos que son capaces de servirlo. Hacer Buena elección, monitorea continuamente el estado de los servidores en el backend utilizando el protocolo y el puerto especificados en la regla. Si un servidor no pasa la verificación del equilibrador, se elimina automáticamente del grupo de servidores y no recibirá tráfico hasta que pase la verificación.

Algoritmos de equilibrio de carga

  1. Según el algoritmo Round Robin (o algoritmo de servicio circular), los servidores reciben el tráfico de forma secuencial. El equilibrador selecciona el primer servidor de la lista y le envía la primera solicitud, el segundo servidor recibirá la segunda solicitud, etc.
  2. El equilibrador selecciona el servidor menos cargado para atender el tráfico (es decir, el servidor con la menor cantidad de conexiones por este momento). Este algoritmo es especialmente útil si se necesitan sesiones largas para atender el tráfico.
  3. El equilibrador de carga selecciona un servidor en función de un hash de la solicitud de IP original (por ejemplo, en función de la dirección IP del visitante). En este caso, todas las solicitudes usuario específico será atendido por el mismo servidor backend.

Estado de manejo

Algunas aplicaciones requieren que el usuario permanezca conectado al mismo servidor backend mientras se ejecutan. Un algoritmo que utiliza la dirección IP del visitante puede proporcionar esta condición. También puede vincular una sesión a un servidor mediante las llamadas sesiones fijas: en este caso, el equilibrador configura cookies y luego todas las solicitudes para esta sesión se enviarán al mismo servidor físico.

Balanceadores de carga redundantes

Para "desactivar" el equilibrador como punto único de falla, puede agregar un segundo equilibrador a la infraestructura y crear un clúster en el que verifiquen el estado de cada uno. Cada uno es igualmente capaz de detectar fallas y recuperarse de ellas.

Usuario

Internet
↓ ↓
Equilibrador 1 Equilibrador 2

Si el primer equilibrador falla, DNS transferirá los usuarios al segundo equilibrador. cambios de DNS a veces toman mucho tiempo. Para acelerar y automatizar el cambio entre balanceadores, muchos administradores utilizan sistemas que admiten direcciones IP flotantes (u otras tecnologías de traducción de IP). Estas tecnologías eliminan algunos de los problemas que surgen durante los cambios de DNS al proporcionar direcciones IP estáticas que luego pueden traducirse si es necesario. Nombre de dominio se puede asociar con la misma IP, mientras que la dirección IP en sí se mueve entre servidores backend.

software El cargador que implementa el equilibrio debe decidir dónde (en qué nodo de cálculo) se deben realizar los cálculos asociados con este nuevo trabajo. Además, el equilibrio implica transferir (migrar) parte de los cálculos desde los nodos informáticos más cargados a los nodos menos cargados.

Es necesario distinguir entre descomposición de tareas y el problema de mapear tareas en el entorno informático. La descomposición de tareas es un paso en el proceso de creación. programa paralelo. La descomposición está diseñada para dividir una aplicación en módulos (tareas). Las tareas se ejecutan en procesadores separados. Como resultado de la descomposición de una aplicación distribuida, aparece un conjunto de tareas que resuelven el problema en paralelo. Estas tareas pueden ser independientes o vincularse entre sí mediante el intercambio de datos. El mapeo (o "distribución de tareas") es una etapa separada que permite distribuir las tareas obtenidas en la etapa de descomposición entre los procesadores.

Entonces, asumiremos que una aplicación distribuida es una colección de procesos lógicos que interactúan entre sí, enviándose mensajes entre sí. Los procesos lógicos se distribuyen en diferentes nodos informáticos y pueden funcionar en paralelo. Al distribuir procesadores lógicos entre nodos informáticos, intentan distribuirlos de modo que los nodos informáticos sean uniformes.

Sin embargo, cuando se ejecuta una aplicación distribuida, surge un conflicto entre la distribución equilibrada de objetos entre procesadores y la baja velocidad de intercambio de mensajes entre procesadores. Si los procesos lógicos se distribuyen entre los procesadores de tal manera que los costos de comunicación entre ellos se reduzcan a cero, entonces algunos procesadores (computadoras) pueden estar inactivos, mientras que otros estarán sobrecargados. De lo contrario, un sistema “bien equilibrado” requerirá altos costos de comunicación. Por lo tanto, la estrategia de equilibrio debe ser tal que los nodos informáticos se carguen de manera bastante uniforme, pero también entorno de comunicación no debe sobrecargarse.

La implementación de un sistema de simulación distribuido requiere el desarrollo de algoritmos para sincronizar objetos (o procesos) que operan en diferentes nodos informáticos. Ya hemos discutido anteriormente los algoritmos de sincronización. Eficiencia de implementación de estos algoritmos, a su vez, depende de la distribución uniforme (equilibrio) de la carga informática entre los nodos de la computadora durante el funcionamiento del sistema distribuido. sistema de software, que es, en particular, un sistema de simulación distribuido.

Equilibrio de carga informática

Causas de carga desequilibrada.

El problema de equilibrar la carga informática de una aplicación distribuida surge porque:

  • la estructura de una aplicación distribuida es heterogénea, diferentes procesos lógicos requieren diferente potencia informática;
  • la estructura del complejo informático (por ejemplo, un clúster) también es heterogénea, es decir diferentes nodos informáticos tienen un rendimiento diferente;
  • la estructura de la interacción internodal es heterogénea, porque Las líneas de comunicación que conectan los nodos pueden tener varias características banda ancha.

Equilibrio estático y dinámico.

Es necesario distinguir entre equilibrio estático y dinámico.

El equilibrio estático se realiza antes de que la aplicación distribuida comience a ejecutarse. Muy a menudo, a la hora de distribuir procesos lógicos entre procesadores, se utiliza la experiencia de ejecuciones anteriores, algoritmos genéticos. Sin embargo, la ubicación preliminar de procesos lógicos en procesadores (computadoras) no tiene ningún efecto.

Esto se explica por:

  • El entorno informático en el que se ejecuta la aplicación puede cambiar y algún nodo informático puede fallar.
  • El nodo informático en el que se ejecuta la aplicación distribuida también está ocupado con otros cálculos, cuya proporción puede aumentar con el tiempo.

De una forma u otra, el beneficio de distribuir procesos lógicos entre computadoras con el fin de ejecutarlos procesamiento en paralelo se vuelve ineficaz.

El equilibrio dinámico implica la redistribución de la carga computacional entre nodos mientras la aplicación se está ejecutando. Software, implementar equilibrio dinámico, define:

  • carga de nodos informáticos;
  • capacidad de la línea de comunicación;
  • frecuencia de intercambios de mensajes entre procesos lógicos de una aplicación distribuida, etc.

Basado en los datos recopilados sobre la aplicación distribuida y entorno informático) se toma la decisión de transferir procesos lógicos de un nodo a otro.

Declaración del problema de equilibrio dinámico.

El objetivo del equilibrio de carga se puede enunciar de la siguiente manera:

Con base en un conjunto de tareas, incluidos cálculos y transferencia de datos, y una red de computadoras de cierta topología, encuentre una distribución de tareas entre las computadoras que garantice una carga informática aproximadamente igual en las computadoras y costos mínimos para transferir datos entre ellos.

Imaginemos una aplicación distribuida como un gráfico. Sea G p = (V, E), V es el conjunto de vértices (tareas de la aplicación distribuida), E es el conjunto de arcos del gráfico: conexiones entre tareas de la aplicación distribuida. Sea TM un conjunto de modelos. aplicaciones distribuidas, .

El problema de equilibrio se plantea como un problema de mapeo de gráficos conectados no isomorfos, B: TM -> NG, donde TM es un conjunto de gráficos modelo, NG es un conjunto de gráficos de configuración. Red de computadoras. El gráfico está definido por un conjunto de nodos informáticos C y un conjunto de aristas Ed que denotan líneas de comunicación. Se puede pensar en NG como un supergrafo que contiene todos los grafos posibles (admisibles) de G como subgrafos.

Por lo tanto, un conjunto de gráficos de tareas debe mapearse de manera óptima en un conjunto de gráficos. sistema computacional.

Metodología para la solución práctica del problema de balanceo.

Generalmente práctico y solución completa La tarea de equilibrio de carga consta de cuatro pasos:

  • Estimación de la carga en nodos informáticos.
  • Iniciando el equilibrio de carga.
  • Tomar decisiones de equilibrio.
  • Objetos en movimiento.

En las partes siguientes, cada paso de equilibrio se especifica teniendo en cuenta varios métodos soluciones.




Arriba