马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
电路设计漫谈之 78 一花一世界:微观的芯片与宏观的计算中心
(好就没来写点东西了。近来转行做跟云计算和数据中心相关的技术。虽然与电路设计不太相干,但感觉有些本元的东西还是相通的。陆续写出来与大家分享。借机感谢坛主Jack帮助找回ID)
一般大型数据交换设备的前端Packet 处理诸如Policing/Shapping,Look Up, Traffic Management 与交换核心Switch Fabric 是分离的。这样交换核心功能可以做的跟强,并且分布式的处理方式对提高容错性和可靠性有很大帮助。图一是早期或者小规模交换机的常用架构。每个电路板单元可以有N条单独的总线与交换芯片连接。从LC来的包要么在其中的一对点到点总线上传输,要么可以平均分散到N条总线上,在接收端再组合成与发端一致的数据流。
图一:单一交换芯片的架构
随着交换容量的扩大,单一总线的形式在有以下几个缺点:1)Scale Out方式的单一交换单元达到一定的瓶颈难以继续扩容。2)交换单元成为了一个singlePoint Failure的部件。一旦交换芯片失效,整个系统会瘫痪,除非在系统级考虑冗余设计。
新一代的交换机架构采用图二所示的CLOS方式。Charles Clos是贝尔实验室50年代的研究员。他发表于1953年贝尔系统技术杂志题为“A Study ofNon-blocking Switching Networks”的论文,首先提出了这种交换架构。开始是用在电话交换机,后来90年代广泛用于以太网交换机的设计。这实际上是一种Scale-out的分布式交换架构。M个交换芯片构成Switch Fabric,每个LC单元都有总线与M个交换芯片相连接。LC来的数据分散到M个交换单元分别处理。如果需要更大的交换能力,不需要设计新的交换芯片,只需增加M的数量即可。支持的LC数量由交换芯片的端口数决定。这种架构的另一个好处是,即使M个芯片中有的不正常工作了,只是减少了交换能力但不会使得系统完全瘫痪。
图二:CLOS的分布式Scale-Out交换架构
这个架构本是本人在2001年左右设计一款宽带交换机时用到的技术。没想到云计算的今天,在数据中心中看到了类似的结构。数据中心的网络拓扑称其为Spine-Leaf。图三A是传统的Fat-Tree架构,跟早期的SwitchFabric类似。图三B是常用的Spine-Leaf架构。
图三A: Fat-Tree
图三B: Spine-Leaf
Spine-Leaf架构最重要的特点是可以实现真正的无阻塞网状连接。每个Leaf交换机与其它任何一个在同一层面的交换机都可实现同样带宽的互联。Spine交换机如有故障,只是减少了Leaf连接的带宽,整个网路还是可以工作。在Fat-Tree的方式,上层的交换机容量是带宽的瓶颈,并且也是SingleFailure Point。这些特质跟交换机内部的Fabric架构完全一致!ECMP之类的多路径传输协议可以充分利用这种架构,使得数据包传输可以均衡有效的利用full mesh连接的优点。 在这里,数据中心的网络架构与交换机内部的Switch Fabric架构竟是这样的类似! Facebook新一代的数据中心把这个架构发挥到了极致。图四中的Spine-Fabric-Rack交换机构成了三维的CLOS架 构
图四:Facebook新一代数据中心的网络架构
(待续) |