Está en la página 1de 4

Abstract

A medida que las velocidades de los centros de datos se escalan a 100 Gb / sy más, los algoritmos
tradicionales de control de congestión como TCP y RCP convergen lentamente a tasas de envío
constantes, lo que lleva a un rendimiento del usuario más pobre y menos predecible. Estos algoritmos
reactivos utilizan señales de congestión para realizar un descenso de gradiente para aproximarse a las
velocidades de envío ideales, lo que provoca tiempos de convergencia deficientes. En este documento,
proponemos un algoritmo de control de congestión proactivo llamado PERC, que computa
explícitamente las tasas independientemente de las señales de congestión de manera descentralizada.
Inspirado por los algoritmos de paso de mensajes con tracción en otros campos (por ejemplo, los
algoritmos modernos de decodificación de comprobación de paridad de baja densidad), PERC mejora los
tiempos de convergencia en un factor de 7 en comparación con los protocolos de control de velocidad
explícita reactiva como el RCP. Esta rápida convergencia reduce significativamente el tiempo de
finalización del flujo de cola (FCT) en redes de alta velocidad; por ejemplo, las simulaciones de cargas de
trabajo realistas en una red de 100 Gb / s muestran que PERC logra hasta 4 × FCT de percentil 99 en
comparación con RCP.

Utilizar algoritmos adecuados para trasmision y recepcion de datos

Introducción

Durante la última década, las velocidades de enlace han crecido constantemente desde 1 Gb / sa 10
Gb / sy ahora hasta 100 Gb / s. Las transferencias de red se están completando más rápido y en
menos RTT; dada esta tendencia, la asignación de flujos a sus tasas apropiadas lo más rápido posible
se convierte en una prioridad. Más precisamente, afirmamos que el tiempo de convergencia debe
convertirse en una métrica primaria de bajo nivel para el control de congestión en redes de alta
velocidad. El tiempo de convergencia afecta a las métricas de flujo de nivel más alto como el tiempo
de finalización de flujo (FCT): a velocidades de enlace más altas, la mayoría de los flujos dura solo
unos pocos RTT y, si tardan más en converger a las tasas ideales, algunos de los flujos terminan
gastando más tiempo en la red de lo necesario, afectando a los FCT de cola.

El tiempo de convergencia ha sido una consideración secundaria en el diseño de los


algoritmos de control de congestión de hoy. Los protocolos existentes como TCP, DCTCP
[1], RCP [12], XCP [18], etc. son reactivos en su naturaleza, reaccionando iterativamente a
las señales de congestión de la red. Por ejemplo, TCP trata las caídas de paquetes como
una señal de congestión de red y utiliza AIMD para converger iterativamente a una
velocidad de envío [16]. Los algoritmos reactivos tienen, fundamentalmente, largos tiempos
de convergencia porque necesitan medir las señales de congestión antes de que puedan
reaccionar ante ellos; además, el ajuste de la velocidad generalmente se realiza a lo largo
de varias iteraciones, asemejándose a un procedimiento de descenso de gradiente que se
aproxima gradualmente a las velocidades de envío objetivo.
Hola
A principios de la década de 2000, los investigadores reconocieron que los algoritmos de control de
congestión, como el TCP, que utiliza señales de congestión binarias (por ejemplo, la caída de paquetes),
convergen lentamente. Esto estimuló el desarrollo de algoritmos diseñados para converger más rápido
que TCP, como XCP [18] y RCP [12]; en estos algoritmos, los enrutadores a lo largo de la ruta de un flujo
calculan una estimación de la tasa actual y la retroalimentan explícitamente a la fuente.

A pesar de estas mejoras, XCP y RCP también son algoritmos de descenso de gradiente reactivo; ambos
anuncian cambios de velocidad (en el caso de XCP, la ventana de congestión cambia) cada RTT después
de medir cómo se ha realizado la iteración anterior utilizando el tráfico y / o las mediciones de la cola.
Debido a la interdependencia entre los flujos en diferentes rutas que comparten enlaces congestionados,
los enrutadores no conocen la tasa convergente final correcta; solo actualizan la retroalimentación de
velocidad para reaccionar a la información más reciente que obtuvieron de forma pasiva sobre la
congestión local. Además, los algoritmos reactivos tienen que ajustar las tasas con cautela para mantener
el sistema estable. XCP, RCP y otros algoritmos reactivos utilizan pasos de descenso de gradiente hacia
las tasas finales, elegidos cuidadosamente para lograr un equilibrio entre la velocidad de convergencia y
la estabilidad.

Este documento aboga por mecanismos de control de congestión proactivos que calculan explícitamente
las tasas de envío en función de las demandas de flujo. A diferencia de los algoritmos reactivos, las tasas
se ajustan gradualmente en función de señales indirectas como la congestión local en cada enlace, los
algoritmos proactivos calculan las tasas óptimas en función de la información global sobre qué flujos
están activos en cada enlace y sus demandas de velocidad. Si bien los algoritmos proactivos también
necesitan múltiples iteraciones para calcular las tasas óptimas de manera descentralizada, el uso de
información global permite significativamente menos iteraciones; Cada iteración también puede ser
mucho más rápida porque los esquemas proactivos pueden omitir los lentos pasos de medición de los
algoritmos reactivos basados en la congestión.

En las redes de alta velocidad, la mayoría de los flujos son lo suficientemente cortos como para
completarse en unas pocas a unas pocas decenas de RTT. Mostramos que en tales escenarios, los
algoritmos proactivos logran FCT de cola significativamente más bajos que los algoritmos reactivos
debido a su rápida convergencia.

Como vista previa rápida de nuestros resultados, considere el siguiente experimento simple en el que
ejecutamos una carga de trabajo de búsqueda web estándar [1] en un solo enlace de 100 Gb / s con un
retraso de ida y vuelta de 120 µs. La Figura 1 muestra la cola FCT para flujos de tamaño pequeño y
mediano, y la media FCT para flujos grandes. Los resultados se normalizan con respecto a un esquema
ideal que asigna instantáneamente las tasas justas máximas y mínimas óptimas. Por ahora nos centramos
en PERC, nuestro diseño proactivo y RCP, un algoritmo reactivo representativo. Discutiremos otros
esquemas y diferentes configuraciones de red más adelante (Sección 4).

Vemos que para flujos pequeños y medianos, la cola FCT de RCP es casi cuatro veces mayor que la de
PERC. Por lo tanto, PERC proporciona retardos más predecibles para estos flujos que el RCP reactivo.
Intuitivamente, la gran cola FCT con RCP se debe a que algunos flujos obtienen tasas menores cuando
llegan nuevos flujos debido a tiempos de convergencia deficientes. Para flujos grandes, estos períodos
transitorios de infrautilización tienen menos impacto, pero tienen un impacto adverso en los flujos
pequeños y medianos. Esta intuición se confirma con un segundo experimento que se muestra en la
Figura 2. Observe la fuerte caída en la velocidad de envío para RCP a 600 µs cuando el segundo flujo
comienza y causa congestión, y la subida lenta a tasas justas de máximo a mínimo. Durante el ascenso,
RCP subutiliza el enlace.

Procedemos presentando un modelo para el control de congestión en la Sección 2, describiendo PERC


en la Sección 3 y proporcionando una evaluación detallada en la Sección 4.

MODELOS

Todos los algoritmos de congestión, ya sean reactivos o proactivos, tienen un conjunto objetivo de
tasas de flujo a las que están tratando de converger. Como ejemplo concreto, nos centramos en los
algoritmos de control de congestión que tienen como objetivo la equidad máxima-mínima [5]. Son
posibles otras generalizaciones, como la compartición de flujo compartido [10], y los tiempos de
convergencia más rápidos de los algoritmos proactivos también pueden beneficiar a estos
algoritmos.

Considere una red con un conjunto estático de flujos y enlaces, donde cada flujo a atraviesa un
camino (es decir, un conjunto de enlaces), P (a), y cada enlace l tiene un conjunto de flujos, F (l),
que pasan a través de eso. Si cada flujo a envía a una tasa ra, entonces definimos una asignación
de tasa factible como una que satisface las restricciones de capacidad del enlace: P a∈F (l) ra ≤ Cl,
para todos los enlaces l. Una asignación justa de máximo-mínimo es una asignación factible en la
que para cualquier flujo a, aumentar su tasa ra fuerza una disminución en la tasa para un flujo
diferente a 0, donde ra ≥ ra0. Una característica definitoria para tal asignación es que para cada flujo
a, hay al menos un enlace de cuello de botella l tal que:

El enlace del cuello de botella l está saturado: P a0∈F (l) ra0 = Cl. • El flujo a se envía a la tasa de
participación justa λl del enlace l, definido como la tasa máxima entre todos los flujos en F (l): ra = λl
= maxa0∈F (l) ra0.
Se puede mostrar que para un conjunto dado de enlaces y flujos, existe una asignación justa
máxima-mínima única [5]. En una red dinámica, la asignación máxima-mínima cambia a medida que
los nuevos flujos ingresan a la red y los flujos antiguos salen. Decimos que un algoritmo justo
máximo-mínimo ha convergido cuando todos los flujos se están enviando a la tasa de participación
justa de sus enlaces de cuello de botella.

Control de congestión reactiva: RCP

Usamos RCP como un algoritmo de control de congestión reactivo canónico [12] donde cada enlace l
calcula explícitamente una velocidad Rl y anuncia esta velocidad a cada flujo a ∈ F (l). Cada flujo a envía
a la tasa ra = minl∈P (a) Rl, y eventualmente cada tasa Rl converge a la tasa de participación justa λl. Si
bien se han propuesto otros algoritmos de control de velocidad reactiva para la equidad máxima-mínima,
como XCP [18], nos centramos en RCP que tiene FCT superiores en todos los tamaños de flujo [12, 20]. El
RCP es reactivo porque los enlaces ajustan sus velocidades anunciadas Rl en función de las señales de
congestión, como la velocidad de tráfico de entrada yl (t) y la longitud de la cola ql (t) en el enlace en el
momento t. Cada RTT, d, RCP actualiza Rl en cada enlace de la siguiente manera:

donde Cl es la capacidad del enlace, yl (t) y ql (t) se miden durante el último intervalo de actualización, d,
y α y β son parámetros positivos. La intuición detrás de esta ecuación es que si hay capacidad de reserva
(es decir, Cl - yl (t)> 0), Rl se incrementa para distribuir la capacidad restante entre los flujos de corriente.
A la inversa, si el enlace está congestionado o si hay acumulación de cola, Rl se reduce. RCP es la feria
max-min; es decir, todos los anuncios de Rl convergen a las tasas de participación justa, λl, y por lo tanto,
las tasas de flujo convergen a la asignación justa máxima-mínima. La ecuación de actualización de RCP
resalta las dos fases de los algoritmos de control de congestión reactiva: en la fase de medición, el
algoritmo recibe señales de congestión ruidosas y debe promediar el ruido en varios paquetes. RCP mide
el tamaño de la cola ql (t) y la tasa de llegada de tráfico de entrada yl (t) en un RTT d. En la fase de reacción,
el algoritmo da un "paso" para ajustar las velocidades en reacción a las señales de la fase de medición,
similar a un algoritmo de descenso de gradiente que se mueve en la dirección del gradiente hacia el punto
óptimo. El tiempo que tarda el algoritmo en converger depende del número y el tamaño de dichos pasos
de ajuste. En RCP, los tamaños de paso de la ecuación de actualización se controlan mediante los
parámetros α y β. En la mayoría de los algoritmos reactivos hay una compensación entre la velocidad de
convergencia y la estabilidad; por ejemplo, RCP puede tratar de converger rápidamente dando grandes
pasos hacia la tasa objetivo, b

Control proactivo de la congestión.


Nos centramos en un algoritmo de control de congestión proactivo que calcula las tasas justas máx-mín
para los flujos directamente. Esto difiere de la congestión reactiva de dos maneras: primero, no hay fase
de medición; Las tasas se calculan independientemente de las señales de congestión como las colas y el
volumen de tráfico. Por lo tanto, el cálculo de la tasa solo está limitado por el tiempo que tarda la red en
registrar un cambio en el conjunto de flujos activos, como la llegada o salida de un flujo, que a su vez es
proporcional al retraso de propagación. Segundo, no hay noción de un tamaño de paso como en el
descenso de gradiente; Las tasas se calculan explícitamente en función de qué flujos están activos,
evitando así los ajustes graduales que un algoritmo reactivo necesita para converger a las tasas
objetivo. La falta de una fase de medición y los cálculos de velocidad rápidos y explícitos ayudan a los
algoritmos proactivos a converger muy rápidamente.

All congestion algorithms, whether reactive or proactive, have a target set


of flow rates to which they are trying to converge. As a concrete example,
we focus on congestion control algorithms that target max-min fairness [5].
Other generalizations such as co-flow sharing [10] are possible, and the
faster convergence times of proactive algorithms can also benefit these
algorithms.
Proactive congestion control

We focus on a proactive congestion control algorithm that calculates the


max-min fair rates for the flows directly. This differs from reactive
congestion in two ways: first, there is no measurement phase; the rates are
calculated independently of congestion signals like queues and traffic
volume. Thus, rate calculation is only limited by the time it takes for the
network to register a change in the set of active flows — such as a flow
arrival or departure — which is itself proportional to the propagation
delay. Second, there is no notion of a step size as in gradient descent;
rates are calculated explicitly based on which flows are active, thus
avoiding the gradual adjustments that a reactive algorithm needs to converge
to the target rates. The lack of a measurement phase and fast, explicit
rate calculations help proactive algorithms converge very quickly.

Intale Linux en una maquina virtual, virtusal box versión 6, deacargue la


imagen de Linux ubuntu18. Ns3 funcion en Ubuntu del 2014 en adelante.
Funciona en centos, cali, red had.

También podría gustarte