摘要:网络领域的顶尖人才花了近二十年的时间将交换机和路由器的控制平面从网络设备中分离出来,并将它们放入外部控制器中。我们称之为软件定义网络,即 SDN,它为网络运营中心提供了网络的整体视图,并使外部控制平面可编程 - 这意味着,它可以响应当前和未来的流量模式,以帮助
网络领域的顶尖人才花了近二十年的时间将交换机和路由器的控制平面从网络设备中分离出来,并将它们放入外部控制器中。我们称之为软件定义网络,即 SDN,它为网络运营中心提供了网络的整体视图,并使外部控制平面可编程 - 这意味着,它可以响应当前和未来的流量模式,以帮助其更好地流动和高效运行。
类似的“软件定义”之战也发生在交换机和路由器的数据平面上,它控制着数据在数据平面中的移动方式、数据如何被可编程的数据包处理引擎处理和日益增强的增强,就像 CPU 和 GPU 一样。
嗯,不完全像 CPU 和 GPU,因为网络——我们指的是理解各种形状和大小的以太网数据包,并将它们从网络中的端点 A 传输到端点 B,该网络可能具有数十万到数百万个端点,以便进行计算和存储——与计算和存储非常不同。
交换机和路由器 ASIC 是一种非常精确的计算,而 CPU 和 GPU 等通用计算引擎在执行数据包转移工作方面表现糟糕。我们都在第一波 SDN 产品中了解到了这一点。(还记得英特尔热切地谈论用 Xeon 处理器取代交换机的时候吗?)
但是,仅仅因为 X86 芯片制造出了一种糟糕的交换设备,并不意味着交换机和路由器 ASIC 就不应该比现在更具可塑性。而且,仅仅因为我们拥有来自多家供应商的商用硅片和基于 Linux 的网络操作系统(其中许多也是开源的),并不意味着交换机制造商及其客户能够访问这些 ASIC 中的低级功能,也不意味着这些 ASIC 可以编程到客户想要的程度并使用他们想要的语言。(这意味着超大规模企业、云构建者、电信公司和其他服务提供商以及热门金融服务公司,也许还有一些 HPC 中心。)
2016 年 6 月,Barefoot Networks 凭借其“Tofino”可编程交换机和为网络创建的 P4 编程语言的商业化变体退出隐身模式,我们为您感到非常兴奋。Barefoot Networks 让每一家商业硅片供应商都稍微开放他们的 SDK,并根据客户需要给予他们更多的控制权,这是一件好事。但遗憾的是,英特尔于 2019 年 6 月以传闻的 55 亿美元收购了 Barefoot Networks,以重返以太网交换领域——它于 2011 年 7 月收购了 Fulcrum Microsystems,但最终并未取得多大进展——几年后,该公司的数据中心业务陷入困境,英特尔于 2023 年 1 月关闭了 Barefoot 以太网交换机业务,而实际上并未取得多大进展。
就 2017 年成立的网络初创公司 Xsight Labs 而言,这为该领域带来了巨大的颠覆,但该公司在 2020 年 (某种程度上) 不再隐身。
公开亮相
公平地说,Nvidia(前身为 Mellanox Technologies)的以太网交换机 Spectrum 3 和 Spectrum 4 ASIC 在数据平面级别是完全可编程的,思科系统用于交换机和路由器的 Silicon One ASIC 也是如此(但并非所有产品都完全启用了此功能)。Pensando(现为 AMD 的一部分)和 Fungible(现为 Microsoft 的一部分)拥有可编程 DPU,但没有制造可编程交换机芯片,甚至没有制造任何交换机 ASIC。
也许他们应该这样做。也许思科应该制造自己的 DPU,我们正在考虑这个问题。Nvidia 拥有 InfiniBand 和以太网交换机以及一组共享的 SmartNIC(ConnectX)和 DPU(BlueField)。
Broadcom 和 Marvell 的交换机 ASIC 具有一定程度的可编程性,但未达到 Barefoot Networks 和 Xsight Labs 在其主流产品中所追求的水平。在本文发表后,Broadcom 提醒我们,它于 2023 年 11 月宣布推出用于下一代顶级机架的 Trident 5-X12,并且据称其可编程性水平高于 Tofino 芯片。
然而,有争议的是,Xsight Labs 正在将其推向极致,最终允许客户使用 P4、Python、C/C++、Rust、Go 或其他语言,利用其 X1 和现在的 X2 ASIC 来破解交换机内的数据平面。它最终可能会成为多种语言的组合,这当然是程序员喜欢的,因为他们可以放纵自己的偏好,避免偏见。
程序员可能还会喜欢开放指令集架构,这意味着所有规范都有完整的文档记录,并且无论谁创建了该架构,都不会要求您支付许可费和版税。从本周开始,Xsight Labs 将向所有人开放其网络芯片 ISA,以便他们可以使用其制造的 ASIC 和 DPU 或其他人可以使用其 E1 DPU 芯片制造的 ASIC 和 DPU 创建在交换机上运行的应用程序。如果您想克隆该公司的交换机或 DPU 芯片,或创建变体,请随意尝试。
据我们所知,CPU 领域很少有开放的 ISA,而网络 ASIC 和 NPU 领域则没有。让我们想一想哪些 CPU 有开放的 ISA。
RISC-V 不仅是开放的,而且一些贡献者还不遗余力地提供了描述所制造芯片的 RTL。RISC -V 可能是未来,但这个未来可能在很大程度上是后经济时代的。
Arm 创建了一种已无处不在的架构,但你必须获得授权并支付版税。
英特尔创建了 X86 架构,而 AMD 则通过各种创新对其进行了改进。理论上,英特尔或 AMD 都可以授权使用 X86 ISA,但只有天知道它会收取多高的价格。但由于他们希望软件无处不在,因此发布了 X86 ISA,这确实有助于 X86 架构接管数据中心大约十五年。
Sun Microsystems 早在 2006 年就开放了 Sparc ISA,比 Oracle 收购该公司早了几年;而IBM 从 2019 年的 Power8 开始开放了 Power ISA,并一直延续到 Power9 和 Power10。十年前,MIPS 科技(原 Silicon Graphics 的 CPU 分拆公司)开放了其 ISA,试图挽救它;现在,MIPS 在作为 Imagination Engineering 和 Wave Computing 的一部分经历了多次变革之后,正在兜售 RISC-V 核心。
很难说开放 X isa会如何帮助 Xsight Labs 开展业务,因为这在 CPU 上通常不会发生。开放 ISA 是一种倒数第二的举措,RISC-V 和现在用于 X1 和 X2 交换机 ASIC 和 E1 DPU 的 X isa都是在周期的早期完成的。开放 ISA 是一件好事,但我们不知道它会变得多么重要。这完全取决于人们如何使用它。
X 是为什么的函数
我们许多人都在等待看 Xsight Labs 将如何改变数据中心网络,现在我们开始感受到它了。
在某种程度上,这种对重大变化的期待来自于这样一个事实:阿维格多·威伦茨 (Avigdor Willenz) 是该公司的创始投资者。威伦茨创立了 Galileo Technology,这是一家以太网交换机 ASIC 制造商,2001 年以 27 亿美元的价格卖给了 Marvell,这笔财富已经分散了。威伦茨投资了 Annapurna Labs,该公司于 2015 年以 3.5 亿美元的价格卖给了亚马逊网络服务公司 (Amazon Web Services),并创建了 Nitro DPU、Graviton CPU 以及 TrAInium 和 Inferentia AI 引擎。他是分布式闪存块存储制造商 Lightbits Labs 的总裁 (现任董事长) 和第一位投资者。威伦茨是 AI 芯片制造商 Habana Labs 的联合创始人,该公司于 2019 年以 20 亿美元的价格卖给了英特尔,是其 Gaudi 计算引擎系列的基础。
另一个值得期待重大变革的原因是,Guy Koren、Erez Sheizaf 和 Gal Malach 都曾在 EZchip 工作过,EZchip 是一家 DPU 制造商,2016 年被 Mellanox 收购,并因此推出了 BlueField SmartNIC,而后者现在是 Nvidia DPU 战略的核心。他们了解网络和网络处理。该公司拥有近 200 名员工和 40 多名承包商,其中包括来自思科、Mellanox、Broadcom、英特尔等公司的专家。该公司总部位于特拉维夫和圣何塞,在马萨诸塞州比勒里卡和北卡罗来纳州罗利设有开发实验室。
Xsight Labs 已在四轮融资中筹集了 2.81 亿美元,除了 Willenz 之外,投资者还包括英特尔、AMD、微软、Valor Equity Partners、Bessemer Venture Partners、迈克尔戴尔、Accton Technology 和 Fidelity。
正如我们之前所说,我们很惊讶亚马逊还没有收购 Xsight Labs,同样有网络抱负的 AMD 也没有收购。在 2023 年春季完成 1.16 亿美元 D 轮融资后,该公司估值约为 11 亿美元,现在这两家公司收购 Xsight Labs 的成本应该不会太高。也许 AWS 成为客户、AMD 推荐 Xsight Labs 经销商会更便宜。...
X 标记点
让我们深入研究一下这项技术,它将揭示为什么开放 ISA 对于推动 Xsight Labs 的 X1、X2 和未来 X3 芯片的采用非常重要。
首先,我们需要比较和对比交换机 ASIC 的编程水平。如上图所示,过去的交换机 ASIC 在其数据包处理器中具有固定管道,这些管道通常由向外界提供信号的 SerDes 包裹。随着时间的推移,交换机(和路由器)ASIC 增加了越来越多的可编程性,主要是因为我们已经被 CPU 的绝对可编程性宠坏了。
Xsight Labs 首席技术官 Gal Malach 向The Next Platform表示:“我们的愿景是软件定义——一切都是真正的软件定义和真正开放的。现在很多焦点都集中在 X2 及其完整的编程能力上,这与市场上的其他产品不同。”
Malach 向我们展示了这张图表来区分,这也是我们期望从 Barefoot Networks 和 Tofino 身上看到的东西:
然后他给出了这样的解释:
“对于具有固定管道的交换机 ASIC,逻辑管道由硬件管道定义,因此灵活性不高。您确实有一些配置,这是硅片供应商为您开放的。如果没有,那就没有。在大多数情况下,资源都与特定阶段相关联。因此,您无法灵活地在不同阶段使用一种资源。在大多数情况下,您有一个单独的入口和出口管道,这意味着您可以将一些元数据和信息从一个管道传递到另一个管道。”
“在中间,我将其称为映射管道,这就像 Tofino 用例,其他人会说 Cisco Silicon One 可能也属于这一类。在这里,你仍然有一个管道。它是管道的超集,具有许多许多功能和许多许多资源。但同样,资源附加到管道内的阶段。现在,以 P4 为例,您实际上可以定义逻辑管道,并且有一个编译过程。它们接收逻辑管道并将其映射到物理管道上,效果很好。它为您提供了更好的灵活性和更丰富的功能集。但是,当您尝试修复 P4 代码中的错误时,您又编辑了几行,那么映射就不再有效,有时您需要重构整个 P4 程序,因为您在需要它们的地方缺少资源。有时您只是没有足够的资源来进行一些管道折叠,这意味着我们要使用两个管道将它们连接在一起,这意味着该特定应用程序的延迟将加倍,功率将加倍。”
“我们提供完全不同的方法。我们不实施您的管道。我们没有管道。您实际上使用软件来定义您的逻辑管道。因此这里没有限制,因为没有映射。这有点像 X86 处理,因为您有一个指令集和一个内存,您可以以最适合您的应用程序的方式使用资源。因此,所有资源都是完全共享和弹性的。因此,如果您想要更多计数器,请使用 X isa,将内存用于计数器。如果您想要更大的 L3 表,请继续。如果您不需要 L2,则根本不要定义表。您可以控制所有资源,因为这是为应用程序提供服务的最佳方式。一切都是软件定义的 - 表、计数器、条目,显然还有程序,它再次基于我们已经开放的专用指令集。”
X-Switch 芯片硬件有两个主要阶段来创建可编程转发引擎 (PFE):
可编程解析器阶段的作用正如您所想:它读取元数据并分割以太网数据包的数据包头。它就像 CPU 前面的一种 DPU,用于预处理数据包。匹配操作处理器 (MAP) 实际上是数十个数据包处理核心的集合,具有指令内存、暂存器内存和硬件加速器,每个 MAP 核心处理一个数据包从入口到出口的过程。MAP 复合体集成到数据路径单元矩阵中(令人困惑的是也称为 DPU),这些矩阵被接口单元或 IFU 包围,其中包含用于信号传输的以太网 MAC 和 SerDes 块。它是一个大规模并行、可重构的数据包处理引擎。就像可编程数据流引擎与交换机 ASIC 的结合体。
这种可编程性的好处是,用户(而不是交换机供应商)可以调整资源,根据整体应用程序的性质及其延迟需求,决定端口到端口的延迟是 700 纳秒还是 400 纳秒。如果您将更多资源映射到某些类型的数据包并并行运行,则可以减少延迟。就这么简单。就像使用大量 CUDA 核心对 GPU 进行编程一样。
另一件有趣的事情是,Xsight Labs 并不担心超级以太网联盟规范会做什么。因为 X1 和 X2 交换机上的所有操作(我们指的是所有操作)都是通过软件而不是硬件完成的。
“我们甚至在超级以太网规范的第一个版本发布之前就完成了 X2 的流片,”马拉赫笑着说,“因为无论需要什么 - 比如返回发送方、数据包修剪、数据包喷射等等 - 我们所做的一切都是软件定义的。”
它从拥塞感知路由开始,其中包括用户定义的指标(速率、延迟、队列填充或混合)、使用 ECN、CSIG 标签或超大规模器或云构建器已经设计的任何内容在数据平面上发送拥塞信号,以及几种负载平衡,包括基于流程的按序或无序数据包喷射技术,这些技术依赖于端点的 DPU 来使所有数据包恢复顺序。
X2 ASIC 还具有 64 MB 共享内存缓冲区,可帮助实现单个交换机中的网络入播容忍度,并结合使用拥塞遥测和 BCN 消息传递,以防止机架顶部和主干交换机因大流量而淹没交换机。
需要说明的是,UEC 规范中的许多内容已经添加到 X2 软件堆栈中。其中包括数据包修剪(将大数据包切成小数据包以避开交通拥堵,类似于将拖拉机拖车转换为高速公路上的摩托车车队)、返回发送方拥塞信号和自适应数据包喷洒。
那么 Xsight Labs 的硬件情况如何呢?X1 交换机 ASIC 于 2020 年 12 月悄然发布,有三个版本,一个版本的总带宽为 25.6 Tb/秒,两个版本的总带宽为 12.8 Tb/秒。最高端部分有 256 个以 100 Gb/秒运行的 SerDes,中间部分有 128 个以 100 Gb/秒运行的 SerDes,入门级部分有 256 个以 50 Gb/秒运行的 SerDes。(为了避免混淆,我们将后者称为 X0。)最高端的 X1 可以提供 256 个以 100 Gb/秒运行的端口、128 个以 200 Gb/秒运行的端口或 64 个以 400 Gb/秒运行的端口。
12.8 Tb/秒版本的芯片以相同的速度实现了一半的端口数量。我们推测这两款芯片都是采用台湾半导体制造公司的 7 纳米工艺蚀刻而成。据我们所知,这些芯片主要用作开发平台,并未投入量产。
Malach 表示,X2 设备采用台积电的 5 纳米工艺,与最相似的 X1 设备相比,功耗降低了 40%。端口跳数范围从 700 纳秒到 450 纳秒。第一款 X2 芯片提供 12.8 Tb/秒的总带宽,旨在用于机架顶部用例,其中 100 Gb/秒端口向下连接到服务器,800 Gb/秒端口向上连接到叶交换机。
X2 芯片于 2024 年 7 月开始提供样品,并将于 4 月开始与交换机制造商一起发货,白盒交换机制造商 Accton 将率先发货。下图左侧是 Accton X2 交换机,右侧是使用 X2 的 Xsight Labs 开发平台:
Xsight Labs 计划提供以 6.4 Tb/秒、8.0 Tb/秒和 9.6 Tb/秒运行的 X2 版本,以分别提供四个 800 Gb/秒的上行链路和 32 个 200 Gb/秒和 48 个 100 Gb/秒的下行链路。
从下图可以看出,网络中 TOR、叶层和主干层的端到端连接速度达到 400 Gb/秒,计划扩展到 1042.4 Tb/秒的 X2 设备:
据推测,有 25.6 Tb/秒和 51.2 Tb/秒的设备可以作为实现更高总带宽的垫脚石,并且我们推测容量更大的设备具有芯片设计,将 SerDes 从分组引擎中分离出来,也许还会对分组引擎进行模块化,并通过芯片到芯片的互连将它们全部捆绑在一起。
接下来是 Xsight Labs 的 DPU 端点 E1。Malach 说,有了多个 DPU,具有一定数量大脑的 NIC 就会增加一些 CPU 核心,以便在数据路径之外完成辅助工作。有了 E1 DPU,Xsight Labs 就会将 64 个 Arm Neoverse N2 核心直接放在数据路径中。
E1 芯片采用台积电 5 纳米工艺蚀刻,与 X2 交换机芯片一样。以下是 E1 的框图:
当所有 64 个内核都激活时,E1 DPU 的功耗约为 90 瓦,并具有 32 MB 的 L2 缓存和四个 DDR5 内存通道。内核和内存只有一半的版本功耗约为 65 瓦。
把它视为您自己的 Nitro 卡。...
E1 可以实现两个 400 Gb/秒端口、四个 200 Gb/秒端口或八个 100 Gb/秒端口,并且可以不加修改地运行 Debian 和 Ubuntu Linux 以及 Microsoft 的 SONiC 网络操作系统。这很合理,因为它实际上只是一台小型 Arm 服务器,上面有一些以太网端口和网络加速器。
https://www.nextplatform.com/2025/03/25/upstart-xsight-labs-raises-up-the-programmable-switch-banner-high/关注全球半导体产业动向与趋势
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第4076期内容,欢迎关注。
『半导体第一垂直媒体』
来源:半导体行业观察