热辣薯条(Hot Chips 2024) - 特斯拉的TTPoE

文摘   2024-08-29 08:02   美国  

引言 — Hot Chips 2024上Telsla关于其网络TTPoE的介绍,由于已经有人整理了,我这里就以转载的形式介绍一下,参考文献见文末


原材料已上传至知识星球:IT奶爸-知识星球



开篇雷击:Telsla的视觉应用,单个张量的大小为1.7GB,带宽不够用!

因此创造了自己的以太网传输协议,TTPoE。

TCP/IP 太慢,但使用 PFC 实现无损结构的 RDMA 会对网络产生影响。

而理想的网络就三个指标:高带宽,低延时,简单的软件实现。

TTPoE 是一种在硬件中执行的点对点传输层协议。一个优点是 Tesla 不需要特殊交换机。

TTPoE 旨在提供微秒级延迟并允许简单的硬件卸载。较低级别的层保持不变,让协议在标准以太网交换机上运行。

TCP是对的,只是需要在硬件上做。


TTPoE 的设计完全由硬件处理,并提供比标准 TCP 协议更好的延迟。因此,与 TCP 相比,TTPoE 的状态机大大简化。

通过消除 TCP 中的等待状态,可以减少延迟。


在 TCP 中关闭连接涉及发送 FIN、等待该 FIN 的确认,并确认该确认。此后,连接进入 TIME WAIT 状态,这需要实现等待一段时间,允许任何无序数据包安全耗尽,然后新连接才能重用该端口。

TTP 删除 TIME_WAIT 状态,并将关闭顺序从三次传输更改为两次。可以通过发送关闭操作码并接收确认来关闭 TTP 连接。Tesla 的目标是微秒级的延迟,因此即使是毫秒级的 TIME_WAIT 持续时间也可能导致严重问题。

TCP 以三次 SYN、SYN-ACK、ACK 握手打开连接。TTP 应用了与关闭端类似的优化,将握手更改为两次握手。同样,打开连接时传输次数越少,延迟就越低。这些简化的打开和关闭序列是在硬件中实现的,这也使其对软件透明。


与 TCP 一样,特斯拉使用数据包丢弃来进行拥塞控制。但由于 TTP 设计为在低延迟底层网络上运行,因此特斯拉能够采取蛮力方法解决问题。

传统的 TCP 实现会维护一个滑动拥塞窗口,该窗口限制可以发送的未确认数据量。您可以将其视为网络中正在传输的流量。如果数据包得到及时确认,则拥塞窗口会扩大,从而增加带宽。如果数据包被丢弃并且在时间阈值内未收到确认,则拥塞窗口会迅速缩小。这让 TCP 能够优雅地处理各种不同的连接。

带宽将在低延迟、低损耗的家庭本地网络中扩大,并自然地在与您的互联网服务提供商及其他网络的高延迟、高数据包丢失链接中缩小。

特斯拉不打算在开放互联网的低质量链路上运行 TTP,因此采取了强力拥塞控制方法。

拥塞窗口不会根据数据包丢失进行缩放。硬件跟踪 SRAM 缓冲区中发送的数据,这定义了拥塞窗口大小。当缓冲区填满时,发送停止,数据包丢失通过重新传输 SRAM 缓冲区中保存的数据来处理。当相应的确认从另一端返回时,数据将从 SRAM 缓冲区中释放,从而自然地将滑动窗口向前移动。



拥塞管理在每个终端上独立处理,这是 TCP 拥塞爱好者所熟悉的模型。


Tesla 提到这一点主要是为了与其他低延迟网络(如 Infiniband)形成对比,在这些网络中,拥塞控制是在交换机级别处理的。Infiniband 使用在交换机级别控制的credit系统,不会丢弃数据包。如果端点用尽credit,它就会停止发送。

TCP 和 TTP 通过简单地丢弃数据包来处理拥塞,从而消除了单独发送信用的需要,并降低了网络交换机的复杂性。

Tesla 在位于芯片和标准以太网硬件之间的硬件block中处理其 TTP 协议。此 MAC 硬件块由 CPU 架构师设计,并引入了许多 CPU 设计功能。演示者将其描述为像共享缓存一样,其中仲裁器在考虑排序风险的情况下在请求之间进行选择。

传输中的数据包在被确认后会按顺序“退出”,这种机制让人想起 CPU 从reorder缓冲区按顺序退出指令。

最突出的资源之一是 1 MB 传输 SRAM 缓冲区,它定义了上述拥塞窗口。特斯拉表示,这个大小足以容忍大约 80 微秒的网络延迟,而不会造成明显的带宽损失。根据利特尔定律,假设 1 MB 的传输数据和 80 微秒的延迟,则会产生 97.65Gbps。这刚好足以使 100 千兆位网络接口饱和。

TPP MAC 是在 Tesla 所谓的“Dumb-NIC”上实现的。NIC 代表“网络接口卡”。之所以被称为“Dumb”,是因为它尽可能便宜和简单。Tesla 希望部署大量主机节点来为他们的 Dojo 超级计算机提供数据,而廉价的网卡有助于以经济高效的方式实现这一目标。


如何连接呢?

特斯拉现在将回顾 2022 年的演示,展示 D1 Die。

还有一个带 TTPoE 的 32GB HBM Dojo 接口处理器。

特斯拉展示了 Dojo 的连接方式。

首先对装有 D1 块的组件进行组装,所有组件都通过 SerDes 电缆连接封装在一起。

再连接到接口卡 DIP,然后连接到刚才那张低成本网卡。

逻辑连接图如下:



关于延时,特斯拉表示不需要过度强调组合延迟,更重要的应该考虑:

  • 有损与无损

  • 中心化与分布式拥堵

  • 专有与开源

  • 扩展时保持一致带宽


最后,特斯拉也加入了UEC,并且将TTPoE捐献公开。


参考文献:Tesla’s TTPoE at Hot Chips 2024: Replacing TCP for Low Latency Applications

https://chipsandcheese.com/2024/08/27/teslas-ttpoe-at-hot-chips-2024-replacing-tcp-for-low-latency-applications/



为感谢支持,已点赞/分享/赞赏10篇/次以上的朋友,请加微信,进入微信群。我将发放免费加入知识星球的链接。

IT奶爸-知识星球



高阅读量文章





IT奶爸
实践是检验“专家”的唯一标准。一群认真执着的IT奶爸的学习和分享。
 最新文章