17611538698
webmaster@21cto.com

斯坦福大学教授大力宣传一种新协议Homa 以取代TCP

运维 0 9 42分钟前
图片

21CTO 导读:一位斯坦福大学退休教授近期发布消息,他认为TCP(互联网和大部分云计算所依赖的数据传输控制协议)并不适合新兴的人工智能工作负载。为了解决这个问题,他正在研究并推广一种名为Homa的全新协议。

“TCP 虽然取得了许多惊人的成就,但它并不适合数据中心,”斯坦福大学计算机科学荣誉教授约翰·奥斯特豪特(John Ousterhout)在最近举行的AI 工程师世界博览会上发表讲话时公开讲道。

考虑到 TCP 协议在全球范围内的广泛应用,放弃 TCP 听起来像是一项艰巨的任务。但Ousterhout说,将 Homa 添加到互联网中其实相当简单。只需从GitHub 上的源代码编译 Homa ,然后将模块安装到客户端和服务器的 Linux 内核中即可,而且无需重启。 

他这样写道:“Homa 可以与 TCP 并行运行,因此你可以逐步将应用程序从 TCP 迁移到 Homa。” 运行 Homa 甚至可以加快剩余 TCP 应用程序的运行速度。

Homa 的GitHub:https://github.com/PlatformLab/Homa

老酒装新瓶

Ousterhout 表示说,Homa 是对网络应如何管理交通拥堵的一次彻底的重新思考。

该协议的研究工作始于贝赫纳姆·蒙塔泽里(Behnam Montazeri)的博士论文,该论文于2019年首次发表,而蒙塔泽里现在是谷歌的一名软件工程师。奥斯特豪特(Ousterhout)退休后,将传播Homa视为自己的“毕生使命”。

Homa 与 TCP 的主要区别在于它是基于消息的,而不是基于流的。它与远程过程调用 (RPC) 类似,Homa 消息的长度是显式定义的。 

与 TCP 不同,Homa 指定接收方负责拥塞控制。接收方收到的第一个数据包中包含有关传入数据量的信息。然后,它可以显式地安排数据包的发送时间。为此,它使用最短剩余处理时间 (SRPT) 算法,优先处理较短的消息。

Ousterhout 表示,这种方法可以将短消息的延迟降低一个数量级。对于Homa协议,短消息延迟的第99百分位(p99)为92微秒,比TCP协议的p99延迟1.2毫秒快13倍(基于数据包在100 Gbps网络中以80%的利用率传输的情况)。 

Ousterhout说,即使是最长的信息,Homa 也比它好两倍。TCP 在其他许多任务上都存在不足。

图片

目前,Ousterhout正在起草该协议的 IETF 标准化文档,并致力于将 Homa合并到 Linux 内核中。今年 3 月,该协议已向后移植到 Red Hat Enterprise Linux 8 和 9.5 版本。

他还帮助大型公司调查 Homa 的适用性——他目前正在与一家大型金融服务公司合作开发原型。 

当然,并非所有人都赞同为了解决一些延迟问题而放弃 TCP。 

著名网络架构师 Ivan Pepelnjak 撰写了一篇措辞严厉的立场的文件,批评 Homa,质疑 Ousterhout 对 TCP 性能的描述,并批评 Homa 是一个“寻找问题的解决方案”。

实话说,人工智能社区并不是唯一一个对老旧的 TCP 感到不满的生态系统。 

在高性能数据库领域,DPDK(数据平面开发工具包)被用来绕过 TCP 协议栈,从而加快查询速度。存储区域网络转向NVMe-oF(基于网络结构的 NVMe),以加快通过网络架构访问固态硬盘的速度,其传输协议包括 RDMA、光纤通道和 TCP。在 Web 领域,谷歌开发了QUIC(后来成为 HTTP/3 的基础),以绕过 TCP 的队头阻塞机制,使浏览器能够同时下载更多资源。 

此外,高频交易和多人游戏社区也感受到了 TCP 传输速度慢带来的困扰。 

专用的RDMA架构和亚马逊网络服务的可扩展可靠数据报(SRD)也解决了TCP延迟问题。机架顶部交换机在拥塞管理方面也变得更加智能,能够设置队列阈值并标记带有早期拥塞通知的数据包。

文特·瑟夫(Winter Cerf)与他的同事们创建了TCP协议,旨在规范网络中纷繁复杂的数据包,赋予它们适当的流量控制、数据送达保证、连接握手和拥塞控制。拥塞控制意味着避免网络路径(包括交换机和路由器)过载,而独立的流量控制机制则防止发送方对接收方造成过载。

TCP 的数据模型基于字节流,即连续不断的、无差别的数据包流。消息被序列化为单个字节流,没有优先级之分。对于接收方而言,较长的字节流与较短的字节流也无法区分。 

服务器在流量过载时可以向发送方发送警报以减缓数据输入,但它对剩余流量的可见性有限。发送方自身则需要根据接收方返回的确认信息的及时性来调节输出,因此只能猜测应该减速多少。 

对于普通的互联网流量或数据中心内的大规模数据传输,轻微的延迟增加或许可以容忍。但对于对延迟高度敏感的人工智能工作负载而言,即使是毫秒级的延迟也会造成严重影响。

思考一下GPU

推动大语言模型 (LLM) 开发的前沿实验室或企业一直需要一流的网络性能来完成诸如权重梯度、模型权重、KV 缓存条目和检查点等任务。

然而,大数据传输必须越来越多地与来自代理的短时流量以及元数据协调和缓存查找等控制任务共享带宽。

“对于这类工作负载来说,真正重要的是延迟,”Ousterhout这样说道。即使是一毫秒的延迟也会导致昂贵的GPU闲置。 

“传统协议不太适合这种环境,”Ousterhout如此说。  

那么,Homa 最终找到需要解决的问题了吗?还是它走在了时代的最前沿?无论如何,就目前综合而言,TCP 仍然是冠军。

作者:聆听音乐的鱼

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信