Facebook prueba el nuevo algoritmo de control de congestión COPA contra BBR y CUBIC

Facebook publicado resultados de experimentos con un nuevo algoritmo de control de congestión - COPA, optimizado para transmitir contenido de vídeo. El algoritmo fue propuesto por investigadores del Instituto Tecnológico de Massachusetts. El prototipo COPA propuesto para pruebas está escrito en C++, está abierto Licenciado por el MIT e incluido en mvfst – una implementación del protocolo QUIC que se está desarrollando en Facebook.

El algoritmo COPA está enfocado a solucionar los problemas que surgen al transmitir vídeo a través de una red. Dependiendo del tipo de video, se imponen requisitos casi opuestos a los algoritmos de control de congestión: para el video interactivo, es necesario garantizar retrasos mínimos, incluso a expensas de la calidad, y cuando se transmite video de alta calidad preparado previamente, se da prioridad. para mantener la calidad. Anteriormente, los desarrolladores de aplicaciones estaban limitados a la capacidad de aplicar diferentes algoritmos dependiendo de los requisitos de calidad o latencia. Los investigadores que desarrollaron COPA intentaron crear un algoritmo universal para gestionar la congestión de vídeo TCP que pudiera personalizarse según los requisitos de vídeo.

El trabajo del algoritmo de control de congestión es determinar el equilibrio óptimo al enviar paquetes: enviar demasiados paquetes puede provocar la pérdida de paquetes y una degradación del rendimiento debido a la necesidad de reenviarlos, y enviar demasiado lento genera retrasos, que también afectan negativamente el rendimiento. . Se eligió el protocolo QUIC para los experimentos, ya que permite la implementación de algoritmos de control de congestión en el espacio del usuario sin interferir con el kernel.

Para evitar la congestión del canal de comunicación, COPA utiliza el modelado de las características del canal basado en el análisis de cambios en los retrasos durante la entrega de paquetes (COPA reduce el tamaño de la ventana de congestión a medida que aumentan los retrasos, manipulando el hecho de que los retrasos comienzan a aumentar incluso en la etapa anterior al paquete). ocurre la pérdida). El equilibrio entre retrasos y rendimiento se ajusta mediante un parámetro delta especial. El aumento del delta aumenta la sensibilidad a los retrasos pero reduce el rendimiento, mientras que la disminución del delta permite un mayor rendimiento a costa de una mayor latencia. Delta=0.04 se define como el equilibrio óptimo entre calidad y latencia.

Facebook prueba el nuevo algoritmo de control de congestión COPA contra BBR y CUBIC

Basado en el servicio de transmisión en vivo de Facebook, COPA se probó en comparación con los populares algoritmos CUBIC y BBR. El algoritmo CUBIC predeterminado en Linux es aumentar gradualmente el tamaño de la ventana de congestión hasta que se produzca la pérdida de paquetes, después de lo cual el tamaño de la ventana se revierte al valor anterior a que comenzara la pérdida.

CUBIC deja mucho que desear en cuanto al almacenamiento en búfer de paquetes en equipos de red modernos, lo que ralentiza la caída de paquetes. El algoritmo de control de congestión no tiene en cuenta el almacenamiento en búfer y continúa aumentando la velocidad incluso si el canal ya está físicamente congestionado. Los paquetes no enviados se almacenan en un buffer en lugar de descartarse, y el algoritmo de control de congestión de TCP sólo se activa cuando el buffer está lleno y no puede equilibrar el caudal con la velocidad del enlace físico. Para resolver este problema, Google ha propuesto un algoritmo BBR mejorado que predice el ancho de banda disponible mediante comprobaciones secuenciales y estimación del tiempo de ida y vuelta (RTT).

Con delta=0.04, los indicadores COPA resultaron cercanos a CUBIC y BBR. En las pruebas realizadas a través de una conexión de red de alta velocidad con bajos retrasos en la transmisión de paquetes, COPA logró una latencia más baja (479 ms) en comparación con CUBIC (499 ms), pero quedó ligeramente por detrás de BBR (462 ms). Cuando la calidad de la conexión disminuyó, COPA mostró los mejores resultados: los retrasos fueron un 27% menores que cuando se usó CUBIC y BBR.

Facebook prueba el nuevo algoritmo de control de congestión COPA contra BBR y CUBIC

Facebook prueba el nuevo algoritmo de control de congestión COPA contra BBR y CUBIC

Al mismo tiempo, en un canal de comunicación deficiente, COPA y BBR permitieron lograr un rendimiento significativamente mayor en comparación con CUBIC. La ganancia de BBR frente a CUBIC fue del 4.8% y 5.5%, y de COPA del 6.2% y 16.3%.

Facebook prueba el nuevo algoritmo de control de congestión COPA contra BBR y CUBIC

Fuente: opennet.ru

Añadir un comentario