SciELO - Scientific Electronic Library Online

 
vol.28 issue1Two-dimensional cyclic code with synchronization property for channels with class A noiseChemical equilibrium model to represent solubilities of ternary systems and their application to the prediction of eutectic of quaternary systems author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


Ingeniare. Revista chilena de ingeniería

On-line version ISSN 0718-3305

Ingeniare. Rev. chil. ing. vol.28 no.1 Arica Mar. 2020

http://dx.doi.org/10.4067/S0718-33052020000100024 

Artículos

Un algoritmo de control de flujo para redes de computadoras de alta velocidad

A flow control algorithm for high-speed computer networks

Ginno Millán Naveas1 

Manuel Vargas Guzmán2 

1 Facultad de Ingeniería y Tecnología. Universidad San Sebastián. Lago Panguipulli 1390. Puerto Montt 5501842, Chile. E-mail: ginno.millan@uss.cl

2 Facultad de Ingeniería y Tecnología. Universidad San Sebastián. Bellavista 7. Santiago 8420524, Chile. E-mail: manuel.vargas@uss.cl

RESUMEN

Desarrollar un algoritmo de control de flujo eficaz para evitar la congestión es un tema candente en la sociedad de redes de computadoras. Este artículo ofrece en principio un modelo matemático para una red general y luego se propone la teoría de control discreto como la herramienta clave para el diseño de un nuevo algoritmo de control de flujo para evitar la congestión en una red de alta velocidad; el algoritmo propuesto asegura la estabilidad del sistema de red. Los resultados de simulación muestran que el método propuesto puede ajustar la tasa de envío y el nivel de la cola en buffer de forma rápida y efectiva. El método es fácil de implementar y aplicar en una red de computadoras de alta velocidad.

Palabras clave: Congestión; control de flujo; redes de computadoras de alta velocidad

ABSTRACT

Developing an effective flow control algorithm to avoid congestion is a hot topic in computer network society. This paper gives a mathematical model for general network at first, and then discrete control theory is proposed as a key tool to design a new flow control algorithm for congestion avoidance in high speed network, the proposed algorithm assures the stability of network system. The simulation results show that the proposed method can adjust the sending rate and queue level in buffer rapidly and effectively. The method is easy to implement and apply to high-speed computer network.

Keywords: Congestion; flow control; high-speed computer networks

INTRODUCCIÓN

Las redes de computadoras de alta velocidad son generalmente redes troncales de almacenamiento y retransmisión que conmutan nodos y enlaces de comunicación sobre una determinada topología, donde todos los nodos y enlaces se caracterizan por tener sus propias capacidades para almacenar y transmitir paquetes, respectivamente. Un nodo que sobrepasa su capacidad de almacenamiento, debido a la saturación de sus procesadores o a la de uno o más de sus enlaces salientes, se le llama congestionado. Así, algunos de los paquetes que llegan a un nodo congestionado pueden no ser aceptados y deberán de ser retransmitidos en una instancia posterior, hecho que irremediablemente conduce al deterioro del rendimiento de la red y, en el peor escenario, al colapso de la misma. Por lo tanto el control de congestión es un problema importante que surge de la gestión de las redes; un esquema de control de flujo puede ajustar la tasa de envío de paquetes en el nodo de origen para evitar la congestión; por ello un esquema de control de flujo adecuado constituye una forma directa de actuar sobre su rendimiento.

Muchos sistemas complejos, como es el caso de las redes de computadoras de alta velocidad, son factibles de ser analizados por la teoría clásica de control. Por esto, una cantidad más creciente de investigaciones se dedican a fusionar la teoría de control con la de control de flujos. Así, la primera aplicación de la teoría de control, al control de flujos apareció en las redes ATM. En 1-4, entre 1992 y 2000, se propone el uso del control de tráfico basado en ABR. En estos esquemas si la longitud de cola en un conmutador es mayor que un umbral de aceptación, se establece un dígito binario en la célula de control de admisión. Sin embargo, todos ellos sufren serios problemas de estabilidad al exhibir una dinámica oscilatoria y requerir una gran cantidad de búfer para evitar la pérdida de células. De esta forma los algoritmos de tasa explícita son ampliamente considerados e investigados; 5 expone un valioso compendio al respecto. La mayoría de los esquemas de tasa explícita son carentes en el diseño del control retroalimentado de: 1) El análisis de la dinámica de la red en lazo cerrado, y 2) La interacción con el tráfico VBR. En 4 se propone un algoritmo de tasa explícita que calcula las tasas de entrada dividiendo el ancho de banda disponible por las conexiones activas. En 6 el problema de diseño del control se plantea como un problema estándar de rechazo de perturbaciones, donde el ancho de banda disponible actúa como perturbación para el sistema. En 7 la problemática se formula en términos de un problema de control estocástico, en el cual la perturbación se modela como proceso autoregresivo; el nodo en cuestión estima este proceso usando mínimos cuadrados recursivos. En 8 se usa el principio de Smith para derivar un control en el caso de que un búfer FIFO se mantenga en los enlaces de salida.

Todos los trabajos citados se basan en la teoría de sistemas en tiempo continuo. Pero como bien se sabe, el control en tiempo discreto es eficaz en el diseño asistido por computadora y es fácil de implementar. Se diseña entonces un algoritmo en base a la teoría de control discreto que satisface los requisitos de control.

MODELO MATEMÁTICO

Se desarrolla el modelo matemático de una red general conmutada con filosofía de servicio de paquetes de almacenamiento y reenvío; es decir, los paquetes entran en la red desde nodos fuente ubicados en sus bordes y luego se almacenan y reenvían a lo largo de una secuencia compuesta por nodos intermedios y enlaces de interconexión llegando finalmente a sus nodos de destino. La Figura 1 representa una red de conmutación de paquetes de almacenamiento y reenvío, donde se identifican, S i (i = 0,..., n) como el nodo fuente; D i (i = 0,..., n) el nodo destino; B representa al nodo cuello de botella; u 0i (i = 0,..., n) indica la tasa de servicio, y q i (i = 0,..., n) denota el nivel de cola del buffer.

Figura 1 Red de almacenamiento y reenvío. 

Una aproximación al tamaño del buffer (o nivel de cola del buffer) es utilizar buffers de tamaño variable. La ventaja radica en un mejor uso de la memoria, al costo de una gestión de buffer más complicada. Otra posibilidad es dedicar un solo buffer circular grande por conexión. Este sistema también hace buen uso de la memoria mientras todas las conexiones estén muy cargadas, pero es deficiente si algunas de ellas no se encuentran en esta condición. Es claro, entonces, que mientras más simple sea la administración del buffer más simple se hace el problema. Por otra parte, las técnicas de almacenamiento intermedio por flujo son auspiciosas con el fin de garantizar QoS (9,10. Luego, en base a todas las consideraciones se asume que todas las conexiones se encuentran muy cargadas y que se divide el ancho de banda promedio disponible.

Se concluye que es posible analizar el problema como un caso de conexión. Considere así que un flujo llega al nodo de destino desde cualquiera de los n nodos fuente a lo largo de una secuencia compuesta por variados nodos intermedios. Los nodos en la ruta de la conexión están numerados por 1,..., n, y el nodo de origen está identificado por 0. El tiempo que tarda cada nodo en obtener servicio es finito y determinista. La tasa de envío desde la fuente sea u 0i (i = 0,..., n), y la tasa de servicio desde los nodos es u i (i = 0,..., n). Así la tasa de servicio del nodo cuello de botella es

(1)

Puesto que el modelo es discreto, el parámetro de tiempo, t, que representa el tiempo continuo, se reemplaza por el índice de cuentas, k, el cual representa el tiempo de ida y vuelta, RTT, 11. En el nodo cuello de botella la tasa de servicio se encuentra muy cerca del RTT 12, por lo cual se considera que u b (k) = u b (k + 1) es una constante. En el momento marcado "NOW" de la Figura 2 de 12; al final de la kth época, la totalidad de los paquetes enviados en la época k - 1 han sido reconocidos 11-12. De forma que los únicos paquetes no reconocidos son los enviados en la misma época y esto es lo mismo que hablar del número de paquetes independientes transmitidos. Así este comportamiento puede ser aproximado por la multiplicación entre la tasa de envío u 0 (k) y la duración del intervalo de envío RTT(k). Así, se tiene que el modelo de este problema, según 12, está determinado por la expresión siguiente

(2)

donde qb(k) es la longitud de la cola del buffer en la época kth.

DISEÑO DEL CONTROLADOR DISCRETO

Considere que la entrada es la tasa de envío del nodo de origen y que la salida es el nivel de la cola del cuello de botella. La Figura 2 muestra el principio de control, donde S i (i = 0,., n) denota el nodo fuente; Di (i = 0,..., n) denota el nodo destino; B representa el nodo cuello de botella; u 0i (i = 0,., n) representa la velocidad de envío, y q i (i = 0,., n) indica el nivel de cola de buffer. Los controladores i (i = 0,., n) se diseñan para actuar sobre el sistema de red.

Figura 2 Principio de control. 

Tomando la transformada Z de (2), se obtiene

(3)

Para cada conexión, TCP mantiene disponible el RTT, que es la mejor estimación actual del tiempo de ida y vuelta al destino en cuestión. Cuando se envía una trama se inicia un temporizador que se encarga de verificar cuánto tarda en su arribo el acuse de recibo como de activar su retransmisión si tarda demasiado. Si el acuse de recibo regresa antes de que expire el temporizador TCP mide el tiempo de cuánto tardó el acuse de recibo, M, y actualiza el RTT de acorde a

(4)

donde α es un factor de suavizado que determina el peso que se otorga al valor anterior, en general α = 7/8 11. Tomando la transformada Z de (4)

(5)

Luego

(6)

Sustituyendo (6) en (3) se da forma a la siguiente expresión

(7)

y sustituyendo u 0(z) = u b(z) + %#955;(z) de 12 en (6) se obtiene

(8)

Luego, sea λ(z) = f (z)S(z), donde f (z) responde a una función racional y S(z) es la función escalón. Luego (7) se transforma, de (12, en

(9)

expresión que origina la función de transferencia, G(z), del sistema dada por

(10)

Sea

(11)

luego, de (9) se obtiene

(12)

En concordancia con la teoría de control lineal el sistema es estable si y solo si

De acuerdo con el teorema de la transformada Z, el error de paso en estado estacionario está dado por la expresión

(13)

donde Q es la capacidad máxima distribuida del buffer, el cual tiene un margen de representación 4/5 que no descarta paquetes cuando se produce el flujo de carga de entrada.

De (13) se tiene que

(14)

Luego, dado que λ(z) = f (z)S(z) 12, se tiene que

(15)

donde z = (z - 1) corresponde a la transformada Z de la función escalón.

Dado que u 0(z) = u b(z) + λ(z), de (15) se tiene que

(16)

Simplificado (16) se obtiene

(17)

Expandiendo y factorizando (17) se obtiene

(18)

donde se verifica que

(19)

Sustituyendo (1) y (18) en (7)

(20)

que corresponde al algoritmo de control de la tasa de envío.

DESARROLLO DE EXPERIMENTOS NUMÉRICOS Y DISCUSIÓN

La Tabla 1 muestra valores para los parámetros variables del sistema, los cuales se reflejan en la Figura 3 para a = -0,2, b = -0,1 y k = 0,8 y en la Figura 4 para a = -0,5, b = -0,1 y k = 0,8.

Tabla 1 Parámetros variables del sistema. 

Figura 3 Simulación considerando a = -0,2, b = -0,1 y k = 0,8. 

Figura 4 Simulación considerando a = -0,5, b = -0,1 y k = 0,8. 

A partir de los resultados de las simulaciones de la Figura 3 y la Figura 4, se observa lo crítico que resulta una buena elección de a y b, ello por la duración que puede llegar a tener el tiempo de ajuste del sistema frente el tiempo de estabilización del mismo.

Resulta claro a partir de los resultados mostrados de las simulaciones de las Figura 3 y Figura 4 que el algoritmo de control de flujo garantiza un alto rendimiento del sistema incluso si los parámetros varían, esto debido al efecto que la ley de control aplicada tiene sobre la dinámica del sistema.

La longitud de la cola del buffer no se ve afectada de forma significativa por los parámetros variables y se observa que puede ajustarse rápidamente a un valor determinado.

De las simulaciones mostradas en las Figura 3 y Figura 4 se observa que el tiempo de estabilización del sistema depende de manera crítica del valor de los parámetros a y b de (20), hecho por el cual su elección debe ser cuidadosa.

En comparación con otros métodos disponibles en la literatura, como (13-17, el método propuesto exhibe estabilidad ante la presencia de cargas de tráfico elevadas y su tiempo de estabilización y ajuste de carga resultan óptimos en términos de las simulaciones efectuadas.

Finalmente, se reconoce que falta un método de ajuste adecuado de los parámetros a y b de (20), pero esto constituye materia de la continuidad de la investigación, puesto que se debe unificar un criterio que permita obtener una aproximación a sus valores sin necesidad de experimentar tanto en términos de la manipulación del modelo.

CONCLUSIONES

Junto con el rápido desarrollo de las redes de computadoras de alta velocidad, sus requisitos de operación y funcionamiento, se levantan cada vez más y mayores exigencias de grandes anchos de banda y tiempos muertos cada vez menores. En todo lo anterior, el control de la congestión desempeña un rol importante en el rendimiento que presente la red, y en este artículo se propone un nuevo y simple esquema de control de flujo basado en la teoría de control discreto y análisis de estabilidad y viabilidad del sistema. A partir de simulaciones se demuestra que este algoritmo de control puede ajustar la tasa de envío y la cola del buffer de forma rápida y eficaz. Además, la longitud de la cola del búfer se ve poco afectada por los parámetros variables del sistema.

REFERENCIAS

[1] K.W. Fendick, M.A. Rodrigues and A. Weiss. "Analysis of a rate-based feedback control strategy for long hauk data transport". Performance Evaluation. ACM. Vol. 16 N° 1-3, pp. 67-84. Nov. 1992. [ Links ]

[2] L. Benmohamed and Y.T. Wang. "A control-theoretic ABR explicit rate algorithm for ATM switches with per-VC queueing". Proc. IEEE INFOCOM '98. Seventeenth Annual J. Conf. IEEE Comput. and Commun. Societies, San Francisco, CA, USA. Vol. 1, pp. 183-191. 1998. [ Links ]

[3] N. Yin and G. Hluchyj. "On closed loop rate control for ATM cell relay networks". Proc. IEEE INFOCOM '94. Networking for Global Communications, Toronto, Ont., Canada. Vol. 1, pp. 99-108. 1994. [ Links ]

[4] S. Kalyanaraman, R. Jain, S. Fahmy, R. Goyal, and B. Vandalore. "The ERICA switch algoritm for ABR traffic manageme in ATM networks". IEEE/ACM Trans. Netw. Vol. 8 N° 1, pp. 87-98. Feb. 2000. [ Links ]

[5] R. Jain. "Congestion control and traffic management in ATM networks: recent advances and survey". Comput. Networks and ISDN Systems. Vol. 28 N° 13, pp. 1723- 1738. Oct. 1996. [ Links ]

[6] Y. Zhao, S. Q. Li, and S. Sigarto. "A linear dynamic model for design of stable explicit-rate ABR control schemes". Proc. IEEE INFOCOM 97. Sixteenth Annual Joint Conf. IEEE Computer and Commun. Societies. Vol. 1. pp. 283-292. Kobe. Apr. 1997. [ Links ]

[7] E. Altman, T. Basar, and R. Srikant. "Robust rate control for ABR sources". In. Proc. IEEE INFOCOM '98. Seventeenth Annual Joint Conf. IEEE Comput. Commun. Soc., San Francisco, CA, USA. Vol. 1, pp. 166-173. 1998. [ Links ]

[8] S. Mascolo. "Congestion control in high speed communication networks using the Smith principle". Automatica. Vol. 35 N° 12, pp. 1921-1935. Dec. 1999. [ Links ]

[9] I. Stoica, S. Shenker, and Hui Zhang. "Core-stateless fair queueing a scalable architecture to approximate fair bandwidth allocations in high-speed networks". IEEE/ACM Trans. Networking. Vol. 11 N° 1, pp. 33-46. Feb. 2003. [ Links ]

[10] B. Suter, T. V. Lakshman, D. Stiliadis, and A. K. Chodhury. "Design considerations for supporting TCP with per-flow queueing". Proc. IEEE INFOCOM '98. Seventeenth Annual Joint Conf. IEEE Computer and Communications Soc., San Francisco, CA, USA. Vol. 1, pp. 299-306. [ Links ]

[11] G. Millán, E. San Juan, and M. Jamett. "A simple estimator of the Hurst exponent for self-similar traffic flows". IEEE Latin America Transactions. Vol. 12 N° 8, pp. 1349 -1354. Dec. 2014. [ Links ]

[12] A. S. Tanenbaum and D. J. Wetherall, Redes de Computadoras, 5ta Ed. Pearson. 2012. [ Links ]

[13] B. Eckart, X. He, Q. Wu, and Ch. Xie. "A dynamic performance-based flow control for high-speed data transfer". IEEE Trans. Parallel and Distributed Systems. Vol. 21 N° 1, pp. 114-125, 2010. [ Links ]

[14] C. Cui, L. Xue, C. Chiu, P. Kondikoppa, and S.-J. Park. "DMCTCP: desynchronized multi-channel TCP for high speed access networks with tiny buffers". Proc. 23rd Int. Conf. on Computer Communication and Networks, Shanghai, China. pp. 1-8. 2014. [ Links ]

[15] G. Millán and G. Lefranc. "Presentation of an estimator for the Hurst parameter for a self-similar process representing the traffic in IEEE 802.3 networks". International Journal of Computer Communications & Control". Vol. 4 N° 2, pp. 137-147. 2009. [ Links ]

[16] G. Millán y E. San Juan. "Un modelo multifractal simplificado para flujos de tráfico en redes de computadoras de alta velocidad". Ingeniare. Revista Chilena de Ingeniería. Vol. 21 N° 3, pp. 408-413. Diciembre 2013. ISSN 0718-3305. [ Links ]

[17] M. Lestas, A. pitsillides, P. Loannou, and G. Hadjipollas. "A new estimation scheme for the effective number of users in Internet congestion control". IEEE/ACM Transactions on Networking. Vol. 19 N° 5, pp. 1499-1512. Oct. 2011. [ Links ]

Received: April 30, 2018; Accepted: October 29, 2018

* Autor de correspondencia: ginno.millan@uss.cl

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons