一文读懂胖树(Fat-Tree)拓扑结构

架构师技术联盟    发布于:2021-09-08 浏览 1152

在 2008 年由美国加利福尼亚计算机科学与工程的几位教授发表的一篇论文《A scalable, commodity data center network architecture》中,明确的提出了一种三级的,被称之为胖树(Fat-Tree)的 CLOS 网络架构,标志着 CLOS 正式进入数据中心网络架构领域,这是 CLOS 网络模型的第三次应用。

1、什么是Fat-Tree

Fat-Tree 是无带宽收敛的:传统的树形网络拓扑中,带宽是逐层收敛的,树根处的网络带宽要远小于各个叶子处所有带宽的总和。而 Fat-Tree 则更像是真实的树,越到树根,枝干越粗,即:从叶子到树根,网络带宽不收敛。这是 Fat-Tree 能够支撑无阻塞网络的基础。

如上图所示,为了实现网络带宽的无收敛,Fat-Tree 中的每个节点(根节点除外)都需要保证上行带宽和下行带宽相等,并且每个节点都要提供对接入带宽的线速转发的能力。

但是,传统单根/多根拓扑结构有以下缺点:成本高,根部交换机必须要有足够大的带宽来满足下层服务器之间的通信;性能瓶颈,无法满足数据中心内部大规模的MapReduce和数据拷贝。

为了解决树形结构根节点的瓶颈问题,研究者提出了许多可用的拓扑结构。分为以交换机为中心和以服务器为中心的架构。其中,Fat-Tree在近年来的科研中应用较为广泛。SIGCOMM会议论文:Al-Fares M, Loukissas A, Vahdat A. A scalable, commodity data center network architecture。

2、Fat-Tree的实际价值

当前,Fat-Tree 是业界普遍认可的实现无阻塞网络的技术。其基本理念是:使用大量低性能的交换机,构建出大规模的无阻塞网络,对于任意的通信模式,总有路径让他们的通信带宽达到网卡带宽。Fat-Tree 的另一个好处是,它用到的所有交换机都是相同的,这让我们能够在整个数据中心网络架构中采用廉价的交换机。

Fat-Tree是以交换机为中心的拓扑。支持在横向拓展的同时拓展路径数目;且所有交换机均为相同端口数量的普通设备,降低了网络建设成本。

具体来说,Fat-Tree结构共分为三层:核心层、汇聚层、接入层。一个k元的Fat-Tree可以归纳为5个特征:

  • 每台交换机都有k个端口;

  • 核心层为顶层,一共有(k/2)^2个交换机;

  • 一共有k个pod,每个pod有k台交换机组成。其中汇聚层和接入层各占k/2台交换机;

  • 接入层每个交换机可以容纳k/2台服务器,因此,k元Fat-Tree一共有k个pod,每个pod容纳k*k/4个服务器,所有pod共能容纳k*k*k/4台服务器;

  • 任意两个pod之间存在k条路径。

常见的有2元、4元、6元等结构

上图为最简单的 k=4 时的 Fat-Tree 拓扑,连在同一个接入交换机下的服务器处于同一个子网,他们之间的通信走二层报文交换。不同接入交换机下的服务器通信,需要走路由。下面是一个6元胖树结构。

3、Fat-Tree的缺陷

  • Fat-Tree 的扩展规模在理论上受限于核心层交换机的端口数目,不利于数据中心的长期发展要求;

  • 对于 POD 内部,Fat-Tree 容错性能差,对底层交换设备故障非常敏感,当底层交换设备故障时,难以保证服务质量;

  • Fat-Tree 拓扑结构的特点决定了网络不能很好的支持 One-to-All及 All-to-All 网络通信模式,不利于部署 MapReduce、Dryad 等高性能分布式应用;

  • Fat-Tree 网络中交换机与服务器的比值较大,在一定程度上使得网络设备成本依然很高,不利于企业的经济发展。

  • 因为要防止出现 TCP 报文乱序的问题,难以达到 1:1 的超分比。

本文内容转载自“架构师技术联盟”(ID:ICT_Architect),作者网络技术风云汇。

收藏此文章 点赞此文章

评论 (0)

暂无用户回复

评论此篇文章

登录后可回复
/1000
分享项目实践,洞察前沿架构,聚焦云计算、微服务、大数据、超融合、软件定义、数据保护、人工智能、行业实践和解决方案。(微信号: ICT_Architect)