特斯拉宣布开源TTPoE协议,高速且低延迟,比TCP快n倍!

简介: 【10月更文挑战第8天】

在2024年的Hot Chips大会上,特斯拉宣布开源其Tesla Transport Protocol over Ethernet (TTPoE),并加入了Ultra Ethernet Consortium (UEC),以分享该协议并致力于标准化一种新的高速/低延迟的网络结构。TTPoE专为特斯拉的AI超级计算机DOJO设计,旨在取代传统的TCP(传输控制协议),提供微秒级延迟和简单的硬件卸载功能。

在传统的超级计算机网络中,常见的传输协议是TCP/IP。然而,TCP/IP虽然稳定可靠,但在一些高性能计算任务中可能并不适用。TCP的连接管理、拥塞控制以及可靠性保证机制,虽然适合一般网络环境,但在需要极低延迟和高带宽的计算环境中,其复杂的状态机和长时间的等待状态会成为瓶颈。例如,TCP协议在关闭连接时需要经历FIN、ACK等多个步骤,并进入TIME_WAIT状态以确保所有数据包的完整性。这种设计虽然增加了网络的可靠性,但也增加了延迟,在高要求的环境下显得过于复杂。

Tesla的Dojo超级计算机主要用于训练自动驾驶系统中的深度学习模型。这些模型需要处理大量的视频数据,单个张量(Tensor)可能达到1.7 GB,这对数据传输提出了极高的要求。在这种情况下,如何高效地将数据从主机传输到计算节点成为了一个重要问题。传统的PCIe通道虽然提供了高速的数据传输能力,但在面对如此大规模的数据时,仍然可能成为瓶颈。为了解决这个问题,Tesla选择开发一种专门的传输协议,即TTPoE,以替代TCP在高性能计算环境中的应用。

TTPoE的设计理念

1、协议简化

TTPoE的核心设计理念之一是简化协议栈,减少不必要的等待时间和数据传输步骤。与TCP相比,TTPoE取消了复杂的三次握手(SYN、SYN-ACK、ACK)机制,改为两次握手,这样可以显著降低建立连接的时间。同样地,在关闭连接时,TTPoE也仅需发送一个关闭操作码(close opcode)并接收一个确认即可完成,而不再经历多次确认和TIME_WAIT状态。

这种简化不仅减少了数据包的传输次数,还通过硬件实现了这些操作,使得协议的处理速度更快,且对上层软件透明。上层软件无需显式地管理连接,只需指定数据的目的地址,硬件就会自动完成数据的传输,这大大简化了应用层的开发。

2、硬件实现

TTPoE的另一个重要特性是其设计完全由硬件实现,这与传统的TCP/IP协议需要软件处理部分任务形成了鲜明对比。Tesla在TTPoE的硬件实现中,采用了类似CPU的设计理念,特别是在数据包处理上,采用了类似于指令重排序缓冲区(reorder buffer)中的“指令退休”机制。当数据包被确认接收后,TTPoE的硬件会按照顺序“退休”这些数据包,从而保证数据的有序性和完整性。

在硬件设计中,TTPoE引入了1 MB的SRAM传输缓冲区,这个缓冲区定义了拥塞窗口的大小。在传输过程中,所有的数据包都会被暂存到这个缓冲区中,直到收到对方的确认信息后,数据才会被移出缓冲区,从而实现滑动窗口机制。这个缓冲区的大小经过精心设计,能够在80微秒的网络延迟内保持接近100 Gbps的传输速率,足以满足Tesla内部网络的带宽需求。

3、拥塞控制

传统的TCP协议使用一种动态的拥塞控制机制,根据网络状况调整拥塞窗口的大小,以适应不同的网络条件。然而,这种机制在面对高质量、低延迟的内部网络时显得过于复杂和冗余。为此,TTPoE采用了一种固定的拥塞窗口机制,即通过硬件在SRAM缓冲区中记录已发送的数据,缓冲区的大小直接决定了拥塞窗口的大小。

当缓冲区满时,TTPoE会暂停发送新的数据包,直到收到对方的确认并释放缓冲区中的空间。这种机制简单且高效,特别适用于Tesla的低延迟、高带宽的内部网络环境。此外,TTPoE仍然保留了TCP协议中通过丢包来控制拥塞的思路,但由于其固定窗口的设计,TTPoE不需要像TCP那样频繁地调整窗口大小,从而减少了计算和管理的复杂性。

一句话总结:TTPoE完全在硬件中实现,其状态机相比TCP协议大大简化,从而提供更低的延迟。TCP协议在关闭连接时需要经历多个步骤,如发送FIN、等待确认、再确认等,最后进入TIME_WAIT状态。而TTPoE通过删除TIME_WAIT状态,并将关闭连接的过程从三个步骤简化为两个步骤,大幅减少了延迟。这种简化还包括在建立连接时,将TCP的三次握手(SYN、SYN-ACK、ACK)简化为两次握手。

TTPoE在Dojo超级计算机中的应用

为了实现TTPoE在Dojo超级计算机中的部署,Tesla设计了一种被称为Mojo NIC的网络接口卡。这种NIC(网络接口卡)具有PCIe Gen 3 x16接口和8 GB的DDR4内存,虽然这些硬件规格并不是最新的技术,但它们足够满足TTPoE的需求,并且能够显著降低成本。

Mojo NIC被称为“Dumb-NIC”,因为它的设计目标是尽可能简化和降低成本,使其能够在大规模部署时保持经济可行性。Mojo NIC的主要任务是通过TTPoE协议将数据从主机传输到Dojo超级计算机的计算节点。随着计算需求的增加,Tesla可以通过增加更多的Mojo NIC和主机节点来提高数据传输的带宽,以确保Dojo超级计算机在高负载下的性能。

Dojo超级计算机的核心任务之一是训练自动驾驶系统的深度学习模型,这需要处理大量的视频数据。为了确保这些数据能够快速、准确地传输到计算节点,TTPoE协议和Mojo NIC的结合提供了一个高效的解决方案。由于TTPoE协议的简化设计和硬件实现,数据传输的延迟得以大幅降低,确保了模型训练过程的高效性。

此外,Mojo NIC的设计还考虑到了系统的可扩展性。当计算需求增加时,Tesla只需增加更多的Mojo NIC和主机节点,就能够线性提高系统的总带宽。这种扩展方式不仅成本低廉,还能够确保系统的稳定性和高效性。

TTPoE的关键特性

  1. 低延迟:TTPoE简化了传统TCP流程,以减少延迟并提高高性能计算环境中的效率。
  2. 高带宽:该协议优化了AI工作负载的性能,能够处理大规模的数据传输。
  3. 硬件卸载:TTPoE设计为完全由硬件处理,这使其对软件透明,并且可能比标准TCP实现更快。
  4. 兼容性:TTPoE运行在标准以太网交换机上,保持与现有网络基础设施的兼容性。

与其他协议对比

与TCP/IP的对比

相较于传统的TCP/IP协议,TTPoE在延迟、带宽利用率和实现复杂性方面具有明显的优势。首先,TTPoE取消了TCP中冗长的连接和关闭过程,减少了不必要的等待时间,从而大幅降低了网络延迟。其次,TTPoE采用固定的拥塞窗口机制,通过硬件管理数据传输,从而避免了TCP中动态调整窗口带来的额外开销。最后,TTPoE的硬件实现使得其处理速度更快,且对上层应用透明,这简化了应用开发的难度。

与Infiniband的对比

Infiniband是一种广泛应用于高性能计算领域的网络技术,以其高带宽和低延迟著称。与Infiniband相比,TTPoE虽然在理论上提供的带宽和延迟略有差距,但其在成本和实现复杂性上具有显著优势。Infiniband依赖于一种由交换机控制的信用系统来管理拥塞,而TTPoE则通过丢包和重传机制来处理拥塞,这种机制更为简单,也降低了网络交换机的设计复杂性。

此外,TTPoE基于标准的以太网硬件实现,这意味着Tesla可以利用现有的以太网基础设施,而无需部署昂贵的Infiniband设备。对于Tesla这样需要大规模部署计算节点的企业来说,TTPoE的成本效益显得尤为重要。

写在最后

中国何时拥有自己的传输协议呢?

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Web App开发 存储 缓存
RDMA优化整理(一)
简要的介绍了下RDMA的背景,并给出了一些RDMA编程优化技巧
4300 1
RDMA优化整理(一)
|
机器学习/深度学习 人工智能 算法
阿里公开自研AI集群细节:64个GPU,百万分类训练速度提升4倍
从节点架构到网络架构,再到通信算法,阿里巴巴把自研的高性能AI集群技术细节写成了论文,并对外公布。
阿里公开自研AI集群细节:64个GPU,百万分类训练速度提升4倍
|
机器学习/深度学习 网络协议 异构计算
浅析GPU通信技术(下)-GPUDirect RDMA
目录 浅析GPU通信技术(上)-GPUDirect P2P 浅析GPU通信技术(中)-NVLink 浅析GPU通信技术(下)-GPUDirect RDMA 1. 背景         前两篇文章我们介绍的GPUDirect P2P和NVLink技术可以大大提升GPU服务器单机的GPU通信性...
28348 0
|
人工智能 网络协议 Android开发
国内首个!高通量以太网协议标准正式发布
近日,在CCF全国高性能计算学术年会上,阿里云、中国科学院计算技术研究所等40余家机构举办发布会,联合发布国内首个高通量以太网ETH+协议标准,可实现集合通信性能30%的提升。
999 7
|
11月前
|
人工智能 并行计算 云计算
从UALink近期发展再看GPU Scale Up的互连方向
ALink System的目标是聚焦GPU算力需求、驱动云计算定义的开放生态,形成智算超节点的竞争力。
|
11月前
|
人工智能 云计算 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日~10日在江苏张家港召开的CCF ChinaNet(即中国网络大会)上,众多院士、教授和业界技术领袖齐聚一堂,畅谈网络未来的发展方向,聚焦智算集群网络的创新变革。
阿里云引领智算集群网络架构的新一轮变革
|
11月前
|
机器学习/深度学习 人工智能 并行计算
【AI系统】NVLink 原理剖析
随着AI技术的发展,大模型参数量激增,对底层硬件和网络架构提出新挑战。高效训练这些模型需要大规模GPU集群及高速网络连接,以实现快速数据交换。然而,网络瓶颈限制了GPU性能的充分发挥,表明单纯增加GPU数量不能线性提升算力。因此,算存互连和算力互连技术成为关键,如PCIe、NVLink和NVSwitch等,它们通过提高数据传输速度和效率,支持大规模并行计算,解决了大规模GPU集群中的通信延迟问题,推动了万亿级模型训练的实现。
530 2
|
存储 机器学习/深度学习 并行计算
GPU通信互联技术:GPUDirect、NVLink与RDMA
在高性能计算和深度学习领域,GPU已成为关键工具。然而,随着模型复杂度和数据量的增加,单个GPU难以满足需求,多GPU甚至多服务器协同工作成为常态。本文探讨了三种主要的GPU通信互联技术:GPUDirect、NVLink和RDMA。GPUDirect通过绕过CPU实现GPU与设备直接通信;NVLink提供高速点对点连接和支持内存共享;RDMA则在网络层面实现直接内存访问,降低延迟。这些技术各有优势,适用于不同场景,为AI和高性能计算提供了强大支持。
|
存储 网络协议 大数据
一文读懂RDMA: Remote Direct Memory Access(远程直接内存访问)
该文档详细介绍了RDMA(远程直接内存访问)技术的基本原理、主要特点及其编程接口。RDMA通过硬件直接在应用程序间搬移数据,绕过操作系统协议栈,显著提升网络通信效率,尤其适用于高性能计算和大数据处理等场景。文档还提供了RDMA编程接口的概述及示例代码,帮助开发者更好地理解和应用这一技术。
|
缓存 人工智能 算法
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制等技术简介-一文入门RDMA和RoCE有损无损
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制等技术简介-一文入门RDMA和RoCE有损无损
3100 0