AWS重塑未来:芯片进化加速底层技术创新

浮点性能提高2倍、每秒数据包转发性能提升50%、提供高达4倍的吞吐量……这是亚马逊云科技部分EC2实例一次迭代带来的性能提升。这些远超普通产品迭代的进步背后,是亚马逊云科技不断进步的自研芯片技术实力。

在2022 re:Invent全球大会上,亚马逊云科技用英国著名探险家斯科特船长和挪威船长阿蒙森挑战南极点的故事,说明了自研芯片的重要性,并宣布推出了三种新的自研芯片:第五代虚拟化芯片Amazon Nitro v5、Amazon Graviton3E处理器、Amazon Inferentia2机器学习加速推理芯片,并带来了由新的自研芯片支持的三种实例:Hpc7g、C7gn以及Inf2。

三款新的自研芯片,分属于亚马逊云科技自研芯片的三个主要方向:构成云服务技术底层核心的虚拟化芯片Nitro、用于应对多种工作负载的ARM架构CPU,以及用于机器学习和人工智能的专用加速芯片。可以说,在经过十年的持续投入后,亚马逊云科技的自研芯片正在不断结出硕果,支撑其不断降低成本,实现更高的性能和可扩展性。

2013年的尝试:Amazon Nitro

在IaaS市场,性价比就是核心竞争力。云服务商一直致力于降低服务成本提升性价比,在计算平台基本一致的情况下,降低底层虚拟化的资源消耗成为了关键。

亚马逊云科技在早期使用定制版的Xen作为虚拟化管理程序,虚拟化本身的性能消耗制约了服务能力的提升。从2013年开始,亚马逊云科技尝试将网络、存储、虚拟化管理等卸载到专用系统上,以让EC2实例提供尽可能接近裸机的体验和性能。而这个承载底层服务的系统,就是Amazon Nitro。

2017年,亚马逊云科技发布第三代Amazon Nitro系统,并首次使用自研专用芯片,将功能从软件转移到硬件,把服务器性能完全通过全新的虚拟化技术解放出来,消除服务器虚拟化性能损耗,用户可获取全部物理服务器资源。

经过10年的发展,Amazon Nitro系统已经成为了业界领先的云服务器虚拟化引擎。其采用独立模块运行轻量级的Hypervisor,可以将虚拟化的性能损耗降低到1%,同时提供硬件级别的安全机制,实现网络、存储隔离的独立安全通道,在数据传输的所有环节都可以实现硬件级别加密。如今,Amazon Nitro架构已经成为Amazon EC2所有实例的基础支撑。

Amazon Nitro系统的创新之处在于将架构演进与技术复杂性进行了解耦,这与软件架构云原生化的概念颇为类似。功能细分、内容封装、接口标准化,这一套操作可以将复杂的、高耦合的系统,拆解为低耦合、结构化的系统。Amazon Nitro系统独立承接了大量虚拟化及管理调度的底层工作,从而大大降低了云服务系统的复杂性,提升了服务的可扩展性和灵活性。

在Amazon Nitro系统出现之后,亚马逊云科技推出EC2新实例其实可以拆分成两个部分:资源平台的更新和虚拟化系统的更新,两部分彼此解耦降低了EC2实例更新的复杂度。一个最直观的结果就是,在2016年之前EC2实例的类型增长都比较平缓,而从2017年开始EC2实例类型出现了爆发性增长,到现在亚马逊云科技可以提供超过600种EC2实例。

2015年的成功收购:Annapurna Labs

将虚拟化底层架构硬件化,离不开专用硬件的支持。Amazon Nitro系统最初采用了通用芯片搭建硬件平台,后续基于性价比的考虑逐渐转向专业定制芯片。在这个过程中,2015年收购Annapurna Labs成为了关键事件。

2015年,亚马逊云科技花费3.5亿美元收购了以色列芯片公司Annapurna Labs,后者承担了亚马逊云科技自研芯片的重任。经过两年的合作开发,在2017年推出了第一代成熟的Nitro芯片。亚马逊云科技的实例数量在2017年之后大幅增加,采用自主专用芯片的Amazon Nitro系统功不可没。

依托Annapurna Labs的持续创新,亚马逊云科技已经形成了三条自研芯片的产品线:虚拟化定制芯片Nitro、基于ARM 架构的通用处理器芯片Graviton、用于机器学习的训练和推理的Trainium芯片和Inferentia芯片。定制化的芯片设计可以应对更高的工作负载要求,包括更快的处理速度、更高的内存容量、更快的存储输入/输出(I/O)和更高的网络带宽。

(一)Nitro:支撑虚拟化基础

截至目前,亚马逊云科技已经推出了5代Nitro,每一代都在刷新延迟、吞吐量、每秒数据包处理等指标。初代的Nitro只能提供10Gbps的网络吞吐量和每秒120万的包转发能力,第四代Nitro的网络性能已经提高到100Gbps,每秒转发1500万个数据包。

此次新发布的Nitro v5芯片,晶体管数量大约是上一代Nitro芯片的两倍,提供了更高的计算性能,同时带来50%的内存性能提升和2倍的PCle带宽提升。相比上一代产品,其每秒数据包能力提高60%,延迟减少30%,每瓦特性能提升40%。

(二)Graviton:强化通用计算

ARM架构CPU在单核性能方面相比x86架构CPU仍有差距,不过其低成本、高核心密度的特点在高计算密度领域优势明显。加上ARM架构开放的特性,使得越来越多的大型云服务商选择基于ARM架构开发自研CPU。

2018年,亚马逊云科技推出其首款ARM架构CPU芯片Amazon Graviton。2019年又推出了7nm工艺的Amazon Graviton2,相比同时代的x86处理器,基于Amazon Graviton2的同规格实例性能高40%,成本却低20%。Amazon Graviton2的推出,标志着亚马逊的ARM架构自研处理器进入规模化应用阶段。

2021年,亚马逊云科技推出了第三代ARM架构CPU芯片Graviton3。Amazon Graviton3采用5nm工艺,拥有64个核心、配备了DDR5内存,支持PCIe 5.0接口,相比Graviton 2浮点性能提高2倍,加密性能提高2倍,机器学习工作负载性能提高3倍。在同样性能下,Amazon Graviton3与x86实例相比可节省60%的能耗。

最新推出的Graviton 3E同属于Graviton 3家族,但是专门为浮点和向量指令运算进行优化,尤其适合高性能计算工作负载。相比于Graviton 3实例,Graviton3E在HPL(线性代数的测量工具)上性能提升35%,在GROMACS(分子运动)上性能提升12%,在金融期权定价的工作负载上性能提升30%。

目前,亚马逊云科技已经有20多种托管服务运行在Graviton平台上,其中就包括用户经常使用到的Amazon RDS、Amazon Aurora、Amazon ElastiCache、MemoryDB、Amazon OpenSearch、Amazon EMR、Amazon EKS和Amazon Lambda等。

(三)Trainium/Inferentia:加速机器学习

机器学习包括两个主要方向:一个是训练,也就是创建模型并训练迭代;一个是推理,是使用训练后的模型来进行预测推理判断。针对这两个方面,亚马逊云科技推出了自研芯片的第三条产品线:机器学习芯片,包括用于训练的Trainium和用于推理的Inferentia。

亚马逊云科技选择推出机器学习芯片,主要是为了满足人工智能技术飞速发展,对大规模训练和预测模型的需求。传统的机器学习芯片性能提升,已经无法跟上模型复杂度的提升幅度,只能通过分布式多处理器方式,将一个模型通过网络协同计算来处理,这对网络性能和存储性能提出来更高的要求。

亚马逊云科技在2022年10月份推出了Trn1实例,最多可以搭载16颗Trainium1芯片,提供512GB的高带宽内存和800Gbps的网络带宽,其在训练具备万亿级参数的大模型GPT3时可以降低1/4的资源消耗。而基于自研推理芯片Inferentia1的Inf1实例,和GPU实例相比每次推理成本可以降低70%。

在2022 re:Invent全球大会上推出了Inferentia2芯片和Inf2实例。Inf2实例专门针对大型transformer模型的分布式推理,和Inf1实例相比每瓦性能提升45%,吞吐量提升4倍,延时只有1/10,支持GPT-3、Mask R-CNN、VIT等超大型复杂模型。

三、芯片支撑实例性能全面提升

(一)C7gn实例

配备了新一代Nitro V5和Graviton 3E的Amazon EC2 C7gn实例,具有高网络带宽和数据包处理性能,而且功耗更低。与当前一代网络优化型实例相比,C7gn实例可以提供200Gbps的网络带宽,提高50%的数据包处理性能,最适合网络密集型工作负载,如网络虚拟化设备(包括防火墙、虚拟路由器和负载均衡器等)和数据加密业务等。

(二)Hpc7g实例

Amazon EC2 Hpc7g实例采用了Amazon Graviton3E芯片,与前一代Amazon EC2 C6gn实例相比,浮点性能提高了2倍;与前一代Amazon EC2 Hpc6a实例相比,性能提高了20%。

(三)Inf2实例

Amazon EC2 Inf2实例面向大型Transformer模型分布式推理建立的实例,可以运行多达1750亿个参数的大型深度学习模型。与前一代的Inf1实例相比,可提供4倍的吞吐量,降低10倍延迟;与基于GPU的实例相比,每瓦性能提升高达45%。Inf2实例支持GPT-3、Mask-RCNN、ViT等大型复杂模型,且成本更优,延迟更低。

写在最后

在数字化时代,云计算是社会数字化转型的核心基础设施,而硬件芯片则是云计算基础设施的基石。包括亚马逊、谷歌、微软、阿里、华为在内,目前主要的云服务商基本上都已经结合自身的业务特点,推出了定制化的自研芯片。当云计算的业务规模足以支撑芯片迭代后,自研芯片就成为了云计算持续创新的核心引擎,不断加速云计算服务的迭代。根据业务明确需求,根据需求定制开发,再用更聚焦的特性支撑业务,自研芯片正在逐步完善云计算基础设施的基石。

更高的可控性、更高的安全性、更高的灵活性、更高的性价比,对于持续引领云计算产业发展的亚马逊云科技来说,经过十年努力构建的完整自研芯片体系,成为其加速云计算底层技术创新的重要动力来源。