Un proyecto para mejorar la experiencia del usuario de Internet

25/02/2021

La Universidad de Palermo de Argentina lleva adelante una iniciativa para la optimización de la latencia y de esa manera facilitar la experiencia del usuario final de Internet.

Por su innovación técnica, el proyecto obtuvo una subvención del Programa  FRIDA de LACNIC. Los fondos obtenidos serán destinados a incorporar y formar nuevos investigadores al equipo de trabajo, y así ampliar la capacidad de exploración de alternativas y de desarrollo. “El premio es un gran motivador para los participantes, ampliando la visibilidad y el alcance de los resultados”, afirmó Alejandro Popovsky, decano de Ingeniería en la Universidad.

¿Por qué es importante optimizar la latencia?

Generalmente se asocia la calidad de un servicio de Internet al ancho de banda que brinda, y al overbooking que realiza el proveedor, que determina la probabilidad de que el cliente puede alcanzar ese ancho de banda nominal la mayor parte del tiempo.

Pero la calidad de muchos de los servicios que acceden los usuarios no depende del ancho de banda disponible. Son servicios que no requieren la transmisión de grandes cantidades de información, sino que dependen de la rápida respuesta al requerimiento del usuario. En este caso la latencia es el factor más importante en la calidad percibida del servicio.

Un ejemplo de esto es la web. Las páginas web están compuestas por decenas y a veces cientos de objetos – como ser gráficos – que se descargan por separado, cada uno de ellos es una transacción contra el servidor web, y una latencia alta se multiplica por la cantidad de objetos, para generar un tiempo muy largo para completar de bajar la página.

¿En qué consiste el proyecto de la Universidad sobre el desarrollo de un algoritmo para mejorar la latencia?

La latencia en las comunicaciones transaccionales tiene dos componentes principales, la latencia del servidor y la latencia de la red. La latencia de la red tiene a su vez un componente causado por la velocidad finita de transporte de la información en los cables, y un componente causado por la espera de los paquetes de datos, en las colas de salida de los dispositivos de red, en el camino de la conexión. Esta espera suele llamarse latencia de encolamiento o queuing delay.

Generalmente el queuing delay representa la mayor parte de la latencia de red, y está causado por el algoritmo de control congestión de TCP, que tradicionalmente busca optimizar solo dos objetivos: disminuir la pérdida de paquetes y maximizar el throughput.

Al tomar solamente esos dos objetivos, el algoritmo de control de congestión de TCP descuida otros dos objetivos también muy importantes: la minimización de la latencia, y la distribución justa de la capacidad disponible entre las conexiones que comparten los recursos de red. El problema que causan los algoritmos de control de congestión tradicionales es llamado muchas veces bufferbloat, puesto que inundan de paquetes los buffers de salida de los dispositivos de red.

El proyecto de la Universidad de Palermo busca incorporar los dos objetivos de optimización de latencia y de distribución justa, a los primeros dos objetivos de bajar las pérdidas y de tomar la capacidad disponible, representando de mejor manera las necesidades de calidad de los usuarios de Internet.

¿Qué innovación representa el algoritmo que ustedes proponen desarrollar?

Existen otros algoritmos de control de congestión que buscan optimizar latencia. Pero generalmente tienen muy baja performance cuando comparten el cuello de botella del camino de red con otras conexiones tradicionales. Sin embargo, son utilizados por ejemplo en servidores de actualización de aplicaciones, porque pueden funcionar utilizando solo la capacidad ociosa de red, y no importa que demoren más o menos, pero sí importa que no afecten el tráfico del usuario que está mientras tanto utilizando otros servicios, sensibles a la latencia.

El algoritmo de control de congestión Palermo es el primero en basarse en la estimación de la porción capacidad disponible utilizada por la conexión. La mayoría de los algoritmos utilizan una realimentación basada en la detección de pérdidas, otros en la variación del round trip time, y algunos en la medición del bit rate alcanzado. Pero el nuestro es el primero en estimar la porción de la capacidad utilizada.

El algoritmo de control de congestión Palermo, busca optimizar latencia y favorecer la distribución justa de la capacidad, pero sin quedar relegado a una baja porción cuando comparte el camino de red con conexiones mal comportadas que causan bufferboat.

¿Quiénes serían beneficiados con una mejora de la latencia?

La optimización de latencia no solo beneficia a los usuarios de computadoras que implementen el nuevo algoritmo, sino también a los usuarios de servicios transaccionales desde computadoras que utilicen algoritmos tradicionales, y que compartan el cuello de botella de red con los primeros. Ya que una vez instalado el bufferbloat en las interfaces de los dispositivos de red, afecta a todos los usuarios que comparten el cuello de botella por igual.