白皮书
依据节点规模选择网络拓扑
何时单层拓扑即可满足需求、何时必须采用胖树架构,以及为未实现的扩容过度设计所付出的代价。
网络拓扑应当依据节点数量来确定。为并未到来的增长而过度设计,是一种常见且代价高昂的习惯。
单层拓扑
在单台交换机端口数以内,单层拓扑就是正确答案,没有理由构建更复杂的结构。一台交换机,任意两个节点之间均为一跳,无需考虑收敛比,也没有需要调优的内容。一台 64 端口交换机足以从容覆盖一个入门级集群。
常见的诱惑是想着集群日后或许会扩容,于是直接构建两层网络。这等于用今天的延迟、成本与运维复杂度,去换取一个在许多情况下从未发生的扩容;而即便真的发生,届时也可以基于更充分的信息重新建设网络。
两层胖树拓扑
超出单台交换机规模后,胖树是标准方案。真正需要决策的是层间收敛比。对于训练场景应采用无阻塞设计,因为其集合通信流量是同步的,任何收敛都会恰好在所有节点同时通信的时刻成为瓶颈。推理集群则能较好地容忍收敛,因为其流量既不同步,也不以集合通信为主。
规划扩容,但不要提前建设
有价值的折中路径是:在设计上保证扩容是增量式的而非推倒重建,即预留主干交换机端口、规划好布线路由、确认第二层设备的机位与供电,然后先建设单层网络。这样扩容就成为一次有计划的增补,而非一次重新设计,且在真正需要之前不必付出任何成本。
无论采用哪种方案,光模块都值得特别关注:应按链路而非按交换机选型,测量包含垂直走线在内的实际线缆路径,并订购备件。网络的可用规模受限于处于工作状态的光模块端口数。