为什么DPU那么火?

2021-11-25 14:00:11 来源: 半导体行业观察

来源:内容由半导体行业观察 (ID:icbank) 编译自 theregister ,谢谢。


英特尔最近关于基础设施处理单元 (IPU) 的介绍促使我们重新审视如何在计算系统中划分功能的话题。

正如我们在之前的一篇文章中所说,开发者试图从通用 CPU 向更专业的 NIC 卸载负载已经有了多年的历史,他们在更高度专业化的卸载之间也进行了同样漫长的斗争。

IPU 只是一系列通用卸载引擎中的最新产品,我们现在看到了非常多样化的选择集,不仅来自英特尔,还来自其他公司,例如 Nvidia 、Marvell和Pensando,在中国也涌现出来云豹智能、云脉芯联、中科驭数、芯启源、大禹智芯、星云智联以及包括云供应商在内的一大堆厂商、后面的这些公司使用术语 DPU(数据处理单元),但他们达成的共识似乎是这些设备解决同一类问题。

在这个期间,发生了几件有趣的事情。

首先,人们逐渐达成共识,即通用 x86(或 Arm)服务器不再是运行云基础设施功能的最佳场所。“基础设施功能”是指运行多租户云所需的所有东西,例如管理程序、网络虚拟化、存储服务等实际上不是guest工作负载:。

虽然服务器曾经是guest工作负载和基础设施服务的所在地,但这些功能越来越被视为“overhead”,它们只会占用guest的周期。一篇经常被引用的论文是 Facebook 的Accelerometer研究,该研究测量了 Facebook 数据中心内高达 80% 的开销,尽管这可能无法推广到所有云提供商。谷歌在 2015 年也有一个相关报道:

“Datacenter tax”可占周期的近 30% [...],这使其成为未来服务器片上系统硬件专业化的主要候选者。

亚马逊网络服务大概也看到了同样的问题,为此他们削减了创收工作负载,并在 2015 年收购Annapurna Labs时开始将专用硬件用于基础设施服务,为其Nitro架构奠定基础。其做法是将几乎所有基础设施服务从服务器中移出,让它们可以自由地运行guest工作负载,而几乎没有其他功能。

一旦您决定将某个功能从通用 CPU 复合体中移出到某种卸载引擎中,剩下的问题就是如何保持适当的灵活性。这些卸载的功能不是静态的,因此将它们放入固定功能的硬件中将是一种短视的举动。

这就是为什么我们看到近年来 NIC 从固定功能卸载(例如 TCP 分段)转向更灵活的 SmartNIC 架构的原因。因此,我们的目标是构建一个卸载系统,该系统比通用 CPU 更针对性地对卸载服务进行优化,但仍具有足够的可编程性以支持卸载服务的创新和演进。

英特尔的 IPU 家族包含多个进产品,它们采用不同的方法来提供这种灵活性,包括基于 FPGA 和基于 ASIC 的版本。他们的Mount Evans ASIC是一款特别有趣的产品,因为它包括了ARM的CPU核心和可编程网络硬件(源自Barefoot Networks 团队),后者还支持P4可编程。

这是我们深切关注的主题,因为 P4 工具链是我们在SDN 书中所写的大部分技术的核心。

将 P4 可编程交换机放在 IPU/DPU 中很有意义,因为可能被卸载的网络功能包括虚拟交换机的功能。我们在 Nicira 以及后来在 VMware 的 NSX 团队中学到的一件事是,如果您想将 vswitch 移至卸载引擎,该引擎需要完全可编程。

如果 NIC 不够通用,无法实现整个 vswitch,则只能将 vswitch 功能的某些子集移至卸载引擎。即使您可以移动 90% 的功能,剩下的 10% 必须在 CPU 中继续执行,这也可能会成为瓶颈。

因此,基于协议独立交换架构 ( PISA )的 P4 可编程卸载引擎提供了所需级别的灵活性和可编程性,它让卸载整个 vswitch 成为可能。将其与其他一些可编程硬件(例如 Arm 内核)结合使用,您可以看到整套基础设施功能,包括管理程序、存储虚拟化等是如何卸载到 IPU 的。


查看最新一代 DPU/IPU 的一种方式是,SDN 移动创造更多可编程交换机的努力已在新领域实现了创新。

SDN 最初承诺通过将交换硬件与控制它的软件解耦来推动控制平面创新。网络虚拟化是 SDN 最早起飞的应用场景之一,它具有控制平面和数据平面的分离以及高度灵活的软件交换机,使网络能够完全在软件中创建(在基于硬件的底层之上)。

PISA 和 P4 导致了一种更灵活的交换硬件形式和一种定义硬件-软件接口的新方法(改进了 OpenFlow 的早期努力)。所有这些线程——控制平面创新、网络虚拟化和灵活、可编程的交换机硬件——现在都被整合到 IPU 和 DPU 中。

我们还可以将 IPU/DPU 的发展视为处理器既高度灵活又专用于某些任务的趋势的延续。

GPU 和 TPU 非常灵活,可用于从加密挖掘到机器学习再到图形处理的所有领域,但与 CPU 相比仍然非常专业。(在我们有 PISA 和 P4 之前的时代,GPU 甚至用于数据包处理。)

DPU 和 IPU 现在似乎已经确立为一种新的高度可编程设备类别,它们针对需要在现代云数据中心执行的一组特定任务进行了优化。更高的专业化带来更高的效率,而灵活性仍然足以支持未来的创新。


★ 点击文末 【阅读原文】 ,可查看本文原文链接!


*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。


今天是《半导体行业观察》为您分享的第2869内容,欢迎关注。

推荐阅读


代工双雄如何走向3nm?

FPGA市场再起波澜

AMD会成为最强搅局者吗


半导体行业观察

半导体第一垂直媒体

实时 专业 原创 深度


识别二维码 ,回复下方关键词,阅读更多

晶圆|集成电路|设备 |汽车芯片|存储|台积电|AI|封装

回复 投稿 ,看《如何成为“半导体行业观察”的一员 》

回复 搜索 ,还能轻松找到其他你感兴趣的文章!


点击阅读原文,可查看本文
原文链接!


责任编辑:Sophie

相关文章

半导体行业观察
摩尔芯闻

热门评论