基于亚马逊云科技 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:云工作负载的最佳性价比
我们正处在 Agentic AI 爆发前夜。 2025 亚马逊云科技中国峰会提出,企业要从 " 成本优化 " 转向 " 创新驱动 " ,通过完善的数据战略和 AI 云服务,把握全球化机遇。亚马逊将投入 1000 亿美元在 AI 算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在 AI 时代突破。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3090599/ ,如需转载,请注明出处,否则将追究法律责任。