编者按:
Fungible 自主设计的TrueFabric网络传输协议,是Fungible最核心的竞争力,具有媲美RDMA/RoCEv2的性能以及接近TCP的稳定性。
我们来共同学习。
参考文献(Fungible白皮书):
TrueFabric: A Fundamental Advance to the State of the Art in Data Center Networks
https://www.fungible.com/wp-c...
Fungible TrueFabric:数据中心网络技术的根本性改进
作者:Fungible CEO,Pradeep Sindhu先生
Truefabric是基于开放标准的网络技术,并且集成到Fungible DPU中。它旨在提高基于横向扩展原则构建的数据中心的性能、经济性、可靠性和安全性,单个集群规模可以从几个机架扩展到数千个机架。它展示了八个基本的属性:跨越多个数量级的可伸缩性、任意节点到任意节点横截面带宽、低可预测延迟、公平性、避免拥塞、容错、端到端软件定义的安全性,以及使用开放标准来提供优秀的经济性能。没有任何现有技术在单个实现中提供所有这些属性。因此,TruFabric打开了通往单一通用数据中心网络的大门,该网络可用于数据中心内的所有网络任务,最大化网络的价值,并实现真正通用和强大的计算基础设施。
1 介绍
横向扩展架构已经在数据中心中使用了近20年。这些架构的优点在Barroso、Clidarras和Hölzle的一篇题为“作为计算机的数据中心:仓库规模机器的设计介绍”的开创性论文中得到了描述。如今,毫无疑问,几乎所有的数据中心,无论是小型、中型还是大型,无论是公有还是私有,都以这种方式建立。横向扩展数据中心设计的基本思想是,数据中心中的所有服务器节点都通过可靠的高性能局域网连接。这允许数据中心提供的服务的实现方式是,由于故障或计划中的事件导致的单个服务器的丢失不会危及服务本身。
虽然有一些特定的网络技术,如Infiniband、Fiber Channel和RoCE,声称提供了数据中心结构的一些属性,但事实是,今天大多数横向扩展的数据中心使用以太网之上的TCP/IP作为事实上的互联技术。TCP/IP发明于20世纪70年代,用来解决通过使用多种网络技术建立的广域网连接全球范围内的计算机的问题。随后,它被用于在数据中心内提供服务器之间的连接,并且达到了前所未有的规模。考虑到局域网的物理参数比广域网的速度快三个数量级或更多,TCP/IP能起到的作用是很值得注意的,因为它已经坚持了20多年了。对此的部分解释是TCP软件堆栈经过了大量优化,以满足对网络日益增长的需求。为某些TCP函数提供“卸载”的并行尝试不是很成功,因为很难在CPU和卸载引擎之间清晰地拆分TCP。
在过去的十年中,以太网接口和SSD设备的性能比通用CPU提高得更快。这一点很重要,因为绝大多数TCP实现都运行在这样的CPU上的软件中,因此它们不能满足性能要求。在应用程序方面,广泛使用跨节点远程过程调用的“微服务”体系结构现在已成为标准实践。此外,许多新应用程序需要访问必须跨服务器节点“分片”或分散的大数据集。应用端的这两方面的发展特征都增加了数据中心内部的网络流量。总的来说,技术和应用领域的发展共同给网络栈的软件实现带来了巨大的压力,特别是在以太网上的TCP/IP。因此,通用CPU计算能力的很大一部分都花在了与网络的交互上,从而减少了应用程序的可用资源。当前的状况是,将一切构建在TCP/IP的软件实现之上的办法越来越难以为继。
这些发展为TrueFabric作为单一的基于标准的网络技术的引入奠定了基础,从而推动数据中心从横向扩展时代进入以数据为中心的时代。
2 术语
在深入了解TrueFabric的细节之前,先定义一些基本术语是有帮助的。首先,我们在本文中以比标准行业实践更精确的方式使用Fabric这个术语。我们用它来指满足一组最低要求的互连技术:可伸缩性;完全的任意节点-任意节点横截面带宽;公平;可预见的低延迟;拥塞避免;和误差控制。当在现有技术约束下构建横向扩展的基础设施时,这些最低要求是基本的、不可避免的——也就是说,CPU、内存和IO接口等单个基本构建块的性能不能无限地提升。我们使用商标术语TrueFabric是对Fungible技术的确认,因为“Fabric”这个词已经因为过度使用而变得毫无意义。然而,在本文中,我们将准确地使用上面描述的大写术语Fabric和商标术语TrueFabric来具体指代可替换技术。
理想Fabric是一种具有无限横截面带宽和零节点到节点延迟的互连技术。然而,这种Fabric显然是不可实现的。可实现的Fabric是可以以合理的成本实现的,同时提供Fabric的定义属性。在可实现的Fabric中,每个节点以固定的带宽连接,该带宽独立于Fabric中的节点数量(称为可伸缩扩展性的属性)。Fabric的横截面带宽是有限的,但是随着节点数量的增加而增加,而且根据物理定律,延迟是允许最小的。
还需要区分实现内存模型的互连技术和实现网络模型的互连技术。前者用于使用读、写原语和可能的缓存原语连接处理器到内存;这些互连的带宽和延迟要求都非常高,但规模必然有限。网络互连用于使用发送和接收等网络原语将整个服务器节点彼此连接;这些网络互连的带宽和延迟要求比较宽松,但规模可以非常大,可以包含多达一百万个节点。使用上述术语,TrueFabric是一个实现网络模型的可实现Fabric。除了合并可实现Fabric的定义属性之外,它还实现了两个非常理想的附加属性:它构建在开放标准之上,并且支持强大的安全性。我们顺便注意到,虽然TrueFabric是一个网络互连,但它的性能已经足够好,可以使用RDMA在上面实现内存模型。TrueFabric的所有特性都是通过基于标准UDP/ IP以太网的新型Fabric控制协议(FCP)实现的。
对于中小型规模,TrueFabric使用单层标准IP/Ethernet Spine交换机,其中服务器节点直接连接到Spine交换机。对于大规模,它使用两层拓扑结构,由位于每个机架顶部的标准IP/Ethernet Spine交换机和标准IP/Ethernet Leaf交换机组成。在这种情况下,服务器节点连接到Leaf交换机。尽管当前TrueFabric的最大部署中不需要使用超过两层的交换机,但是FCP可以在包含三层或更多交换机的现有网络上完美地运行。
在接下来的内容中,我们将把Leaf、Spine和任何更高的交换层统称为网络核心。网络边缘是TrueFabric在服务器节点内部的Fungible DPU内实现的端点。TrueFabric是网络核心和网络边缘的集合。
下面的图1显示了一个TrueFabric部署的抽象视图。有四种服务器类型的多个实例:CPU服务器、AI/数据分析服务器、SSD服务器和HDD服务器。每个服务器实例包含一个Fungible DPU,它以固定的带宽(比如100GE)连接到网络。虽然每个DPU只有一个100GE接口连接到网络核心,但TrueFabric即使在最大的部署规模下,也能让每个DPU之间都有一条专用的100GE链路。事实上,服务器无法进行任何实验来揭示网络核心与抽象图中显示的完整网格有任何不同。
图1 TrueFabric的抽象示图
3 TrueFabric的属性
TrueFabric展示了构建现代横向扩展数据中心的8个基本属性:
- 可扩展性:TrueFabric可以从使用100GE接口的小规模部署的服务器集群扩展到使用200GE-400GE接口的数十万台服务器的大规模部署。所有部署都使用相同的互连拓扑,小型到中型部署使用单层Spine交换机,大型部署使用Spine层和Leaf层。可以增量地扩展部署,而无需关闭网络以实现真正的始终在线操作。
- 全截面带宽:TrueFabric支持任何节点到任何节点的全截面带宽,适用于标准IP以太网数据包大小,不限制所承载的流量的时间或空间特征。至关重要的是,TrueFabric支持短的、低延迟消息的高效交换,以支持服务器节点之间的频繁交互式通信。这种类型的通信对于TCP是不可能的,因为TCP是一种字节流协议。另一方面,TCP可以非常有效地在FCP之上实现。
- 低延迟和低抖动:TrueFabric提供节点之间的最小的端到端延迟,以及非常严格的尾巴延迟控制。节点之间的最小延迟意味着流量总是使用任意两个节点之间的最短路径。对尾部延迟的严格控制意味着,即使提供的负载利用率超过90%,99%的延迟也很少超过平均延迟的1.5倍。
- 公平性:在竞争节点之间以微秒粒度公平分配网络带宽。此外,网络带宽还可以在由给定节点生成的流之间公平地分配。带宽分配取决于IP包的标准服务质量水平。
- 拥塞避免:TrueFabric有内置的主动拥塞避免,这意味着数据包基本上不会因为拥塞而丢失,即使在非常高的负载下(大于90%)。值得注意的是,拥塞避免技术并不依赖于核心网络交换机来提供任何与拥塞控制相关的特性。
- 容错:TrueFabric有内置的检测和恢复数据包丢失,因为任何类型的网络故障,包括但不限于电缆切断,交换机故障由于硬件或软件故障,瞬态错误导致交换机内或在终端的数据包下降,瞬态或永久的光电子故障,以及不可避免的铜线或光缆上的随机噪声。FCP的错误恢复比依赖于路由协议的传统恢复技术快五个数量级。
- 软件定义的安全和策略:TrueFabric支持基于AES标准的端到端加密。此外,可以通过软件配置将给定的部署划分为单独的加密域,每个域为其节点提供任意对任意连接,但禁止从一个域的节点到另一个域的节点的通信。
- 开放标准:TrueFabric的FCP建立在基于以太网的标准IP之上,可以与以太网上的标准TCP/IP完全互操作。这允许使用现成的Spine和TOR交换机,也允许在一些服务器节点采用DPU,而其他节点不采用DPU。开放的标准还允许TrueFabric提供优异的经济效益。
总的来说,这八个属性使得TrueFabric能够对横向扩展的数据中心的性能、经济性、可靠性和安全性产生实质性的优化。它们在单一技术中的实现代表了数据中心网络技术的根本性进步。
性能和经济性改进的部分原因是网络本身的性能比现有网络高出3倍以上,主要原因是它具有更高的网络利用率,同时仍然提供出色的低延迟。虽然这是一个巨大的改进,但网络通常只占数据中心花费的一小部分(约15%),即使有如此大的改进,数据中心运营商仍不倾向于在此投入。他们这样做对自己是一种损害,因为绝大多数的性能和经济性改善是由于TrueFabric,不是来自网络的直接经济效益,并且间接来自于整个数据中心的计算和存储资源池的有效利用。这样可以减轻CPU的网络负担。TrueFabric实际上可以有效地解构数据中心中的所有资源,如下面的图2所示。
图2 TrueFabric能够有效地解构几乎所有的数据中心资源
我们将高效解构大多数数据中心资源的能力称为超解构,而不是超融合——超融合是一种将资源定位在单一类型服务器内的方法。在超融合方法中,节点内部的CPU可以有效地使用本地资源,但这些资源不能跨服务器节点池。因此,资源使用的效率大大降低。通过比较企业数据中心(由于资源滞留导致利用率低于8%)与超大规模数据中心(通过部分分解达到利用率超过30%)的平均利用率,我们估计这种效率损失超过4倍。
数据中心的可靠性和安全性改进是上面列出的几个属性的直接结果。首先,TrueFabric从根本上改善了数据中心网络的可靠性:它通过完全避免拥塞而不是事后对拥塞做出反应,从而消除了拥塞作为丢包的来源;它还可以从所有网络硬件和软件故障(包括多个故障)中恢复,确保可靠运行,而无需承担通常与此级别的可靠性相关的成本。因此,TrueFabic还从根本上提高了数据中心提供的服务的整体可靠性。第二,TrueFabric的性能特点意味着可以普遍使用纠删码来保护所有存储的数据,特别是高性能存储中的热点数据。这使得我们可以大大提高存储数据的可靠性,而不是创建多副本的成本。
在安全方面,TrueFabric支持数据中心所有DPU-DPU流量的端到端加密。此外,在软件控制下,支持DPU的服务器可以划分为不相连的子集,每个子集形成一个单独的加密安全域。此功能提供了最强大的安全性(除了在服务器组之间提供物理空隙之外)。
4 性能特征
在本节中,我们将介绍TrueFabric的性能特征,重点关注严重网络拥塞的场景。现有技术不能很好地处理这些场景。
4.1 高负载下的Fabric时延
图3显示了用于在重负载网络条件下测试不同流量模式的模拟设置。该设置包含64个相同的机架,每个机架由16个DPU组成,连接到一个6.4Tbps TOR。TOR配置了32x100GE链路连接到DPU(每个DPU 2x100GE)和32x100GE链路连接到32个Spine,每个Spine 100GE——换句话说,TOR和Spine层都是不会超额认购的。
图3 高网络负载下测试延迟的物理拓扑
我们测量了在三种不同的流量场景下,从发送DPU的网络单元的输入端口到接收DPU的输出端口的端到端单向延迟:
- 一对一:每个DPU发送报文到另一个唯一的DPU。在这个场景中没有拥塞。数据包大小从行业标准IMIX配置文件中挑选。
- 随机目的地:每个DPU将其每个数据包发送到从1024个DPU中随机抽取的DPU。在这种情况下,所有的数据包都被选择为相同的大小(1KB),以在目的DPU上均衡负载。
- 最大Incast:所有1024个DPU发送到一个接受者DPU——这是拥塞的极限测试。数据包大小从行业标准IMIX配置文件中挑选。下表显示了这三种场景中的Fabric利用率、平均延迟、延迟方差和P99延迟。
三种情况下,Fabric利用率均超过90%。平均延迟在1-2μs范围内;P99时延的绝对值在1 \~ 3μs范围内。值得注意的是,Spine和TOR交换机占了大约0.5μs的延迟预算,其余的在发送和接收DPU之间分布。最后,P99延迟与平均延迟的比率是1.16,1.57和1.02,分别。三种情况的延迟直方图如下图4所示:
图4 三个流量场景的延迟直方图
4.2 与RoCEv2在拥塞情况下的比较
我们比较了TrueFabric和RoCEv2在10:1 Incast条件下的性能。所比较的两种配置是相同的,除了一个在10台服务器上使用Mellanox ConnectX-5网卡,另一个在10台服务器上使用Fungible的DPU。图5显示了设置:
图5 设置TrueFabric与RoCEv2 10:1的Incast性能对比
第一组测量显示了TrueFabric与RoCEv2在10:1 Incast下分配给每个发送方的瞬时带宽随时间的变化。参见下面的图6。很明显,TrueFabric提供给发送者的带宽几乎是相等的,而且随着时间的推移也很稳定。对于RoCEv2,跨发送者和跨时间的分布是高度可变的。
图6 TrueFabric的带宽随时间变化
查看相同数据的另一种方法是在10:1 Incast场景下测量TrueFabric和RoCEv2的P99尾部延迟。TrueFabric的每个流的端到端应用程序延迟为987μs, RoCEv2为16302μs,或者更高的16.5倍。图7以直方图的形式显示了数据。
图7 TrueFabric和RoCEv2之间的P99尾延迟比较
5 结论
在横向扩展数据中心中,服务器之间相互连接的网络是以给定成本构建最通用、最强大的计算设施的关键。这个网络需要有一组属性,这些属性对于实现高性能、卓越的经济性、高可靠性和强安全性的目标至关重要。在本文中,我们精确地定义了这些属性,并解释了它们如何有助于实现高级目标。
无论是当前的TCP/IP以太网,还是InfiniBand、光纤通道和RoCEv2等更利基的技术,都不能完全提供前面确定的所有属性。
TrueFabric是业界首次专注于提供基于开放标准的单一、统一的网络技术,该技术具有在大范围内构建高性能、经济、可靠和安全数据中心所需的所有属性。因此,它代表了数据中心网络技术水平的根本进步。
作者:Chaobo
来源:https://mp.weixin.qq.com/s/aWVzzYgSGLn4DGwv-9obQQ
作者微信公众号
相关文章推荐
更多软硬件技术干货请关注软硬件融合专栏。