HAL Id: hal-01068501
https://hal.archives-ouvertes.fr/hal-01068501
Submitted on 25 Sep 2014
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Control de balanceo de carga de un grupo de servidores de red
Miquel Talavera Foix, Carolina Albea-Sanchez
To cite this version:
Miquel Talavera Foix, Carolina Albea-Sanchez. Control de balanceo de carga de un grupo de servidores
de red. XXXV Jornadas de Automática, Sep 2014, Valencia, España. pp.478-483. �hal-01068501�
Control de balanceo de carga de un grupo de servidores de red
Miquel Talavera-Foix
CNRS, LAAS, 7 avenue du Colonel Roche, F-31400 Toulouse France, [email protected] Carolina Albea
CNRS, LAAS, 7 avenue du Colonel Roche, F-31400 Toulouse France Univ de Toulouse, UPS, LAAS, F-31400 Toulouse France, [email protected]
Resumen
Debido al incremento de servicios en Internet y del n´ umero de usuarios, se ha multiplicado la de- manda de prestaciones de los servidores web. Si se usa adecuadamente los “cl´ usteres”, se puede llegar a una potencia correcta de procesamiento que per- mita satisfacer los requerimientos. El equilibrado de carga, o “load balancing”, permite crear una red robusta y eficiente. En este trabajo se presenta una ley de control distribuido inspirada en la “teor´ıa de consenso”. El bucle cerrado asegura la distribuci´ on equilibrada de la carga, adem´ as de garantizar una estabilidad asint´ otica. Gracias a un control des- centralizado, la carga computacional se reduce y permite que a su vez el sistema sea escalable. Pa- ra garantizar la estabilidad local del modelo se hace una estimaci´ on de la cuenca atracci´ on. El control distribuido se ha validado mediante simulaciones en Matlab & Simulink y Network Simulator 2.
Palabras clave: balanceo de carga, control por consensus, estabilidad de Lyapunov, dominio de atracci´ on.
1. INTRODUCCI ´ ON
La mayor´ıa de los servidores web deben funcionar veinticuatro horas al d´ıa, siete d´ıas a la semana, con total disponibilidad y fiabilidad. A veces, la potencia de c´ alculo de un solo servidor no es su- ficiente para tratar todas las solicitudes entrantes de una p´ agina web. Como consecuencia, los usua- rios pueden esperar bastante para visualizar la p´ a- gina o incluso puede que no la visualicen a causa de las p´ erdidas de datos. Por tanto, interconectan- do un conjunto de servidores de una manera distri- buida a trav´ es de una red compartida (“cl´ usteres”) se puede mejorar significativamente el rendimien- to global del sistema [4]. Asimismo, se mejora la escalabilidad de los servidores, resultando una red m´ as segura.
En un sistema distribuido, los servidores traba- jan independientemente los unos de los otros. Sus procesadores pueden tener diferentes capacidades as´ı como distintas cargas iniciales. Por razones de
seguridad y robustez, se distribuye el flujo de soli- citudes entrantes de una manera eficiente, como en el caso de una arquitectura en paralelo [10]. Esta concepci´ on hace que ning´ un servidor pueda estar sobrecargado mientras haya otros con un nivel de carga inferior. La estrategia que distribuye equili- bradamente la carga del sistema se conoce como
“load balancing”.
La distribuci´ on de carga se puede implementar con un controlador descentralizado. Por lo que se re- quiere un conocimiento preciso del estado de cada servidor y de sus caracter´ısticas. El equilibrio de carga evita las p´ erdidas de datos (sobrecargas) y garantiza que los recursos del sistema se utilicen adecuadamente.
Actualmente, existen diferentes estrategias para realizar una distribuci´ on de carga. Algunos m´ eto- dos actuales se pueden encontrar en [8]. Un tuto- rial entre las diferentes estrategias tanto est´ aticas como din´ amicas se puede hallar en [7]. Por otro la- do, en [11] se encuentran diversas comparaciones entre m´ etodos determin´ısticos.
Normalmente, la carga computacional de la ma- yor´ıa de estas estrategias es muy elevada. “Shor- test Queue Policy” [12] coloca la solicitud entran- te al servidor que tenga una cola de espera infe- rior. “Shortest Expected Delay” [3] asigna la soli- citud entrante al servidor que minimice el tiempo de proceso de la tarea. “Sender-Receiver Initiated Diffusion” [5] transfiere tareas de los servidores al- tamente cargados a otros m´ as descargados.
Este art´ıculo propone una estrategia de control distribuido para la gesti´ on de la carga en un “cl´ us- ter” de servidores modificando la tasa (“rate”) de entrada. Se ha realizado un estudio te´ orico y pr´ ac- tico para un caso general, de modo que sea f´ acil- mente implementable en otras aplicaciones. Se ha propuesto un modelo din´ amico-determinista y una ley de control distribuido inspirada en la teor´ıa de consenso [9]. Se han realizado varias hip´ otesis pa- ra proponer una primera soluci´ on. Por ejemplo:
se asume que todos los servidores tienen una mis-
ma estructura; que el volumen de trabajo es cons-
tante y que todas las solicitudes entrantes pueden
ser procesadas por todos los servidores. El obje-
tivo principal de este art´ıculo no es s´ olo asegurar que el sistema sea seguro, sino tambi´ en evitar las p´ erdidas de datos. Se ha conseguido que la car- ga computacional del sistema disminuya y que el sistema sea escalable. Se comprueba que la carga total se mantiene y que las colas de cada servidor convergen asimpt´ oticamente a un nivel medio. Fi- nalmente se ha validado el modelo mediante simu- laci´ on en Matlab-Simulink y en Network Simula- tor 2.
Este art´ıculo est´ a organizado de la siguiente ma- nera: en la secci´ on II, se modeliza el sistema y se formula el problema; en la secci´ on III, se presenta la ley de control basada en la teor´ıa de consensus;
se realiza una estimaci´ on de la cuenca de atracci´ on en la secci´ on IV; se presentan algunas simulaciones en la secci´ on V y finalmente, el art´ıculo termina con una secci´ on de conclusiones y de trabajo fu- turo.
2. DISTRIBUCI ´ ON DE LA CARGA
2.1. MODELO
Vamos a considerar un sistema compuesto por una fuente S que distribuye una tasa entrante cons- tante A sobre un conjunto de servidores N (ver Figura 1). La tasa de carga tratada Y , representa la capacidad de cada procesador y se supone cons- tante. El objetivo de los N servidores no es otro que procesar la carga entrante. Las tasas A y Y se denotan respectivamente:
A = [a
1a
2. . . a
N−1a
N]
TY = [y
1y
2. . . y
N−1y
N]
T.
Figura 1: Sistema considerado con N = 3 servido- res.
Hip´ otesis 1 La carga global del sistema se con- serva:
X
N i=1a
i= X
N i=1y
i.
Para procesar correctamente la carga de trabajo de la fuente, se tiene en cuenta la cola de espera de los paquetes que a´ un no se han tratado. De esta manera, se introduce el estado: tama˜ no de la cola, q
i∈ <
≥0, donde su variaci´ on ˙ q
icorresponde a la diferencia entre la tasa de entrada, a
i, y la tasa de procesado m´ aximo, y
i. Nota que toda soluci´ on t 7→ q
i(t) tiene que satisfacer que q
i(t) ∈ <
≥0para todo t ≥ 0.
Por otro lado, se supone que los servidores tienen diferentes cargas iniciales:
q
0= [q
01q
02. . . q
0N−1q
0N]
T. (1) El modelo en forma compacta es:
˙
q = A − Y + u, (2)
donde u es la ley de control que distribuye la carga.
Problema 1 Nuestro objetivo es hacer un equili- brado de carga del sistema (1)-(2).
Nota 1 Una vez presentados los resultados de es- ta situaci´ on espec´ıfica, se llevar´ an a cabo simula- ciones para un caso m´ as general donde la tasa en- trante var´ıe en funci´ on del tiempo. Para diferen- ciarlas, la tasa entrante variante se denominar´ a A(t).
2.2. CONTROL POR CONSENSUS 2.2.1. Conectividad entre servidores Vamos a definir una matriz de conexi´ on. Para ello se define una matriz adjunta
Ad = [ad
ij] = (
1 si i 6 = j, 0 si i = j, y una matriz diagonal ∆,
∆ = (
0 si i 6 = j,
P
k∈N,k6=i
ad
iksi i = j.
Por tanto, la matriz Laplaciana del grafo indirecto resultante es:
L = ∆ − Ad. (3)
La matriz Laplaciana de un grafo indirecto es sim´ etrica y semi-definida positiva. Representa el grafo completo de la Figura 1.
2.2.2. Ley de control propuesta
El objetivo de este art´ıculo es el de proponer una
ley de control eficiente que asigne la entrada u
ia
cada servidor i para cumplir la siguiente proposi-
ci´ on:
Proposici´ on 1 Todas las longitudes de cola con- vergen a un punto promedio:
t→
l´ım
+∞q
i= q
∗, donde q
∗es el punto promedio.
Usando la ecuaci´ on del modelo (1)-(2) y la matriz Laplaciana (3), se dise˜ na un controlador din´ amico- distribuido que representa el flujo intercambiado entre los servidores.
u = − K
pLq + q
c(4)
˙
q
c= − K
iLq, (5) donde K
py K
i∈ <
≥0son las ganancias propor- cional e integral, respectivamente. Este control es un algoritmo cl´ asico de consensus para sistemas multi-agentes [9], que asegura que todos los tama-
˜
nos de las colas convergen a un nivel promedio, q
∗.
En el siguiente lema, se presenta una caracter´ıstica importante que define la elecci´ on de (4) y (5).
Lema 1 La ley de control distribuido (4) y (5) satisface la Proposici´ on 1, que remarca que todos los tama˜ nos de las colas convergen a un mismo valor promedio.
Prueba 1 Se establece a partir de aplicar (3) en (4) y (5).
2.2.3. Estabilidad en el sentido de Lyapunov
Sea V una funci´ on definida positiva:
V = q
TLq + (q
c+ A − Y )
2K
i. (6)
Su derivada correspondiente es:
V ˙ = 2q
TL q ˙ + 2 q ˙
c(q
c+ A − Y ) K
i.
Si se usa (2) y (5) se llega a:
V ˙ = − 2K
pq
TLq ≤ 0.
Esto implica estabilidad asint´ otica.
3. ESTIMACI ´ ON DE LA
CUENCA DE ATRACCI ´ ON
La mayor´ıa de las aplicaciones de control tienen restricciones del sistema (saturaciones, limitado- res de la tasa de bits, especificaciones f´ısicas...) que pueden hacer perder el car´ acter global de la estabilidad. En dise˜ nos de control, es usual aplicar la ley de control ignorando las restricciones. Por
ejemplo, si la ley de control es u
d= α(x), don- de x es la variable de estado, se aplica realmente u = γ(u
d) = γ(α(x)), donde γ es la funci´ on de saturaci´ on.
Si se trabaja en un dominio donde las restriccio- nes no est´ an activas γ(α(x)) = α(x), se mantiene la estabilidad local. No obstante, si existe alguna regi´ on “prohibida” en el espacio de estado, se de- be asegurar que el sistema no abandone la regi´ on
“segura”. Para considerar estas limitaciones se es- tima una cuenca de atracci´ on [1]. En [6] se pueden encontrar diversos m´ etodos para la estimaci´ on de la cuenca de atracci´ on. Un ejemplo de un inversor
“boost” se halla en [2].
Hip´ otesis 2 Existe una funci´ on de Lyapunov conocida y radialmente no acotada V (x), tal que un conjunto invariante, positivo y compacto Ω,
∂V∂xf (x, α(x)) ≥ 0.
M es subconjunto invariante del conjunto para el cual V ˙ = 0 en Ω.
Mediante el principio de invariancia de la LaSalle, la Hip´ otesis 2 garantiza que las trayectorias del modelo sin restricciones tienden a M . Note que la Hip´ otesis 2 tambi´ en garantiza estabilidad local.
El modelo propuesto (2) tiene un saturaci´ on de la tasa total de entrada:
rate
i= u
i+ a
i≥ 0, (7) donde rate
i∈ <
>0. Toda soluci´ on t 7→ rate
i(t) tiene que cumplir rate
i(t) ∈ <
>0para todo t ≥ 0.
Esta restricci´ on se debe a que los servidores tienen una ´ unica entrada y una ´ unica salida, por tanto el balance de carga se efectuar´ a en la entrada del servidor.
Asumiendo la saturaci´ on (7) en el modelo (2), una estimaci´ on (conservativa) del dominio de atracci´ on se propone en el siguiente teorema:
Teorema 1 Asumiendo ciertas las Hip´ otesis 1 y 2, existe una constante c > 0, tal que en el do- minio Ω
c= { x : V (x) ≥ c
−1} , la restricci´ on (7) se cumplen. Luego, todas las trayectorias del sis- tema con restricciones, empezando en el dominio Ω
c, tienden a M ∩ Ω
c.
Prueba 2 Dado que las restricciones se cumplen en Ω
c, los resultados en el sistema sin restriccio- nes son validos en Ω
c. Como consecuencia, V ˙ = 0 en Ω
cy Ω
cson positivos e invariantes. Asimismo, puesto que V (x) es radialmente no acotado, Ω
ces compacto. El teorema se puede validar aplicando el principio de invariancia de la LaSalle.
Nota 2 Dado que M ∩ Ω
c⊂ M , el teorema garan-
tiza el comportamiento asintom´ atico en el sistema
con restricciones.
Usando el Teorema 1, el problema se reduce a en- contrar un valor de c > 0 tal que (7) se cumple en los puntos donde V (x) ≥ 0.
Problema 2 Maximizar c
−1:
s.a. : V (x) − c
−1≤ 0 (8) u
i+ a
i≥ 0 i = 1, . . . , N.
Nota que las restricciones se cumplen tanto en los limites de Ω
ccomo en el conjunto V (x) − c
−1< 0.
Teorema 2 Considera el sistema (2), la ley de control (4) y (5), la funci´ on de Lyapunov (6) y la constante c > 0, entonces el Problema 2 es equi- valente a resolver:
cY
TY − K
pY
TL Y
T− K
pLY Y
TY L 0 Y 0
YTKY Ini
≥ 0. (9)
Prueba 3 Definimos:
x
1, q x
2, q
c+ A − Y, (10) donde x
1,x
2∈ <
N x1.
A partir de la ecuaci´ on (4), (5) y (10), se obtiene:
u = − K
pLx
1+ x
2− A + Y ∈ <
N x1. (11) La relaci´ on (7) se puede reescribir de la siguiente forma usando (11):
K
pLx
1− x
2≤ Y.
Multiplicando por la izquierda por 2Y
T:
2Y
TY ≥ 2Y
TK
pLx
1− 2Y
Tx
2. (12) Minimizando c, multiplicando por la izquierda (8) por 2Y
TY , y a partir de (12), la cuenca de atrac- ci´ on resulta:
2Y
TY ≥ cY
TY x
T1Lx
1+ cY
TY x
T2I
nx
2K
i+Y
TY ≥ 2Y
TK
pLx
1− 2Y
Tx
2.
Reescribiendo la ´ ultima inecuaci´ on en forma ma- tricial:
1x1
x2
T"
YTY −KpYTL YT−KpLY cYTY L 0
Y 0 cY T Y In
Ki
#
1x1
x2
≥ 0, y aplicando el complemento Schur se obtiene (9).
4. RESULTADOS DE SIMULACI ´ ON Y DE IMPLEMENTACI ´ ON
Vamos a utilizar los siguientes par´ ametros:
N = 5
A = [3,8 4,2 2 3 2]
T· 10
3pqt/s Y = [3 5 2 2,25 2,75]
T· 10
3pqt/s q
0= [4500 4000 3500 4775 4225]
Tpqt.
Por simplicidad, se toma:
K
p= K
i= 1.
Con los valores anteriores, la constante c
−1que maximiza la cuenca de atracci´ on es:
c
−1= 2,9328 · 10
7.
Con estos par´ ametros vamos a realizar simulacio- nes: en Matlab/Simulink, para validar la teor´ıa desarrollada; y en NS2 para validar el controlador en un entorno m´ as realista.
El modelo desarrollado se muestra escalable y ro- busto en la regi´ on segura. No obstante, no se puede asegurar su estabilidad dentro de la regi´ on prohi- bida.
4.1. MATLAB - SIMULINK
0 1 2 3 4 5 6 7 8
3400 3600 3800 4000 4200 4400 4600 4800
Time [s]
Queue [pqt]
server 1 server 2 server 3 server 4 server 5
Figura 2: Tama˜ no de cola i en funci´ on del tiempo.
En la Figura 2 se muestra que todos los tama˜ nos de las colas convergen asint´ oticamente al valor me- dio q
∗= 4200 pqt.
4.2. NETWORK SIMULATOR 2
NS2 es un simulador “open source” de redes tanto cableadas como inal´ ambricas. Consta de un n´ u- cleo principal escrito en C++ y de una interfaz en un lenguaje OTcl, una versi´ on de Tcl orienta- da a objetos. El usuario describe una topolog´ıa de red por medio de c´ odigos en OTcl, y luego el pro- grama principal de NS2 simular dicha topolog´ıa utilizando los par´ ametros definidos.
4.2.1. Topolog´ ıa de la red
Se han creado N + 1 nodos. El nodo extra repre- sentar la fuente S.
Los enlaces son unidireccionales y con un ancho
de banda que corresponde a la tasa de solicitu-
des tratadas, y
i. La pol´ıtica de gesti´ on de cola se
caracteriza como “DropTail”, es decir, primero en entrar primero en salir. Por otro lado, los enlaces tienen un tama˜ no de cola inicial (1) y la capacidad m´ axima se fija en 10000 pqt.
El tr´ afico se modeliza como “Constant Bit Rate”
(CBR), es decir, la tasa de bits es constante duran- te toda la simulaci´ on. Es muy ´ util para flujos de datos multimedia con canales de capacidad limi- tada. Este hecho, permite utilizar toda la capaci- dad. Se ha empleado el protocolo, “Use Datagram Protocol” (UDP), el cual es uno de los principales protocolos en los que se basa Internet. UDP per- mite el env´ıo de datagramas a trav´ es de la red sin que se haya establecido previamente una conexi´ on.
Tampoco tiene control ni confirmaci´ on de flujo.
La fuente UDP es el nodo N0 (“Agent/UDP”) y las destinaciones son los N servidores (“Agent/Null”).
El tama˜ no de paquetes se considera 125 bytes.
Para conseguir un tama˜ no de cola inicial de (1), el “rate” inicial se configura como:
rate
0= [2,55 2,5 1,95 2,6125 2,3875]
T· 10
4pqt/s.
El rate inicial se aplica durante 0,2 s. Una vez el tama˜ no de cola es el deseado, se aplica la ley de control de la forma (7).
4.2.2. Discretizaci´ on del modelo
Como NS2 es un simulador de eventos discretos, se aplica una aproximaci´ on discretizada de la ley de control (4) y (5) mediante el M´ etodo de Euler hacia atr´ as.
u[kT ] = u[(k − 1)T] − K
pLq[kT ] + (K
p− K
iT)Lq[(k − 1)T ],
donde T es el periodo de muestreo, el cual se fija para las simulaciones en 50 ms.
Con la Figura 3a se puede comprobar que la dis- cretizaci´ on no varia el comportamiento del mode- lo. Se puede comprobar que se obtiene pr´ actica- mente la misma simulaci´ on en Matlab/Simulink que en NS2. La Figura 3b muestra como el “rate”
es positivo para todo t ≥ 0, rate
i(t) ∈ <
>0. Para crear un entorno m´ as real, se aplica ruido en la aplicaci´ on CBR. En este caso, la tasa de entrada es A(t). El sistema converge en cada momento al valor medio de todos los tama˜ nos de cola q
∗(t).
La Figura 4a y la Figura 4b muestra que el sistema es robusto.
5. CONCLUSIONES Y TRABAJO FUTURO
Este art´ıculo propone un control distribuido para un sistema de N servidores. La ley de control ba-
0 1 2 3 4 5 6 7 8
3400 3600 3800 4000 4200 4400 4600 4800
Time [s]
Queue [pqt]
server 1 server 2 server 3 server 4 server 5
(a) Tama˜ no de cola i en funci´ on del tiempo.
0 1 2 3 4 5 6 7 8
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5x 106
Time [s]
Rate [pqt/s]
(b) “Rate” i en funci´ on del tiempo.
Figura 3: Simulaci´ on en NS2
sada en la teor´ıa de consensus permite manipular el tama˜ no de cola de cada servidor con la finali- dad de realizar un equilibrado de carga. La carga computacional del sistema es notablemente infe- rior comparado con otras estrategias de balanceo de carga, por tanto, se reducir´ an las p´ erdidas de datos. Asimismo, el sistema se convierte en robus- to y escalable. El control distribuido se ha dise˜ na- do de forma general para poder ser implementado en grandes estructuras de servidores.
Por otro lado, se ha presentado un m´ etodo para estimar la cuenca de atracci´ on que tiene en cuenta las restricciones f´ısicas del sistema. El m´ etodo se basa en estimar una superficie de Lyapunov donde se cumplen las restricciones.
Un trabajo futuro consistir´ a en considerar los
retardos en la transmisi´ on de la informaci´ on del
estado de cada servidor, as´ı como los retardos de
la distribuci´ on de los paquetes en la red.
0 5 10 15 20 3400
3600 3800 4000 4200 4400 4600 4800
Time [s]
Queue [pqt]
server 1 server 2 server 3 server 4 server 5
(a) Tama˜ no de cola i en funci´ on del tiempo.
0 5 10 15 20
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5x 106
Time [s]
Rate [pqt/s]