FatTree拓扑结构是由MIT的Fares等人在改进传统树形结构性能的基础上提出的,属于switch-only型拓扑。
整个拓扑网络分为三个层次:自上而下分别为边缘层(edge)、汇聚层(aggregate)和核心层(core),其中汇聚层交换机与边缘层交换机构成一个pod,交换设备均采用商用交换设备。
图1 常规树形拓扑
图2 二叉胖树
图3 四叉胖树
图3 六叉胖树
FatTree构建拓扑规则如下:FatTree拓扑中包含的Pod数目为 kk,每一个pod连接的sever数目为(k/2)2(k/2)2,每一个pod内的边缘交换机及聚合交换机数量均为k/2k/2,核心交换机数量为(k/2)2(k/2)2,网络中每一个交换机的端口数量为kk,网络所能支持的服务器总数为k3/4k3/4。
FatTree结构采用水平扩展的方式,当拓扑中所包含的pod数目增加,交换机的端口数目增加时,FatTree投票能够支持更多的服务器,满足数据中心的扩展需求,如k=48k=48时,FatTree能够支持的服务器数目为27648。
FatTree结构通过在核心层多条链路实现负载的及时处理,避免网络热点;通过在pod内合理分流,避免过载问题。
FatTree对分带宽随着网络规模的扩展而增大,因此能够为数据中心提供高吞吐传输服务;不同pod之间的服务器间通信,源、目的节点之间具有多条并行路径,因此网络的容错性能良好,一般不会出现单点故障;采用商用设备取代高性能交换设备,大幅度降低网络设备开销;网络直径小,能够保证视频、在线会与等服务对网络实时性的要求;拓扑结构规则、对称,利于网络布线及自动化配置、优化升级等。
Fat-Tree结构也存在一定的缺陷:Fat-Tree结构的扩展规模在理论上受限于核心交换机的端口数目,不利于数据中心的长期发展要求;对于Pod内部,Fat-Tree容错性能差,对底层交换设备故障非常敏感,当底层交换设备故障时,难以保证服务质量;拓扑结构的特点决定了网络不能很好的支持one-to-all及all-to-all网络通信模式,不利于部署MapReduce、Dryad等现代高性能应用;网络中交换机与服务器的比值较大,在一定程度上使得网络设备成本依然很高,不利于企业的经济发展。