Fat-tree es una topología de red jerárquica y de múltiples rutas que emula la forma de un árbol, pero con la característica distintiva de que los enlaces 'engordan' (aumentan su ancho de banda) a medida que se asciende en la jerarquía. Esto significa que los enlaces más cercanos a la raíz tienen mayor capacidad para manejar el tráfico agregado de las ramas inferiores. Su diseño busca eliminar los cuellos de botella de ancho de banda que son comunes en las topologías de árbol tradicionales, proporcionando un ancho de banda biseccional constante y garantizando que la capacidad de la red no disminuya con la distancia entre los nodos, siempre que haya suficientes rutas disponibles.
Esta topología es fundamental en la construcción de redes de centros de datos a gran escala (Data Center Networks o DCNs) y en supercomputadoras de alto rendimiento (High-Performance Computing o HPC). Ejemplos concretos incluyen la mayoría de las arquitecturas de red de los grandes proveedores de servicios en la nube como AWS, Google Cloud y Microsoft Azure, que utilizan variantes de Fat-tree (a menudo implementadas con switches 'commodity' y protocolos como BGP o ECMP) para interconectar miles de servidores. También es la base de redes de interconexión propietarias como InfiniBand, utilizada en muchos clústeres de HPC, y ha influido en el diseño de redes para sistemas de almacenamiento distribuido y clústeres de Big Data.
Para un arquitecto de sistemas, Fat-tree es crucial porque ofrece una solución escalable y predecible para la comunicación entre nodos en entornos distribuidos. Permite diseñar redes con baja latencia y alto rendimiento, esenciales para aplicaciones de microservicios, bases de datos distribuidas, machine learning y HPC. Los trade-offs incluyen una mayor complejidad en el cableado y la configuración de switches en comparación con topologías más simples, así como un mayor costo inicial debido a la cantidad de puertos y switches requeridos. Sin embargo, el valor estratégico reside en su capacidad para proporcionar un ancho de banda uniforme y sin bloqueo, lo que simplifica la planificación de la capacidad de red y reduce la contención, permitiendo a los sistemas escalar horizontalmente de manera eficiente sin que la red se convierta en el cuello de botella.