要说造芯这件事,不仅手机和汽车厂商热衷于此,如今服务器厂商也纷纷投入自研大军中来,无论是国内的阿里云,还是国外的亚马逊,在收购一大批芯片设计厂商网罗了一众芯片设计精锐后,也开始推出基于自己芯片的服务器,所用工艺也已经升级到了7nm和5nm。
此外,第三方服务器芯片厂商也顺势发力,打算为这些云服务厂商提供更高的吸引力,而不是让他们整天想着节省成本用自研方案替换掉自己的产品。好在大部分云服务厂商自研的芯片主要还是集中在AI加速芯片和网络芯片这一块,CPU很大一部分仍是第三方的地盘。而在第三方的CPU设计中,我们可以看到多核已经成了当下的主流方案。
多核云端更吃香?
首先我们来看最常见也最直接的一种提升性能方式,堆核心。这种操作我们已经在消费芯片或是各个电子产品的宣传术语中听得耳朵生茧了,且向来都是一种相当有效的性能提升方式。尽管则对芯片的面积限制较大,但不可否认的是,在对面积没那么看重的服务器市场上,走多核路线的芯片厂商越来越多。
Ampere Computing的Ampere Altra应该是国内出货量最高的Arm服务器CPU系列了,这款最高128核的处理器已经在不少云服务的实例上亮相。Ampere Computing与微软Azure和Oracle Cloud达成了合作,在中国不仅拥有阿里云、腾讯云、京东云和UCloud这些公有云客户,百度、美团和字节跳动等公司也在使用其产品。
Ampere Altra Max封装 / Ampere Computing
再来看看英伟达的Arm CPU Grace,虽然采用了Arm的Neoverse参考设计,但英伟达同样选了144核的多核心设计,那么为何多核在服务器上如此吃香呢?我们上面也提到了Ampere Altra在中国收获了不小的市场,其实归根结底就是其多核心数的功劳。
国内使用公有云的用户数远超国外,对于云服务厂商来说,这种多核处理器意味着可以将单服务器切分为更多的vCPU,也就意味着更多的可用实例。这还没完,以Ampere Altra为例,每个核心上只运行单个线程,这样即便多用户同时使用下,依然能够维持稳定的性能。
Ampere 处理器路线图 / Ampere Computing
值得一提的是,Ampere近期发布了自研5nm处理器,Ampere One,一个基于自研Arm核心的服务器处理器。这对于其他厂商来说或许无法实现,但Ampere作为Arm架构的授权商,是可以像高通、华为和苹果等厂商一样,开发定制自己的Arm核心的。
也或许是因为这次终于没有继续沿用Arm Neoverse N1或N2这样的参考设计,Ampere才将这一产品命名为Ampere One。Ampere并没有公布这一产品的核心数,但从现有产品最小核心数也有32核的设计,以及Ampere One实物图与Ampere Altra Max近似的封装来推断,这一新品追求的必然是更高性能的云原生应用,而不是面向只需较低核心数就能满足需求的边缘计算市场。
服务器AI芯片靠数量和能耗制胜
与处理器芯片处理通用计算的多核策略不同,AI芯片的多核主要还是提高AI计算效率,而且单核能效比和单位面积效率往往高于传统的处理器架构,导致核心数更多。以打造千核RISC-V AI芯片的Esperanto为例,其ET-SoC-1芯片基于台积电7nm打造,集成了1092个RISC-V核心。
ET-SoC-1芯片 / Esperanto
但就是这样一个千核芯片,却可以做到20W以内的功耗和570mm2的die size。正因如此,即便单个ET-SoC-1的算力不及英伟达A100这类GPU,也可以凭借多块芯片组成的AI加速器板卡来实现同等的性能,甚至低上一大截的功耗。
对于依赖阵列乘法器这类专用硬件和少量CPU核心的芯片,一旦问题不能完全由专用硬件解决,就会把任务交给有限的通用CPU核心。而Esperanto的ET-SoC-1方案中,上千颗通用RISC-V核心带来的完全并行可以显著加快执行速度。何况哪怕相较于5nm而言,7nm的能效比也还是非常优异的,所以更适合这类超多核心数的设计,也更符合数字中心的低碳设计理念。
结语
有的读者可能会有疑惑,既然多核能给服务器芯片带来显著的提升,为何英特尔或AMD这些x86服务器芯片厂商不设计百核以上的架构呢?这就与CISC与RISC架构的差异有关了,哪怕在同等工艺和同等核心数下,x86芯片的die size也绝对要大于Arm和RISC-V芯片,而随着die size的增加,芯片的良率也会一并减少。再者就是多核下的并行问题了,一些通用计算任务在多核下的并行执行效率并不高,而且会大幅提升复杂性。