The growing demand for data storage, transmission, and processing has become
a challenge for network operators. Data centers suppose the core infrastructure to
meet these needs, providing the environment to deploy rising network services and
applications (e.g., big data, video streaming, and cloud computing). Multi-rooted
topologies (e.g., Fat-Tree) rise as Data Centers’ main architectures to mitigate the
impact of the demanding workloads. These topologies allow massive multipathing
to distribute the traffic workload. Moreover, Equal-Cost Multipathing (ECMP) is
used as a de-facto load-balancing routing solution to split traffic through multiple
paths evenly. Nevertheless, uniformly spreading the workload can degrade the network
performance since the traffic is balanced without awareness of the network
congestion, leading to bottleneck-specific links.
Novel P4-based congestion-aware and weighted load-balancing mechanisms such as
HULA, CONGA, and DASH have successfully addressed this situation. Still, existing
solutions introduce certain limitations. First, Conga is implemented in custom
hardware. Second, HULA and CONGA easily bottleneck the best routing path since
they only select and record the less congested path. Third, existing data-plane
ECMP routing alternatives compromise the network performance since their congestion
estimation is limited to links-state information, disregarding the switches’
queue occupancy.
This Thesis introduces a P4-based load-balancing mechanism that overcomes previous
limitations. In particular, the proposed mechanism computes multiple optimal
paths to avoid the single best path quickly congestion. Moreover, this solution fits
links and devices state information in the load-balancing algorithm to split arriving flows based on weighted probabilities. Using the device-state information (i.e.,
queue occupancy) allows the mechanism to accurately characterize the network’s
congestion and consequently improves the routing performance.
This solution has been extensively evaluated in typical Fat-Tree data center topology
using realistic workloads models from production data centers to generate traffic.
Experimental results show that the proposed solution outperforms ECMP regarding
the delay, throughput, and packet loss. Moreover, our solution reduces the packet
loss up to 1.33x compared to alternatives using solely the link-state information to
model the network congestion.
La creciente demanda por almacenamiento, transmisión y procesamiento de datos se
ha convertido en un reto para los operadores de redes. Los centros de datos surgen
como la infraestructura central para satisfacer estas necesidades, proporcionando un
entorno para desplegar servicios y aplicaciones de red en crecimiento (por ejemplo,
big data, streaming de vídeo y computación en la nube). Las topologías multiraíz
(por ejemplo, Fat-Tree) suponen una de las principales arquitecturas de los centros
de datos para mitigar el impacto de las altas demandas en tráfico. Estas topologías
permiten múltiples caminos masivos para distribuir la carga de trabajo del tráfico.
Además, ECMP se ha posicionado como la solución de enrutamiento de equilibrio
de carga por defecto para dividir el tráfico a través de múltiples caminos de manera
uniforme.
Sin embargo, la distribución uniforme de la carga de trabajo puede degradar el
rendimiento de la red, ya que el tráfico se equilibra sin tener en cuenta la congestión
de la red, lo que lleva a cuellos de botella en enlaces particulares.
Los mecanismos de equilibrio de carga emergentes basados en P4, como HULA,
CONGA y DASH, han abordado con éxito esta situación. Sin embargo, las soluciones
existentes presentan ciertas limitaciones. En primer lugar, CONGA se implementa
en hardware personalizado. En segundo lugar, HULA y CONGA congestionan fácilmente
el camino de enrutamiento elegido, ya que sólo seleccionan y registran un
único camino (aquel que presenta menor congestión). En tercer lugar, las alternativas
existentes de enrutamiento en el plano de datos comprometen el rendimiento
de la red, ya que estiman la congestión limitándose a parámetros del estado de los
enlaces, sin tener en cuenta la ocupación de las colas de los conmutadores.
Esta tesis introduce un mecanismo de equilibrio de carga basado en P4 que supera
las limitaciones anteriores. En particular, el mecanismo propuesto computa múltiples
caminos óptimos para evitar cuellos de botella al emplear un único camino óptimo
de enrutamiento. Además, esta solución incorpora la información del estado de los
enlaces y dispositivos en el algoritmo de equilibrio de carga para dividir los flujos
en la red utilizando probabilidades ponderadas. El uso de la información el estado
de los dispositivos (como la ocupación de cola) permite al mecanismo caracterizar
con precisión la congestión de la red y, en consecuencia, mejorar el rendimiento del
enrutamiento.
Esta solución se evaluó ampliamente en una topología típica usada en los centros de
datos, llamada Fat-Tree, además se modeló el tráfico en la red empleado de cargas
de trabajo realistas, obtenidas de centros de datos de producción. Los resultados
conseguidos muestran que la solución propuesta supera a ECMP en cuanto al delay,
throughput y pérdida de paquetes. Además, nuestra solución reduce la pérdida
de paquetes hasta 1,33 veces en comparación con las alternativas que utilizan únicamente
la información del estado de los enlaces para modelar la congestión en la
red.