背景
最近在搜索关于Fat-Tree的相关资料时,发现网上内容比较少,很多博客是相互转载的,拓扑结构图也加载不出来,使得对Fat-Tree的理解过于抽象。
实践
传统数据中心采用多层级的树形结构,这种结构针对客户端/服务器(C/S)模式能有较好的效果。树形结构包括单根树和多根树。多根数的根节点往往作为备份节点存在(我们以方格代表交换机)。
传统单根/多根拓扑结构有以下缺点:成本高,根部交换机必须要有足够大的带宽来满足下层服务器之间的通信;性能瓶颈,无法满足数据中心内部大规模的MapReduce和数据拷贝。
为了解决树形结构根节点的瓶颈问题,研究者提出了许多可用的拓扑结构。分为以交换机为中心和以服务器为中心的架构。其中,Fat-Tree在近年来的科研中应用较为广泛。SIGCOMM会议论文:Al-Fares M, Loukissas A, Vahdat A. A scalable, commodity data center network architecture。
Fat-Tree Topo Architecture
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元等结构。