OpenURMA: A Clean-Room Open Implementation of the Unified Bus Protocol
本文介绍了 OpenURMA,这是华为统一总线协议的首个洁净室开源实现,其通过 RTL、SystemC 和 gem5 仿真证明,与传统 RoCEv2 基线相比,将每应用状态与传输状态解耦可将 64 字节远程获取延迟降低 4.37 倍,并将吞吐量提升 2.80 倍。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
以下是论文《OpenURMA:统一总线协议的洁净室开源实现》的通俗解释,辅以日常类比。
核心问题:“外设”瓶颈
想象一个现代数据中心是一座巨大的办公楼,成千上万名员工(应用程序)需要彼此瞬间沟通。
目前,他们沟通的标准方式如下:
- 外设问题:网卡(NIC)被视为一种外设,就像插在电脑上的打印机或鼠标。它位于主脑(CPU)的“外部”。
- 队列系统:要发送消息,员工必须写一张便条(“工作请求”),走到网卡的邮箱(“门铃”)投递,然后等待。网卡随后取走便条,处理它,并将一张“完成”便条写回邮箱。
- 交通堵塞:因为网卡在“外部”,每张便条都必须穿越一条繁忙的高速公路(PCIe 总线)四次,才能完成发送和确认。
- 内存危机:网卡必须为每一对正在交谈的员工保留一个个人文件夹。如果有 1,000 名员工与另外 1,000 人交谈,网卡就需要 100 万个文件夹。它耗尽了桌面空间(片上内存),不得不跑去地下室的文件柜(主机 RAM)取文件。这导致一切变得极其缓慢。
结果:尽管网线(“线缆”)本身极快,但整个系统却因网卡的连接和组织方式而陷入交通堵塞。
解决方案:华为的统一总线(UB)
华为提出了一种名为**统一总线(UB)**的新设计(在其昇腾 950 芯片中),旨在解决这一问题。他们并非仅仅修补旧系统,而是改变了规则。
1. 将办公室搬进大楼内部
UB 不再将网卡作为大楼外的外设,而是将网络控制器搬进大楼内部,置于主走廊(片上总线)上。
- 类比:你不再需要走到门厅去寄信,现在只需将信交给站在你桌旁的同事。你无需穿越高速公路四次,只需迈一步即可。
2. 拆分档案系统
旧系统为每一对交谈者保留一个巨大的文件夹。UB 将其拆分:
- Jetty:用于你这一侧对话的小卡片。
- TP 通道:用于对方那一侧的共享卡片。
- 类比:你不再需要为每一对交谈者准备一个独特的文件夹(这会导致数量爆炸式增长),你只需要一张属于自己的卡片和一张与你交谈对象的共享卡片。文件夹的总数是缓慢增长(加法)而非爆炸式增长(乘法)。这防止了网卡桌面空间的溢出。
3. “加载/存储”捷径
由于控制器现在位于大楼内部,CPU 可以使用标准指令(如 LOAD 或 STORE)直接与它通信,就像在程序中读取变量一样。
- 类比:你无需填写表格、走到邮箱并等待收据。你可以瞬间抓取所需的数据。
4. 可选规则(按需排序)
旧系统强制执行严格规则:“无论发生什么,你必须按发送的确切顺序接收消息。”这对许多任务来说既慢又不必要。
- 类比:UB 表示:“我们可以尽可能快地投递消息。如果你真的需要按顺序接收,只需举手,我们会放慢速度进行排序。如果你不在乎,我们就按到达顺序直接放入你的收件箱。”这为所有不需要严格顺序的人节省了时间。
OpenURMA 做了什么
华为的芯片确实存在,但它是一个“黑盒”。无人能窥探其内部运作、测量其性能或在其基础上构建。
OpenURMA 是这一新系统的首个开源、洁净室实现。
- “洁净室”意味着他们仅依据公开规则书(规范)从头构建,未查看华为的机密代码。
- 他们构建了三个版本进行测试:
- RTL:硬件芯片的实际蓝图(在 FPGA 板上测试)。
- SystemC:网络的超详细计算机模拟。
- gem5:运行真实操作系统的完整计算机模拟。
他们使用完全相同的工具将新系统(OpenURMA)与旧标准(RoCEv2)进行对比,以确保公平较量。
结果:快了多少?
论文声称有巨大的改进,特别是针对小型、快速的操作(如获取一小块数据):
- 速度:对于标准数据获取,新系统比旧系统快4.37 倍(约 500 纳秒对比约 2,186 纳秒)。
- 吞吐量:每秒可处理的数据量是旧系统的2.8 倍。
- 效率:它占用的芯片空间极小(仅占测试板上可用空间的约 14%)。
- 可扩展性:随着用户增加(从 1 到 1,024),旧系统因桌面空间耗尽而急剧减速。新系统因其高效的档案系统而保持快速稳定。
为何这很重要(根据论文观点)
论文认为,目前我们在数据中心连接计算机的方式(将网卡视为外设)对于现代 AI 和大数据工作负载而言,从根本上就是错误的。
- “一致性”替代方案:还有其他技术(如 CXL 或 NVLink)试图让内存看起来是“共享”且“一致”的。然而,论文指出,当你试图将这些技术扩展到大型集群(多排服务器)时,它们会失效,因为它们需要过多的状态跟踪,且无法很好地处理网络错误。
- UB 的优势:UB 接受网络并不完美这一事实,并不试图在整个大楼内强制“完美的一致性”。相反,它赋予应用程序仅在需要时管理顺序的工具,使其能够扩展到数千台服务器,而不会出现其他系统中看到的性能崩溃。
总结
将旧系统想象成一个邮局:你必须走到柜台,填写表格,排队等候,并为每一封信获取收据。
将新的OpenURMA系统想象成一个私人信使:他坐在你旁边,确切知道你在和谁交谈,可以瞬间将信交到你手中,无需任何 paperwork,除非你特别要求收据。
论文证明,这种组织网络的新方式不仅仅是一个理论,而是一个已投入运行的开源设计,其速度和可扩展性显著优于我们目前使用的系统。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。