8月19日,英特尔举办了一年一度的架构日(Intel Architecture Day 2021)。在这场两个多小时的活动里,英特尔详细分享了包括Alder Lake SoC, Sapphire Rapids、Xe HPG GPU、Ponte Vecchio、Mount Evans等等一系列芯片和系统的架构细节,同时也深入介绍了包括AMX、XeSS、oneAPI等指令集和软件框架的最新进展。

 

从2018年英特尔第一次举办架构日至今,这就是我每年必追的重要技术活动,因为它能从架构师的视角,带我们深入探究这些驱动下一代技术革新的最新进展,而不是单纯的进行产品发布,这也能极大地帮助我们提升视野,并从中看清未来技术发展的大方向。

 

总体来说,这次的架构日发布的11个技术内容可以分成三个大类,分别是客户端CPU、数据中心CPU和IPU、以及横跨客户端和数据中心应用场景的GPU。在上篇文章中,我们聊了客户端CPU Alder Lake、还有最新的能效核+性能核混合架构。这篇文章我们继续来看数据中心相关的芯片架构,包括Sapphire Rapids和Mount Evans,这也是我最关注的内容。

 

1、数据中心芯片 – 皇冠上的宝石

关于数据中心的重要意义,在之前的文章和视频里已经说过太多次了,但是仍然值得再说很多次。和客户端业务相比,数据中心业务承载着英特尔战略转型的重任,也是驱动英特尔业务进一步发展的动力之源。特别是在数据爆炸的时代,每天都会产生太多数据,而这里面只有不到2%被进行了有效处理。这对于各家科技公司来说,既是巨大的机遇、也是严峻的挑战。

 

我们可以看到,最近几年国内外的巨头科技公司都在纷纷往企业级业务或云端转型。云计算相关的业务也已经成为了亚马逊、微软、谷歌等互联网和软件公司的最主要的增长引擎,同时国内的科技和互联网公司也在纷纷加码云服务。

 

同样的,对于芯片公司来说,英特尔、AMD、英伟达等也都在全力扩展数据中心芯片的产品组合,其中不仅包括数据中心CPU,还有针对数据中心打造的GPU、各种专用的硬件加速单元,以及基于FPGA的加速卡等等。可以说,当前的数据中心芯片和硬件领域是百花齐放、百家争鸣的状态,各种架构和技术层出不穷。

 

在这次英特尔架构日活动上,英特尔就发布了下一代至强可扩展处理器,代号为Sapphire Rapids,以及数据中心基础设施处理器(IPU)Mount Evans,还有两款基于FPGA的数据中心加速平台。接下来我们就一起来看一下这些芯片的架构细节。

 

 

2、Sapphire Rapids:数据中心处理器的新标杆?

最近几年,我们能很明显地感受到英特尔提升了数据中心处理器的研发进程。在上半年,英特尔刚发布了代号为Ice Lake的第三代至强可扩展处理器。它基于英特尔10纳米工艺进行打造,采用了Sunny Cove微架构,单芯片最多集成40个核心,IPC提升了20%。

 

而这些架构日上介绍的Sapphire Rapids,将基于Intel 7工艺制造,并会将性能再次提升到一个新的台阶。值得注意的是,这里所说的性能不仅仅指单个节点,也指多个节点结合在一起的数据中心整体性能。

 

Sapphire Rapids和Ice Lake最大的区别,就是它会采用多芯片封装的结构,并且使用EMIB技术进行互联和通信。和Ice Lake的单硅片架构相比,多芯片封装可以大大提升系统的可扩展性,比如内核数量、IO、缓存和存储单元的容量,都可以直接进行扩展,这一点也符合现在业界技术发展的主要趋势。

 

 

更进一步,Sapphire Rapids里封装的每个计算单元,也都采用了模块化的设计方法,这个和前面介绍过的桌面级CPU Alder Lake有着类似的思路。这些模块有三种主要的类型,分别是计算、IO和存储。比如计算模块就包含这次新发布的高性能核,以及针对数据中心里越来越常见的硬件加速引擎;IO模块包含对于多种互联协议的支持,如PCIe 5.0、UPI 2.0、以及缓存一致性标准CXL1.1;存储模块则包含HBM、傲腾持久内存、DDR5等等。

 

 

Sapphire Rapids采用了本次架构日上全新发布的高性能核(Golden Cove),并且针对数据中心应用做了深度优化。比如在典型的数据中心应用里,往往有着极大的代码量和复杂的依赖关系,此时CPU的前端就成了制约性能的主要瓶颈,所以性能核的前端就对此进行了重新设计。

 

现代CPU的设计思路是通用性能提升和特定场景优化的结合。Sapphire Rapids就进一步提升了针对人工智能应用的专用优化,比如采用了上篇文章介绍过的先进矩阵扩展技术AMX,就能加速矩阵运算、特别是矩阵乘法的性能。根据英特尔的数据,AMX可以实现每周期2048个INT8运算和1024个bfloat16运算,这比基于AVX-512的版本性能提升了7倍以上。

 

 

此外,Sapphire Rapids还引入了名为加速器接口架构指令集(Accelerator interfacing Architecture – AiA)的技术,可以在用户态对硬件加速器实现更有效的调度、同步和信号传递,而无需经过内核态。这个思路非常类似DPDK这个专门进行高速数据包处理的软件框架,它也是跳过了内核态,直接在用户态进行数据包处理,从而尽可能避免不必要的数据搬运和中断带来的性能损失。

 

除了指令集的优化外,Sapphire Rapids还采用了多种针对数据中心特定应用的硬件加速单元。比如针对数据流处理的加速引擎(Data Stream Acceleration - DSA),可以将数据中心常见的OvS(Open virtual Switch)应用的CPU占用率降低40%,并且将性能提升2.5倍。

 

再比如针对加密和加解压缩的加速引擎,可以从CPU里卸载这类应用,从而将CPU的使用率降低50倍,并且将压缩速度提升22倍。如果使用偏重通用计算的性能核完成这些功能并且达到相同的性能,则需要超过1000个内核才行,而这也正是这些硬件加速单元存在的最大意义。

 

 

Sapphire Rapids无论是从芯片的封装、工艺,还是计算存储互联的微架构,都进行了大幅升级和改进。作为英特尔下一代的至强可扩展处理器,Sapphire Rapids将是英特尔数据中心业务的重要基石,我们也会对它的实际表现拭目以待。 

 

3、云数据中心的架构变革

除了数据中心CPU的架构升级之外,数据中心本身的架构也在不断的变化着,我们不妨简单回顾一下数据中心基本架构的发展历程。

 

传统的数据中心架构都是以CPU为主,并且通过传统的网卡与数据中心网络相连接。CPU周围,或者说单台服务器里也会挂载硬盘、SSD之类的存储设备。随着数据中心规模的不断扩展,网络速度不断提升,从五年前的10GbE,逐渐发展到2x25GbE、2x50GbE,再到目前正在发展中的2x100GbE。

 

除了网络之外,计算和存储的应用也在变得越来越复杂,比如前面提到的虚拟交换OvS、诸如Virtio这样的虚拟IO协议,还有RDMA、NVMe这样的传输层和存储协议等等,都正在渐渐成为数据中心的主流技术,它们也构成了当前数据中心的主要基础设施架构。

 

传统数据中心架构

 

当这些技术刚刚出现的时候,都是使用软件+CPU的方式来执行其功能或服务的。但是慢慢的人们也发现,单纯使用CPU来执行这些应用不是不行,但是却有很多问题。最主要的问题有两个,一个是性能,另外一个就是经济。

 

从性能的角度来看,CPU设计的主要目的是通用计算,特别是和控制相关的应用。相比之下,网络和存储的应用追求的是低延时、高吞吐量,这些并不是传统CPU擅长的领域。

 

所以为了解决这个问题,人们一方面在不断优化数据中心CPU对这些应用的支持,比如前面介绍的Sapphire Rapids里对高吞吐量应用的优化,并且提出了一些专用的软件框架,比如DPDK和SPDK,用于加速对网络数据包和存储应用的处理。另一方面,业界也直接引入了诸如FPGA这种更灵活、可定制的硬件加速单元,来直接卸载和加速这些CPU不擅长的应用。

 

另外一个同等重要的问题,就是经济方面的考虑。由于CPU的内核资源有限,一旦它们被用来执行这些数据中心基础设施应用,就无法拿来承载更多客户应用了。对于很多云服务提供商来说这显然是非常不合算的,因为他们的主要盈利模式就是靠出租CPU给客户、并且以CPU内核数量计费,而客户肯定不想为自己没有使用的内核付钱。所以这些云服务提供商就格外期待能将更多的CPU内核解放出来,再卖给客户。

 

这两方面的考虑,就奠定了数据中心基础设施处理器IPU的应用价值。关于IPU这个名字,很多公司也有不同的叫法,这个其实并不重要。重要的是其实并不是某一个芯片,而是指代一类芯片和硬件产品。

 

比如这次架构日英特尔推出的代号为Mount Evans的ASIC IPU、以及基于FPGA的Oak Springs Canyon及Arrow Creek,都是广义上IPU的一种。它们的主要作用,都是用来进行数据中心基础设施应用或服务的卸载和加速,释放宝贵的CPU内核资源,简化数据中心架构设计,同时能够有效把云服务基础设施应用以及各个租户自己的应用区隔开来,在提升性能的同时增加安全性和可靠性。

 

 

接下来我们就继续深入看一下这次架构日披露的三款IPU。

 

4、英特尔首个ASIC IPU   Mount Evans

放眼目前整个数据中心加速器市场,主要有两种实现形式,一个种基于FPGA,这种占目前方案的大多数,另外一种就是基于ASIC、也就是专用芯片的方案,而这次发布的Mount Evans就属于后者。

 

作为英特尔首款ASIC IPU,Mount Evans的设计目标非常明确,就是全力优化性能和功耗,同时保证一定程度的可编程性。从芯片的架构图来看,这一思路也体现得非常明显。

 

Mount Evans的芯片架构分成两个主要部分,左侧主要负责网络和存储应用的加速,右侧负责计算和控制。可以看到,前面提到的那些数据中心基础设施功能,包括RDMA、NVMe、数据包处理、服务质量控制、流量整形、还有像IPSec这样的安全性应用等等,Mount Evans都有专门的硬件加速单元。此外它还支持200GbE、16通道PCIe 4.0,并支持SR-IOV这些常见的虚拟化功能。

 

 

更让我感兴趣的是Mount Evans的可编程性。它使用了高达16个ARM Neoverse N1内核,除了支持DPDK和SPDK这些高性能编程框架之外,还支持P4语言对数据面进行编程,这个是我一直期望看到的集成创新。

 

P4语言是Barefoot公司创始人Nick McKeown在斯坦福与普林斯顿大学、英特尔、谷歌、微软等公司联合设计的新型编程语言,专门用来对网络交换的数据面进行编程。2019年,英特尔收购了Barefoot公司,今年Nick McKeown教授也从斯坦福正式加入英特尔,负责领导网络和边缘计算部门。

 

 

P4语言在过去几年里一直是网络交换和SDN领域非常火的一大方向,很多公司都在自家的网络产品里加入了对P4语言的支持。所以这次Mount Evans支持P4也算是众望所归。

 

5、基于Agilex FPGA的IPU平台

本次架构日还发布了两个基于Agilex FPGA的IPU板卡。一个是针对云服务提供商设计的Oak Springs Canyon。它是目前已经出货的基于Stratix10 FPGA的IPU – Big Springs Canyon的下一代产品,客户包括了微软、百度、京东、VMware等云计算领域的关键玩家们。和Mount Evans类似,它也支持2x100GbE、PCIe 4.0x16接口,可以用来加速OVS、NVMe、加解密等等这些数据中心基础设施应用。

 

 

Oak Springs Canyon在板卡上还集成了一个Xeon-D CPU,和基于ARM的IPU相比,可以提供原生x86编程模型的支持,也就是可以把一些原本在服务器至强CPU里运行的程序,特别是对性能要求不太苛刻的控制应用,直接卸载到这个Xeon-D里执行,而无需进行程序改写。

 

另外一个FPGA IPU代号为Arrow Creek,它是针对电信网络数据中心设计的加速产品,可以看出它是个全高半长的PCIe加速卡,使用被动散热的方式,主要用来加速通信网络的一些常见的基础设施功能,特别是虚拟网络功能,比如交换、路由、防火墙等等。这些都是网络功能虚拟化场景里的重要功能。

 

 

小结

数据中心架构的变革,既离不开数据中心CPU的不断进化,也离不开整体架构设计思路的更新换代。至少在目前,高性能CPU+高性能硬件加速单元这种组合,仍是现代数据中心的主要架构思路。包括Sapphire Rapids、Mount Evans,还有基于FPGA的加速卡IPU,都是对这种设计思路很好的体现。

 

在下篇文章中,我会继续解读英特尔2021架构日发布的GPU芯片和软件技术,包括Xe HPG、XeSS,还有压轴大戏 – 英特尔历史上开发的最复杂芯片,集成千亿晶体管的Ponte Vecchio,谢谢关注。

 

(注:本文仅代表作者个人观点,与任职单位无关。)