亚马逊Graviton:云工作负载的最佳性价比
关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, Graviton, Cloud Workloads, Price Performance, Graviton Processors, Arm Architecture, Energy Efficiency]
导读
基于亚马逊云科技 Graviton的Amazon EC2实例为Amazon EC2中的工作负载提供了最佳的性价比。在本次会议中,我们将深入探讨亚马逊云科技 Graviton处理器,了解其工作负载性能、能源效率和软件产品。您将学习常见的使用场景、针对各种应用优化工作负载的最佳实践,了解客户成功案例,以及如何加速您的亚马逊云科技 Graviton之旅。
演讲精华
以下是小编为您整理的本次演讲的精华。
在2024年亚马逊云科技 re:Invent大会上,一场题为“Amazon Graviton:云工作负载的最佳性价比”的精彩会议探讨了亚马逊云科技在开发定制芯片方面的历程,以及Graviton处理器系列的卓越能力。亚马逊云科技的EC2核心计算产品产品经理Sudhi Galman与亚马逊云科技高级首席工程师Ali Saeidi以及来自Robinhood Markets的特邀客户演讲者Sudjet Catacom一同登台。
Sudhi Galman首先阐述了亚马逊云科技在过去几年中投资打造定制芯片的历程,涉及数据中心基础设施、核心计算和机器学习等多个领域。自2017年底以来为EC2实例提供动力的亚马逊云科技 Nitro系统由定制的Nitro卡或芯片组成,将存储和网络功能从主处理器中卸载出来,最大化资源效率。此外,亚马逊云科技还开发了Inferentia和Trainium等定制芯片,旨在加速机器学习、深度学习和生成式AI应用程序。
但是,备受瞩目的是Graviton,亚马逊云科技为现代服务器打造的通用芯片,旨在为云中几乎所有工作负载提供最佳性价比。Sudhi深入探讨了亚马逊云科技进军定制芯片开发的原因,包括专业化、创新和安全性。专业化使亚马逊云科技能够引入合适的功能集、优化云用例,并从产品定义到服务器构建和数据中心部署,提高成本和功耗效率。创新使亚马逊云科技能够通过全栈创新,从CPU到服务器、基础设施、虚拟化层和应用层,为客户创造颠覆性价值。最后,Nitro提供了基于硬件的根信任机制,提高了亚马逊云科技服务的安全性。
Graviton的历程始于2018年推出的第一代Graviton芯片,证明应用程序可以在基于ARM的EC2实例上运行。随着每一代的推出,亚马逊云科技不断推进性能、功能和效率的边界。如今,亚马逊云科技已推出第四代Graviton处理器,为EC2提供广泛工作负载的最佳性价比,从应用程序和游戏服务器到媒体编码、高性能计算、大型数据库、分析和基于CPU的机器学习应用程序。
Sudhi详细介绍了每一代Graviton的特点,从2019年推出的Graviton 2开始,它比同类实例提供高达40%的更佳性价比。亚马逊云科技目前提供13种Graviton 2实例类型,涵盖计算、内存、通用、网络、存储优化和GPU附加等多种变体。2021年推出的Graviton 3继续推进性能,计算性能比Graviton 2高25%,浮点性能提高了2倍。Graviton 3还将DDR5内存引入亚马逊云科技数据中心,比DDR4内存带宽高出50%。Graviton 3的架构改进,如矢量宽度加倍、支持BFloat16指令以及利用ARM64生态系统在ML应用程序方面的增强,使客户能够在AI/ML工作负载上获得高达3倍的性能提升,相比Graviton 2。
最新和最强大的Graviton 4处理器在2024年re:Invent大会上首次亮相,拥有50%更多的核心、两倍的L2缓存和75%更高的带宽,相比Graviton 3。每个Graviton 4芯片都比Graviton 3拥有50%更多的核心、两倍的L2缓存和75%更高的带宽。Graviton 4是亚马逊云科技首款支持多套接字一致性的芯片,能够针对更大规模的扩展工作负载,并满足最苛刻的数据库需求。Sudhi重点介绍了由Graviton 4驱动的EC2实例,包括最近推出的第8代计算、内存和通用实例,与Graviton 3相比,计算性能提高了30%,最高可扩展至3TB的DDR5内存。此外,就在re:Invent前几天推出的IM4gn存储优化实例专为延迟敏感和I/O密集型存储应用程序(如事务数据库和分析工作负载)而设计,提供高达22.5TB的本地NVMe实例存储和65%更好的实时存储性能。
Sudhi分享了客户在各种用例中采用Graviton的实例,强调了所获得的性能提升和成本节省。开发大热游戏《堡垒之夜》的Epic Games公司发现Graviton 4是他们测试过的最快实例。IBM Instana Observability提供了对应用程序堆栈的全面可见性,在Graviton 3上已经观察到的节省基础上,IBM在迁移到Graviton 4后又发现CPU利用率提高了30%。去年SAP宣布SAP HANA Cloud已在Graviton实例上上线,现在使用Graviton 4,他们在事务性工作负载上又比Graviton 3用例提高了高达40%。
电子设计自动化(EDA)是设计、测试、验证和制造定制芯片所需的关键工作负载类别。许多半导体公司以及亚马逊云科技都在云端运行这些EDA工作负载。一个用于支持Graviton 4芯片开发的集群快照显示,该集群在大规模运行时需要高性能计算,峰值使用量几乎是正常使用量的5倍。通过提供快速处理能力,Graviton 4使半导体公司和亚马逊云科技能够高效地将EDA工作负载引入云端,缩短上市时间。例如,当ARM为一个正式验证工作负载(EDA工作负载之一)使用新的基于Graviton 4的X2gd实例时,他们看到性能比上一代提高了50%,大大加快了上市时间。
Sudhi强调了令人瞩目的客户动力,95%的前1000名EC2客户都在使用Graviton,而且在过去两年中,亚马逊云科技部署的新计算能力中有超过50%基于Graviton。除了性价比优势外,专注于可持续发展和降低碳足迹的组织也纷纷采用Graviton,因为与其他可比处理器相比,Graviton在计算相同工作负载时能耗低60%。像Pinterest、Zendesk和Aerospike这样的客户通过迁移到Graviton大幅减少了碳排放,Pinterest每个API请求的碳排放量减少了62%,Zendesk每月碳排放量减少了50%,Aerospike的碳排放量减少了49%。
亚马逊云科技高级首席工程师Ali Saeidi登台深入探讨了Graviton 4处理器的架构和性能。他展示了Graviton 4 CPU芯片的视觉表现,包括一个中央计算芯片、四个DDR芯片和两个PCIe芯片,总共7个芯片组成。Graviton 4将每个芯片的CPU核心数量增加了50%,从64个增加到96个,并配备了更大的L2缓存,以满足实际工作负载的指令需求。DDR芯片采用DDR5内存,在推出时,Graviton 4拥有EC2中最快的DDR系统,具有12条DDR5 5600通道和高达96条PCIe通道,提供超过500GB/s的理论带宽和近500GB/s的可实现带宽。
Ali解释说,随着每一代Graviton的推出,亚马逊云科技一直在扩大适用工作负载的范围。Graviton 1证明了在基于ARM的EC2实例上运行应用程序的能力,而Graviton 2则支持了Java、Go、Rust、键值存储和负载均衡器等扩展工作负载。Graviton 3通过增加SIMD宽度进一步扩展了能力,吸引了HPC和机器学习工作负载。支持多套接字一致性的Graviton 4现在瞄准了扩展工作负载,使客户能够将最苛刻的数据库和大规模工作负载迁移到Graviton上。Graviton 4不仅每个插槽提供50%更多的核心,还能将两个插槽组合成一个系统,提供高达192个核心或48倍大小的实例。此外,Graviton 4实例还可支持高达3TB的DRAM容量,是上一代的两倍。
Graviton 4在安全性方面的增强包括加密高速接口,DRAM接口、Nitro卡与Graviton芯片之间的接口以及芯片到芯片链路都进行了加密。此外,每个Graviton 4芯片都通过认证过程提高了安全性,验证、监控和保护了主机启动的每个阶段。
Ali展示了各种工作负载的性能基准测试,展现了从Graviton 3到Graviton 4的性能提升。在MySQL方面,使用HammerDB开源负载生成器,Graviton 4比Graviton 3展现出40%的性能提升,以数据库每分钟处理的新订单数量来衡量。对于流行的Web服务器和负载均衡器Nginx,Graviton 4比Graviton 3的性能提高了30%。Grails是一个基于Groovy的开源JavaWeb应用程序框架,在JVM上运行,在Graviton 4上的每秒请求数比Graviton 3提高了45%。
亚马逊云科技在优化机器学习框架以支持Graviton方面也投入了大量努力。Ali强调了一些改进,例如从PyTorch 1.13版本到2.0版本,性能提升了3.5倍,有些模型在使用TorchCompile时性能提升了2倍。与JAX合作的PyTorch 3.21版本,性能提升了1.5倍,其他框架也从亚马逊云科技的努力中获益。此外,从Graviton 3升级到Graviton 4通常会带来20%到30%的性能提升,涵盖各种工作负载。回顾从2018年A1实例到2023年Graviton 4的发展历程,Ali指出,根据工作负载的不同,四代Graviton的性能提升了4倍。
Ali总结了Graviton 4的主要优势,包括业界领先的性能,比Graviton 3高出30%,亚马逊云科技云中首个采用DDR5 5600内存的系统,在EC2中提供最佳性价比,以及支持比Graviton 3大3倍的实例规模。
来自Robinhood Markets的Sudjet Catacom随后上台,分享了他们采用Graviton的经历。他介绍了Robinhood的使命是为所有人民主化金融,以及高性价比、高性能和可扩展基础设施对于支持其增长和创新的重要性。Robinhood主要使用Kubernetes作为主要计算平台,由Amazon EC2实例提供支持,涵盖了从内存密集型到CPU密集型和磁盘I/O密集型的各种工作负载。
Sudjet列举了Robinhood选择Graviton的四个主要原因:1)Graviton处于创新的前沿,每一代都比前一代更出色;2)Graviton实例的成本效率,每个CPU核心的价格比Intel或AMD实例更低;3)与Robinhood的可持续发展目标保持一致,因为Graviton承诺提高资源利用率并减少碳排放;4)能够评估Graviton对Robinhood工作负载的资源利用率改进。
Robinhood的Graviton采用之旅始于2022年6月,当时Graviton 3开始流行。在成功完成了解ARM64兼容性、构建工件和性能基准测试的概念验证(PoC)后,Robinhood在18到20个月内将90%以上的生产工作负载迁移到了Graviton。
Sudjet深入探讨了Robinhood采用Graviton的不同阶段。PoC阶段旨在了解构建和发布ARM64兼容工件的要求、评估Robinhood系统与ARM64的兼容性,以及评估性能基准测试结果是否符合预期。
在成功的PoC之后,Robinhood为构建、发布和部署阶段的软件开发生命周期(SDLC)添加了ARM64支持。在构建阶段,他们解决了为ARM64编译本机代码依赖项(如C、C++和Rust)的挑战。Robinhood在其Bazel工作流中引入了交叉编译C工具链、预构建的Python wheels、利用ARM64构建代理,并发布多架构镜像以确保兼容性和顺利过渡。对于Python服务,Robinhood不得不使用C编译器编译代码并预先安装包,这是一个缓慢的过程,尤其是在使用AMD实例为ARM64编译时。为了解决这个挑战,他们彻底改革了C工具链,实现了交叉编译,预构建Python wheels并上传到Artifactory,并利用ARM64构建代理来避免虚拟化和模拟,使得整个过程更加顺畅。
在发布阶段,Robinhood在AMD和ARM64架构上都运行测试,以便在需要时能够无缝回滚。他们发布了多架构Amazon ECR镜像,并公开了一个面向用户的API,简化了迁移过程。为了管理Amazon ECR存储库配额,Robinhood实施了健壮的ECR存储库策略和一个内部清理作业,以保留最新和可部署的标签,同时弃用旧标签。
在部署阶段,Robinhood利用了Kubernetes和架构感知容器运行时对ARM64的现有支持。他们实施了一个选择加入的工作流,通过创建专用的Auto Scaling Groups (ASGs)来部署Graviton,并在这些ASGs上部署工作负载。添加了准入检查,以确保部署的工件与Graviton兼容,并从Nexus使用正确的镜像,防止潜在问题并启用回滚路径。
作为额外的保障措施,Robinhood利用了亚马逊云科技的混合实例策略,该策略允许使用一个优先级排序的实例类型列表。这确保了如果Graviton实例不可用,亚马逊云科技将从备用列表中启动实例,包括Robinhood多年来一直在运行的x86实例,从而降低了业务连续性问题的风险。
Robinhood的迁移策略是首先优先处理基于Go的应用程序,因为它们自动符合Graviton的条件。对于Python工作负载,他们专注于预构建Python wheels和包。然后根据影响程度对工作负载进行排序,首先解决复杂的服务和占用资源最大的服务,以便在过程的早期就获得收益。
为了实现成本节约,Robinhood监控资源利用率,并逐步降低资源请求,以优化已使用与请求资源的比率,从而能够更好地将工作负载打包到Kubernetes EC2节点上,并减少整体集群容量需求。
展望未来,Robinhood计划在其机群中引入Graviton 4实例,利用最多96个CPU核心的更大实例规模进一步整合和优化容量。此外,他们还计划采用动态资源分配,使用历史数据无缝调整工作负载的资源配置。分析具有陡峭启动峰值的工作负载也在他们的路线图上,以进一步提高效率。
Sudhi Galman总结了会议,讨论了软件生态系统和过渡到Graviton的最佳实践。他强调了Linux社区对ARM64的广泛支持,包括Amazon Linux、Red Hat Enterprise Linux、Ubuntu和SUSE Linux Enterprise Server等流行的商业产品,以及社区ARM发行版。
在Graviton上的容器化工作负载非常受欢迎,对容器有很强的支持,包括Docker、Amazon ECS和EKS。像Amazon ECR、Docker Hub等镜像注册中心提供了多架构支持,能够根据主机架构部署适当的镜像。
Graviton Ready Partners计划在验证独立软件供应商(ISVs)在Graviton上的软件产品方面发挥了重要作用,确保了质量保证,并使客户更容易发现和采用各种类别(如DevOps、CI/CD、日志记录、监控、数据库等)的Graviton兼容软件。
亚马逊云科技将Graviton的优势扩展到了各种托管服务,允许客户在不付出太多努力的情况下实现价格性能收益。在许多情况下,Graviton甚至是默认选项,涵盖了计算、数据库、分析和机器学习等流行的亚马逊云科技服务。
Sudhi提供了过渡到Graviton的一般指导原则,强调软件堆栈越新,起点就越好。解释型和字节码编译语言通常无需修改即可运行,而编译应用程序需要为ARM64重新编译,所有主要编译器都支持这一点。
Sudhi建议利用GitHub上的Graviton技术指南等资源,其中提供了详细的指导、调优建议以及各种语言和应用程序的特殊设置。Graviton Fast Start程序提供了在EC2或通过托管服务运行的分步指导。Porting Advisor工具扫描源代码以查找依赖项,有助于过渡过程。此外,perf工具可以收集性能指标,加速了在Graviton上的性能故障排查。
亚马逊Graviton:云工作负载的最佳性价比
下面是一些演讲现场的精彩瞬间:
Sudhi Galman是亚马逊云科技的EC2核心计算产品的首席产品经理,她介绍了她和她的同事Ali Saeidi来自亚马逊云科技以及Sudjet Catacom来自Robinhood Markets,他们将在reInvent2024大会上发表演讲。
一张用于开发Graviton4芯片的高性能计算集群快照,该芯片可实现高效的基于云的EDA工作负载,并为芯片公司缩短上市时间。
传统基准测试通过大量后端停顿来压力测试L3缓存,表明处理器管道的后端通常无法找到太多工作要做,而处理器前端的利用率并不太高。
强调了使用AMD实例为ARM64架构编译Python代码时面临的挑战,这大大减慢了进程。
亚马逊云科技在Auto Scaling组中引入了多架构支持,允许混合使用Graviton和x86实例,以确保业务连续性并减轻实例启动失败。
通过仔细监控资源利用率并逐步减少资源请求,他们能够优化在亚马逊云科技 Graviton实例上的Kubernetes集群,从而显著节省成本,同时保持性能。
演讲者总结了本次会议,强调了基于Graviton的实例可用于各种工作负载,提供了最佳的性价比和能源效率,并且在提供的GitHub链接上有很好的技术资源。
总结
在这个引人入胜的叙事中,我们踏上了一段探索亚马逊云科技 Graviton的旅程,这是一款为云工作负载提供卓越性价比的革命性定制芯片。故事从Sudhi Galman开始讲述,他是EC2核心计算产品的产品经理,带领我们沉浸式地探索了Graviton的演进历程,从最初的构想到最新最强大的Graviton 4代。
我们了解到Graviton的诞生源于亚马逊云科技对专业化、创新和增强安全性的追求。每一代都推动了性能、效率和功能的边界,使越来越多的工作负载能够从中获益。从应用程序服务器和媒体编码到高性能计算和机器学习,Graviton已经在各个领域证明了自己的实力。
随后,叙述深入探讨了Graviton 4的技术细节,资深首席工程师Ali Saeidi揭示了支撑其卓越性能的架构奇迹。凭借50%的核心增加、两倍的L2缓存和对多套接字一致性的支持,Graviton 4成为一股强大力量,能够应对最苛刻的大规模工作负载。
接下来,来自Robinhood Markets的员工软件工程师Sudjet Catacom登场,分享了Robinhood采用Graviton的鼓舞人心的历程。从最初的概念验证到将其精心整合到软件开发生命周期中,我们见证了克服的挑战和实施的创新解决方案,以确保平稳过渡。
故事最后以一个响亮的行动号召作为总结,强调了支持迁移到Graviton的庞大软件和资源生态系统。从操作系统和容器到托管服务和性能优化工具,亚马逊云科技为通往卓越性价比和能源效率的道路铺平了道路。
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。