每年8月底的Hot Chips大会是芯片行业的巅峰盛会,英伟达、英特尔、AMD、博通、微软、META、高通、IBM和SK Hynix等芯片行业顶尖厂家都有参加,中科院的香山RISC-V处理器也有参加,唯一一个参加的汽车类厂家就是特斯拉,还有唯一一款针对汽车领域的芯片,AMD的Versal™ AI Edge Series Gen 2。特斯拉此次化身服务器庄家,特别介绍了新型以太网传输协议TTPoE,这实际不是一颗芯片,严格地说是一个MAC的传输协议物理层,特斯拉的不务正业正是马斯克所宣扬的,特斯拉不是一家汽车公司,而是一家AI公司。
来源:Tesla
特斯拉挑战英伟达的NVLink和IB,几乎比NVLink快1倍,比传统以太网快4倍。
来源:Tesla
特斯拉在打造Dojo supercomputer时遇到了难题,有些视频训练数据太大,单张量就有1.7GB大小,用传统的以太网传输这样大的视频非常费时,用英伟达的专用传输协议快很多,但成本也高很多,需要专用交换机和英伟达的专用芯片,心高气傲的特斯拉可不想受制于英伟达,于是花5年时间开发了一种新的以太网传输协议,即TTPoE。
Dojo项目始于5年前,灵魂人物是Ganesh Venkataramanan,不过马斯克对他不太满意,2024年1月,原苹果高官Peter Bannon接替了他的位置,从一开始Ganesh Venkataramanan就考虑了TTPoE。
来源:Tesla
TTPoE位于界面处理器Interface Processor内。
来源:Tesla
这是第一代的Dojo界面处理器,使用极其昂贵的HBM内存,2024年特斯拉为了降低成本,推出Mojo界面处理器。
来源:Tesla
性能和Dojo V1有天壤之别,当然价格也相差悬殊,只用了8GB的DDR4,价格是32GB的HBM的1/100。
来源:Tesla
当然Mojo的用途和Dojo V1也不同,Dojo V1是D1间的互联,而Mojo可以看作一个网卡NIC,主要用于输入训练数据,并且Mojo用了非常老旧的PCIe三代。
来源:Tesla
之前对Dojo的介绍里,特斯拉故弄玄虚,说了TTPoE是Z平面,在Hot Chips 2024这种业内会议上,特斯拉自然不敢故弄玄虚。
特斯拉的以太网协议与标准以太网协议对比
来源:Tesla
典型的7层OSI模型是谁都无法更改的,基础的物理层部分也就是第一和第二层也是无法更改的,因为特斯拉不是英伟达,特斯拉必须适应市场上的以太网交换机,而英伟达有着强大影响力,可以独创性地开发NVLink。特斯拉只是动了第四层,也就是传输层,并将其固化为硬件。第五层加入了RDMA,第六层则加入了不少视频格式,如微软的HEVC即H.265,还有传统的YUV。第七层则加入了META的Pytorch。
标准的TCP协议状态机对比特斯拉TTPoE的状态机
来源:Tesla
特斯拉认为1微秒的协议里有2毫秒的停顿太长了,也不能依赖虚拟内存,所以设置自动开关,无需软件介入。TTPoE使用了本地链路通道进行拥塞管理,而非依赖交换机或网络级别的控制。这种独特的本地处理方式大大减少了拥塞管理的复杂性,也避免了高负载情况下对整个网络性能的拖累。虽然TTPoE支持QoS(服务质量)管理,但在实际应用中特斯拉应该是选择关闭了该功能,以进一步提升性能和简化管理。
来源:Tesla
标准的TCP协议是三次握手,为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号,以标识发送出去的数据包中, 哪些是已经被对方收到的。三次握手的过程即是通信双方相互告知序列号起始值,并确认对方已经收到了序列号起始值的必经步骤。如果只是两次握手,至多只有连接发起方的起始序列号能被确认,另一方选择的序列号则得不到确认。但是特斯拉觉得没有必要,因为特斯拉不考虑互联互通,两次握手就够了。
来源:Tesla
TTPoE和TCP一样也是基于丢包拥塞的管理机制,包括滑动窗口和丢包重传,不同于TCP的软件控制,TTPoE将其固定。传统的TCP当数据包丢失时,计算机判断网络出现了拥塞,此时,TCP协议会启动拥塞控制机制,降低发送数据的速率和流量,以避免网络拥塞;但特斯拉设定一个阈值,只要丢包概率低于一定阈值,并不降低传输速率,而是丢包重传来解决。
来源:Tesla
特斯拉默认丢包是很罕见的Corner Case。
来源:特斯拉