特斯拉宣布开源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的成本效益显得尤为重要。

写在最后

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

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
弹性计算 网络协议 算法
记一次典型的TCP传输吞吐效率问题
客户在ECS上实现了一个供小图片上传的接口,通过高防->SLB->ECS的网络链路将接口发布给终端用户,但是发现上传的速率很不理想。初看起来像是高防问题,但是通过排查最终发现这是一个典型的TCP传输吞吐量问题,并且是由于后端服务器端的配置而引起,在此记录下排查过程和相关原理。
记一次典型的TCP传输吞吐效率问题
|
6月前
计算机网络——计算机网络的性能指标(上)-速率、带宽、吞吐量、时延
计算机网络——计算机网络的性能指标(上)-速率、带宽、吞吐量、时延
197 1
|
7月前
|
存储 网络协议 数据中心
|
存储 缓存 网络协议
TCP vs UDP:揭秘可靠性与效率之争
在网络通信中,TCP和UDP是两种最常用的传输层协议。本文将深入探讨TCP和UDP之间的区别,包括连接方式、服务对象、拥塞控制、流量控制和首部开销等方面,帮助读者在不同应用需求下选择适合的协议。无论你是技术爱好者还是网络工程师,这篇文章定能帮助你了解并应用TCP和UDP的差异,提升你的网络传输效率和可靠性。
1307 1
|
存储 网络协议 算法
TCP和UDP对比的优势和劣势
TCP和UDP都是传输层协议。TCP最核心的是提供了可靠性,而UDP核心是灵活性高。HTTP1.0和2.0用的是TCP,到了HTTP3.0用的就是UDP了。 UDP应用数据传输、网络控制、音视频、Web技术应用较多。 UDP,目标是在传输层提供直接发送报文的能力,Datagram是数据传输的最小单位,UDP协议不会帮助拆分数据,它的目标只有一个,就是发送报文。 UDP的报文格式,只有五个部分组成。
170 0
|
Web App开发 数据采集 边缘计算
阿里云全球实时传输网络GRTN—QOE优化实践
阿里云GRTN核心网技术负责人肖凯,为我们分享GRTN核心网的运作机制、运用方面以及QOE的网络模型在业务板块的实践优化。
768 0
阿里云全球实时传输网络GRTN—QOE优化实践
|
缓存 安全 网络协议
通过QUIC 0-RTT建立更快的连接
本文主要探讨TLS协议,看看它如何允许客户机开始发送HTTP要求,并且无需等待TLS握手完成即可减少延迟、建立更快的连接。此外,之中会有一些风险如通过API端点发送HTTP请求间的bank API重放攻击、Cloudware如何拒绝0-RTT请求并通过加密保护连接网络。感谢学而思网校架构师刘连响对本文的技术审校。
1439 0
通过QUIC 0-RTT建立更快的连接
|
SQL 网络协议 Python
直击案发现场!TCP 10倍延迟的真相是?
阿里妹导读:什么是经验?就是遇到问题,解决问题,总结方法。遇到的问题多了,解决的办法多了,经验自然就积累出来了。今天的文章是阿里技术专家蛰剑在工作中遇到的一个问题引发的对TCP性能和发送接收Buffer关系的系列思考(问题:应用通过专线从公司访问阿里云上的服务,专线100M,时延20ms,一个SQL查询了22M数据出现10倍+的信息延迟,不正常。
4329 0