注: 本文转载于行业媒体光纤在线
原文作者:肖明 (现任创绘研发和战略副总经理)
1/2019,,,最近和几个业内朋友聊天时,,,,发现很多人对于数据中心使用什么底层网络架构,,,如何演进,,会需要什么类型的光电接口,,,什么数量级,,,,怎么计算需求等等问题存在很多疑惑。。心血来潮想结合过往的经验,,写点东西,,权当抛砖引玉,,,,仅供大家参考和讨论,,,个中偏颇之处还请大家指正。。。

首先要提到的是摩尔定律(Moore’s law),,,其在数据中心的演进中表现的非常明显。。几乎每2年数据中心的交换带宽在价格不变的情况下翻倍,,,从而满足快速增长的超级应用对于带宽的需求,,尤其是视频类的应用。。。。比如字节跳动(今日头条的母公司)旗下在北美的小视频App,,,Tik Tok,,流量指数级暴涨让其数据中心服务商阿里云在北美不断忙于升级,,,,当然也是“痛并快乐着”。。。
这里以谷歌的数据中心拓扑架构为例,,,(以后有机会再一起探讨Facebook,,Microsoft等的数据中心架构)。。。。谷歌数据中心在过去十来年已经演进了好几代,,主要是基于Clos网络拓扑架构,,,从一开始的Firehose,,,逐渐演化到Watchtower,,,,Saturn,,,,到近些年不少场合被提到的Jupiter。。。。交换设备接口速率也从1GbE演进到了40GbE/100GbE,,400GbE也正在小量应用中。。。图1给出了谷歌数据中心拓扑架构的演变示意,,,表1则给出了每个世代的架构参数。。。更具体的内容可以参考知乎上的文章【1】。。。


Clos网络架构最早是由Charles Clos于1952年设计出的,,用多级的小型交换机阵列构建一个“无阻塞”的网络,,,有这么几个特点:
主要为三级交换架构
每一级的每个单元都与下一级的设备互联
支持递归,,,,带宽可无限扩展,,对任意一台服务器,,,,能使用网卡的最高带宽与数据中心任意一台服务器通信
向后兼容,,,兼容现有的以太网及应用
到指定的目的地,,,路由选择在第一级是可以有多个路径,,但后续交换单元之间只存在唯一一条路由
Clos网络架构比较简单,,,,不少白盒机厂商用Broadcom的交换芯片就可以生产出性能不错的高端交换机。。。。现在越来越多的数据中心在使用Clos网络拓扑架构。。。。
传统数据中心中南北向(关于网络中南北东西的解释可以参考【2】)的流量较大,,但随着分布式计算需求的兴起,,,东西向的流量快速加大,,,一方面分布式计算导致服务器之间的访问需求大幅增加;另一方面,,应用也变得越来越复杂,,比如物联网中的某个用户发起请求,,,,中心服务器可能需要从众多边缘数据中心或者服务器抽取一些数据,,,处理后再返回到用户,,,如此东西向的流量就变得越来越大,,,,甚至大过南北向流量。。。这也就是为什么最近几年数据中心之间的互联需求增长幅度要快于数据中心内部互联,,,,见表2,,,Cisco global cloud index 2016-2021,,,

Jupiter是基于一个40Gbps的数据中心网络,,,,其架构有这个几个特点:
1. Centauri TOR(Top of Rack)交换机每一个基础单元是一个4U的机箱,,,每一个含有640G(16x40G)的交换芯片,,,,共计4x16x40G的交换容量。。如果按3:1南北向分配,,则可以配置为48x40G容量南向到服务器,,,16x40G北向到fabric network,,,,或者以10Gbps为基础速率,,192x10G南向和64x10G北向。。当然,,,也可以做1:1分配,,南北向各32x40G,,,,如图2。。。。

2. 中间区块(Middle Blocks)由4个Centauri交换机组成,,,其交换容量为4x4x(16x40G),,但每个中间区块都由2级(two-stage)Clos交换机组成,,,,每一级可以配置为64x40G北向到Spine交换机,,,64x40G或者256x10G南向连接32个TOR交换机。。
3. 每个汇聚区块(Aggregation Blocks)由8个中间区块构成,,,,其交换容量为8x(64x40G)即512x40G北向到Spine交换机,,,,南向8x(256x10G)即2048x10G到TOR交换机。。。
4. Spine交换机由2-stage Clos交换机组成,,即2x(64x40G)与汇聚区块互联。。
这样对于一个Jupiter数据中心,,,其架构为256个Spine交换机,,,南向与64个汇聚区块互联,,,,每个汇聚区块南向与32个TOR交换机互联,,,也就意味着总共需要2048(=64x32)个TOR机柜;每台机柜可以有最多48台服务器,,满配也就是说98304台服务器;每台服务器可配置2个高速网卡,,,即一个Jupiter数据中心会需要196,608个10G高速网卡。。。。

从以上的架构来看,,,想必大家已经可以自己算出来光电接口的数量了。。。这是以最大基础速率40Gbps的Google Jupiter数据中心举的例子,,,当然如果最大基础速率是100Gbps或者400Gbps,,,同时服务器网卡最小速率为25Gbps或者50Gbps,,,,大家可以依此方式做相应的推演。。。
当然,,,,数据中心未来的演进还是有不少挑战的。。。比如电交换的速率逐渐会遇到瓶颈,,,以Broadcom的Switching ASIC为例,,从早先2011年发布的640G交换容量的Trident,,,,到2014年发布的1.2T Trident 2,,,,2015年发布的3.2T Tomahawk,,,,到2017年末发布2018年3季度量产的基于16nm CMOS工艺的12.8T Tomahawk 3,,,,技术路线图发展还是很快的,,,但后面的25.6T及以上交换芯片的推出时间存在很多不确定性,,主要是因为芯片的BGA封装PIN脚密度,,,IO数量快速提升难度很大。。。。

如上图4,,因为硅光技术的引入,,,一台刀片服务器的尺寸可以大幅削减60%以上,,,同时,,,速率大幅提升以及功耗的大幅下降是显然易见的好处。。。这也就直接驱动主流的芯片公司甚至具体设备商们,,,,最近几年大量投入在硅光技术(Silicon Photonics,,SiP),,以及2.5D/3D的芯片封装技术等。。。关于硅光技术,,,以后再找机会做专题讨论。。

另外,,也有几个问题会限制数据中心的发展速度,,,比如IEEE在PCIe总线接口标准的演进太慢,,,,目前主流仍然是PCIe 3.0,,,每个lane的速率仅为8Gbps,,,,不少业内专家也在呼吁直接跳过PCIe 4.0去发布PICe 5.0,,,每个Lane的速率达到32Gbps,,这样光电速率可以匹配。。。其它问题,,,比如SERDES演进(25G-50G),,,数据中心制冷(传统风冷到液冷),,,,Serverless等等,,,也都是不小的话题。。。
总的来说,,,未来的数据中心架构是朝着“模块化、、、扁平化、、易扩展”这几个方向在发展,,,,超大型云服务商们也越来越重视数据中心网络架构的演进和优化,,,物联网,,,,5G一定会催生出超级应用,,,,从而推进数据中心的快速发展。。。希望有机会与业内人士多多探讨这方面的话题。。下篇将更多探讨光电互联接口在数据中心的应用。。
参考文章:
1 Google过去十年发展数据中心网络的经验 陈宇飞 https://zhuanlan.zhihu.com/p/29945202
2 网络的东西南北:抛弃SDN,,迎接网络虚拟化???? https://www.csdn.net/article/2014-01-23/2818233-SDN-Network-Virtualization
3 “Jupiter Raising: A Decade of Clos Topologies and Centralized Control in Google’s Datacenter Network”
4 “Cisco global cloud index 2016-2021 white paper”
5 “Facebook’s Data center Network Architecture”
6 肖明,,2016年,“Future Data Center and High Speed Optics Interconnection”