
AWS 提供最广泛和最深入的计算实例组合,其中许多由最新一代 Intel 和 AMD 处理器提供支持。支持这种广泛而深入的计算产品组合的是自定义 AWS 芯片和软件创新——AWS Nitro 系统。多年来,我们一直在设计定制芯片,使我们能够更快地创新、提供更高的安全性并为我们的客户降低成本。AWS Graviton 处理器延续了芯片创新的传统,由 Amazon Web Services 使用 64 位 Arm Neoverse 内核定制构建。这些处理器在 AWS 中进行了优化,可为在 Amazon EC2 中运行的云工作负载提供最佳性价比。AWS Graviton2 处理器提供更多选择,帮助客户优化其工作负载的性能和成本。
AWS Graviton2 处理器为 Amazon EC2 M6g、C6g、R6g 和 T4g 实例系列提供支持,与当前基于 x86 的同类实例相比,其性价比提高了 40%。这种性价比适用于各种工作负载:应用程序服务器、微服务、高性能计算、电路设计自动化、游戏、开源数据库和内存缓存。与第一代 Graviton 处理器相比,AWS Graviton2 处理器在性能和功能方面实现了重大飞跃,性能提高了 7 倍,计算内核增加了 4 倍,缓存增加了 2 倍,内存速度提高了 5 倍。AWS Graviton2 处理器还为视频编码工作负载、压缩工作负载的硬件加速以及基于 CPU 的机器学习推理提供了增强的性能。
Amazon EC2 是 AWS 服务组合的基础组件,EC2 核心平台(包括 C、M、R 和 T 实例)占所有 AWS 计算收入的约 71%。大多数 AWS 计算客户都在不断寻求方法来提高 Amazon EC2 中托管的工作负载的性能和性价比。AWS Graviton2 处理器为我们的第六代 M6g、C6g、R6g 和 T4g 实例系列提供支持,为客户提供最佳性价比,用于在 Amazon EC2 上运行的基于 Linux 和开源软件的工作负载。
AWS Graviton2 处理器是任何其他云供应商都不提供的,它代表了一项独特的 AWS 资源,它将为 AWS 云带来新客户,同时也为现有客户提供新的创新、选择和卓越的性价比。
您可以通过以下资源总结。内容将帮助您理解Graviton2是什么,以便您可以帮助您的客户回顾他们的应用场景并采用 Graviton2。
一些客户可能不熟悉术语“Graviton”或“ARM”。从本质上讲,亚马逊是处理器开发商和制造商,Graviton 是那些内部开发的处理器的品牌名称,而“Arm”是 Graviton 构建的基础指令集。客户将熟悉 Intel 和 AMD 处理器以及它们的 Xeon 和 EPYC 品牌,它们都实现了 x86 指令集。
常见的解码器回环如下(遵循“处理器制造商”→“处理器品牌”→“指令集架构”的流程):
Arm 是一种处理器架构,常见于许多电子设备中,从消费类电子产品、物联网传感器、嵌入式系统、机器人、存储和网络设备,一直到高性能服务器系统(2019 年出货量 228 亿基于 Arm 的芯片和在所有包含处理器的芯片中,有 34% 可以找到 Arm 架构)。Arm 架构可作为知识产权 (IP) 授权用于定制芯片设计。我们通过将 Arm Ltd. 的知识产权与我们自己的设计和创新相结合来构建 AWS Graviton2 处理器 她是基于AWS多年大规模构建和运营云基础设施。
使用 Arm 架构的主要区别在于软件兼容性;您不能在基于 Arm 的处理器(例如 AWS Graviton)上运行为基于 x86 的处理器(例如 Intel Xeon 和 AMD EPYC)明确构建的二进制文件。然而,Linux 和开源软件堆栈很好地支持 Arm 架构,如今许多应用程序都是用可移植的编程语言编写的,例如 Java、Python、.NET Core、node.js 和 PHP。这些软件堆栈和应用程序可以无缝过渡到基于 AWS Graviton2 的实例。使用这些可移植编程语言的应用程序为客户提供了一个很好的机会,可以在评估更广泛的采用之前初步接触 AWS Graviton2——在这种情况下,可能需要更多的初始软件工作来测试和采用 Graviton2。我们将在本手册的后面更详细地介绍软件依赖项。
AWS Graviton2 处理器可以在EC2 实例系列中找到,包括:通用实例 (M6g)、通用的突发实例 (T4g)、计算优化 (C6g) 和内存优化 (R6g) 。这四个实例系列涵盖了广泛的工作负载,包括应用服务器、微服务、高性能计算、电子设计自动化、游戏、开源数据库和内存缓存。由于 Graviton2 的适用性如此广泛,我们发现最初的客户参与最有效,从目标用例属性、现有客户示例和基准数据的组合开始,以发现适合 Graviton2 实例的用例。随着时间的推移,我们将开发针对特定用例的销售方式,但就目前而言,以下是每个类别中的资源,可帮助您指导客户:
以下工作负载属性将帮助您发现可以轻松转换并利用 Graviton2 的性能和成本优势的用例:
基于开源技术构建的基于 Linux 的工作负载容器化和微服务的应用程序(例如 Docker、ECS、EKS 和 ECR)可移植编程语言(例如 Java、Python、.NET Core、node.js 和 PHP)编写的应用程序已编译的 C/C++、Rust 或 Go 应用程序(目前 Arm 支持已经非常成熟)Linux 上运行的 .NET Core (v3.1+) 工作负载多线程工作负载(Graviton2 vCPU 是物理处理器核心,因此它们可以很好地扩展)关注吞吐量和延迟的内存数据存储(例如 Memcached、Redis、Cassandra 和 KeyDB)NUMA 敏感工作负载(没有 NUMA-ness,所有内核都具有一致的内存视图)Arm-native 软件开发和测试(在 Graviton2 ~= x86 上构建时间,客户可以在真实硬件上进行测试,而不是使用缓慢且容易出错的仿真)以下用例不适合用于现在的 Graviton2:
以下是一些有助于揭示客户可能正在运行类似工作负载并且他们应该考虑 Graviton2 的特定用例:
NGINX(负载均衡):与 M5 相比,M6g 的性能提高了 24%,成本降低了 20%
H.264 媒体编码: M6g 性能提升 26%(未压缩的 1080p 到 H.264 视频)
ML 推理: M6g 上的 BERT ML 推理比 M5 好 28%
Memcached:与 M5 实例相比,M6g 实例提供了 43% 的吞吐量和更低的延迟
Redis:M6g 实例的吞吐量比 M5 实例提高了 50%
KeyDB(兼容 Redis):M6g 以降低 20% 的成本提供高达 65% 的性能提升
Apache Spark:M6g 的 geomean 延迟降低了 15-30%;与 M5 相比,中位延迟降低 20%
PrestoSQL:与 M5 相比,M6g 的性能提高了 30%,成本降低了 20%
Postgres11:M6g.xlarge/M6g.4xlarge 性能比 m5.xlarge/m5.4xlarge 好 10%,便宜 27%。M6g.16xlarge 的性能与 m5.24xlarge 相当,但便宜 46%。
MySQL8:M6g.4xlarge/12xlarge 比 m5.4xlarge/12xlarge 快 15%,$/perf 好 30%。M6g.16xlarge 比 m5.24xlarge 快 2%,便宜 47%。
OpenFOAM:C6g 的性价比比其他 C 系列实例高 37%。
以下是一些客户的反馈(所有参考资料和相关博客都完整发布在AWS Graviton 网站上):
LexisNexis:加密繁重的 Java 应用程序,M6g 处理的流量比 C5 实例多 30%
Nielsen:I/O 密集型 Java 应用程序,M6g 实例处理的负载是 A1 实例的两倍。
Hotelbeds : Java11+SpringBoot2 - M6g 实例的性价比比 M5 高 43%
Mobiuspace:容器化 Java,M6g 与 M5 相比,性能提高 40%,成本降低 20%
Honeycomb.io:在 M6g 上摄取工作队列使用的实例减少了 30%,与 C5 相比成本降低了 10%
Raygun:以计算为中心的 .NET Core 工作负载,M6g 的性能比 C5 提高 30%
Valnet Inc:NGINX、PHP 和 Redis,M6g 与 M5 相比,性能提高了 30%,成本降低了 20%
基准测试是一个复杂的话题,客户自己的工作负载始终是特定 EC2 实例对其特定技术和业务需求的适用性的最佳和最终测试。也就是说,客户通常会在投入时间进行自己的测试之前请求初步指导。以下是我们的 re:Invent 2019 公告中的一些基准数据:
目标人群:
了解您的客户是否需要优化 EC2 性价比以及 AWS Graviton2 是否合适:
初创企业往往诞生于云端,广泛使用开源软件,倾向于使用最新版本的软件,并采用容器、微服务和 DevOps 等现代编程和部署技术。他们通过使用 Java、Python、.NET Core、node.js、GoLang 或 PHP 等编程语言,以直接的性能换取开发人员的生产力——这使得他们的应用程序可以跨架构移植。根据资金的阶段和水平,他们可能具有成本意识,而 AWS Graviton2 的性能和成本优势将吸引他们。
数字原生企业是已经通过成功的收入模式逐步扩大采用的初创企业。它们表现出许多与初创企业相同的属性,使它们能够采用新技术,包括不同的计算架构。根据他们的成熟度,他们可能只专注于规模以扩大客户群。在此阶段,一些 DNB 不太愿意接受新技术,即使这些新技术具有显着的性价比优势。此阶段的 DNB 目前未根据性价比进行衡量,并且他们不希望在大规模增长阶段冒着服务中断的风险。然而,大多数 DNB 将有动力优化其工作负载的性能和成本,热衷于评估 Graviton2
遵循现代软件开发方法的独立软件供应商将做好充分准备以支持基于 Graviton 的实例。Graviton2 为他们的客户提供了一个优化软件运行成本的机会——而 ISV 不必提供折扣或降低他们自己的软件许可成本。添加对 Arm 的支持为许多 ISV 提供了市场扩张机会,甚至超越了 AWS 云中的 Graviton,因为 Arm 架构在移动、物联网、嵌入式、汽车和机器人领域占据主导地位。许多 ISV 已经或计划将其软件过渡到托管 (SaaS) 交付模型。这种向 SaaS 模型的迁移以及为此进行的必要更改是将 ISV 引入 Graviton2 的绝佳机会。
我们已经看到 SaaS 提供商和 ISV 转向 SaaS 模型的兴趣,因为 Graviton2 为他们提供了对客户完全透明的性能和成本优化工具。SaaS 提供商可以在降低成本的同时提高自己服务的性能——他们可以选择存入银行、再投资或转嫁给客户。2020年 5 月 5日,AWS 增加了一项 SaaS 能力,以识别在 AWS 上设计和构建软件即服务 (SaaS) 解决方案方面具有深厚专业知识和专业知识的 APN 咨询合作伙伴,这些合作伙伴可以帮助客户和 ISV 合作伙伴采用Graviton2 来托管他们的 SaaS 产品。
高性能计算 (HPC) 通常依赖于“横向扩展”(并行使用许多服务器)来在大型数据集上实现高性能。虽然很大一部分 HPC 工作负载非常专业并利用专有商业软件,但开源 HPC 工作负载的数量越来越多。HPC 客户总是热衷于优化运行其作业的成本。Arm Ltd 为 HPC 工作负载 (ArmPL) 提供编译器、调试器和优化的数学库 -单击此处。基于 Graviton2 的 M6g、C6g 和 R6g 实例为广泛的 HPC 工作负载提供了极具吸引力的性价比,其中性能和成本之间的平衡至关重要。
Arm 架构在物联网、嵌入式、汽车、机器人和移动细分市场中无处不在。这些细分市场中无法访问基于 Arm 平台的 DevOps 工具的客户可能拥有可能在构建和测试覆盖率方面走捷径的工程团队。例如,开发为工业机械增加自主智能的硬件的客户的软件团队由于构建时间和测试硬件的能力有限而无法实施完整的 CI/CD 管道。该客户现在使用基于 AWS Graviton 的 EC2 实例来实施软件开发最佳实践,通过对每个软件更改进行构建和测试,以便他们能够在潜在问题发生时快速识别它们。然后,他们使用有限的现场硬件执行每日构建以进行完整的系统测试。一些客户希望在云中托管移动应用程序,并且鉴于大多数移动设备都是基于 Arm 的,因此有兴趣在基于 Graviton 的实例上托管基于云的移动应用程序。
大多数客户都在寻求优化在 EC2 上运行其工作负载的性能和成本,而 Graviton2 的性价比高达 40% 的价值主张很有吸引力。但是,当客户团队考虑采用新技术的成本时,您可能会遇到反对意见。以下是其中一些反对意见以及如何与您的客户解决这些问题:
Graviton2 基于不同的指令集 (Arm)。在大多数情况下,这无关紧要,但在某些情况下,可能需要更改软件。业务线需要确保他们的软件开发人员和 IT 团队能够支持他们采用 Graviton2。尽早与软件和 IT 团队合作以解决采用的任何潜在技术障碍非常重要。
业务线所有者可能会表达对支持多种计算架构的担忧。这可能出现在初始过渡期的背景下,以保持采用未来 EC2 实例类型的灵活性,或作为多云战略的一部分(其他云供应商没有基于 Graviton2/Arm 的实例)。在采用 Graviton2 时,可以通过与开发人员和 IT 团队合作开发无缝的多架构软件支持来缓解这些担忧。
具有长远眼光的客户可能会在 Graviton 路线图和采用 Graviton2 的寿命方面向我们提出挑战。例如,当下一代基于 x86 的 EC2 实例可用时会发生什么?如果这些基于 x86 的实例提供最佳性价比,这是否会导致客户需要在 x86 和 Arm 架构之间交替以在任何给定时间点获得最佳性价比的场景?AWS Graviton 是一项战略投资,也是我们着眼长远的投资。根据当前数据,我们预计 Graviton2 将继续在 EC2 上提供最佳性价比。如果这是客户开发人员的主要关注点,DevOps 和 IT 团队应采用与架构无关的机制作为缓解策略。
IT 团队可能拥有用于配置、管理、保护和监控其现有 EC2 基础设施的现有软件,他们希望这些相同的工具能够在整个 EC2 机群中运行。这些类别中最流行的工具已经支持 Arm,但在某些情况下,客户可能会识别出尚不支持 Arm 架构的软件——在这些情况下,您可以搜索现有的 SIM 卡或创建新的Graviton 软件 SIM 卡。如果我们在这个阶段不向前看,我们就会冒着客户想要采用 Graviton2 的风险,然后被他们生产环境中的特定软件依赖项延迟或阻止。
IT 团队希望优化实现投资回报的时间,并且可能不愿投入时间来评估和采用新技术。通过与客户合作确定非常适合 Graviton2 的工作负载——并且可以以最少的投资进行转换——我们可以快速展示 Graviton2 的优势,然后寻求在其他工作负载和团队中扩展 Graviton2 的使用。利用用例示例和客户推荐来展示通过适度的时间投入实现了显着的性价比提升的示例(例如 Honeycomb.io 投入了约 15 小时,使其 SaaS 可观察性摄取队列的性价比提高了 40% )
为满足 SLA 承诺,IT 团队将希望确保新技术在其生产环境中稳定可靠并随时可用。我们鼓励您利用 AWS Graviton 网页上列出的客户参考资料和 ISV 合作伙伴 。这包括在基于 AWS Graviton 的实例上运行生产工作负载一年多而没有出现任何问题的客户。随着时间的推移,我们将添加到这些参考文献中,并且还计划从亚马逊团队中获得更多的参考文献,这些团队大规模采用基于 Graviton 的平台。
根据客户的采购模式,IT团队可以表达有关Graviton2实例EC2现货池的深度担忧。鉴于现货实例基本上打折“备用”的能力,在有足够多余的支持现货实例的选购模式,这是任何新的和按需服务,直到容量坡道点也是如此。除了这种挑战,EC2现货的最佳做法鼓励实例多样性提高可用性,而今天我们的基于ARM的车队并不像广泛和多样化为我们的基于x86的舰队。所有这一切说,Graviton2已经提供了更高的性能和相对5 20%成本更低次基于x86的新一代C,M和R的实例,并通过点播,保留的情况下,储蓄计划可用,现有EDPS,除了以现货供应。
我们可能会对基于 Graviton2 的实例的可靠性和性能产生怀疑。这通常适用于任何新技术。客户应该放心,Graviton 是专门为云开发的,并且构建在用于其他最新一代 EC2 实例的相同 Nitro 平台之上。我们今天有多个基准测试和客户参考,并且已经计划在我们自己的工作负载中大规模采用 Graviton2。在 re:Invent 2019 上,Nielsen 与我们一起登台宣布 Graviton2,并谈到他们采用了第一代 Graviton,该产品现已投入生产一年多,用他们的话来说是“坚如磐石”。
客户可能会对“锁定”表示担忧,因为 Graviton2 是一项 AWS 创新,任何其他云提供商都无法提供。这可以通过多种方式缓解,具体取决于特定用例和软件环境。现有的容器机制允许创建多架构(“多架构”)容器镜像,同时保持与 Arm 和 x86 的兼容性。使用高度可移植的编程语言,如 Java、Python、.NET Core、Golang、node.js 或 PHP,抽象出底层 CPU 架构和“面向未来”的客户工作负载,为他们提供选择最优惠价格的灵活性-整个 EC2 实例类型组合的性能比。
开发人员需要确定测试和上线 Graviton2 相关的内容。对于利用开源软件或使用 Java、Python、.NET Core、node.js 或 PHP 等可移植编程语言编写的基于 Linux 的应用程序,过渡到 Graviton2 非常简单。包含编译代码(例如 C/C++ 或 Golang)的应用程序需要重新编译以生成 Arm 二进制文件。Arm 指令集在流行的编程语言中得到了很好的支持,现代代码通常只需要简单的命令或选项标志即可为 Arm 重新编译。但是,需要旧编译器版本的遗留不兼容代码可能不会使用适用于 x86 或 Arm 架构的较新编译器构建,并且需要一些努力来构建和测试。
本“入门”指南是已知优化、编译器设置和识别潜在优化机会的指针的良好参考。本演示文稿提供了额外的软件转换指南。
这些团队会想知道他们首选的操作系统是否可用。流行的 Linux 发行版,例如 Amazon Linux 2、Ubuntu、Red Hat Enterprise Linux、SUSE、Debian 和 fedora 已经存在。CentOS 也可用于 Arm 架构,我们预计在未来几个月内会有 CentOS AMI。这些 Linux 发行版提供跨 Arm 和 x86 架构的包奇偶校验,但是某些 3rd 方包(操作系统之外)可能不存在用于 Arm/Graviton2,并且需要从源代码构建。
团队可能表示他们拥有“大量”容器化微服务,并且需要 Arm 架构不存在的容器镜像。微服务的使用是采用 Graviton2 等新技术的完美环境,因为在考虑大规模采用其他微服务之前,您可以确定要转换的少量服务。一般来说,容器化应用程序非常适合 Graviton2,AWS 容器生态系统(包括 Docker、Kubernetes、ECS、EKS和 ECR)已经支持 Graviton2。容器镜像必须使用正确的基本操作系统镜像构建,并且任何编译的组件都有可用的 Arm 二进制文件。容器规范允许创建多架构镜像包含 Arm 和 x86 的图像。多架构镜像简化了基础架构的自动化,因为容器将自动接收与其主机实例架构相匹配的镜像。
开发人员将希望重用现有的构建和 CI/CD 管道。当前仅使用基于 x86 的实例的客户可能没有意识到他们在构建和测试管道中无意中创建了特定于架构的依赖项(例如,假设基于同构的基于 x86 的计算环境而编写的工具或脚本中的硬编码引用)。这些特定于体系结构的依赖关系需要解决,并且大多数流行的 CI/CD 工具已经可用于 Arm
目前所有的Graviton2公共引用可以找到这里。这里有一个选择从M6G GA推出引用:
Nielsen是一家全球性的测量和数据分析公司,为全球消费者和市场提供最完整、最值得信赖的视图。“我们基于 OpenJDK 的 Java 应用程序用于收集数字数据、处理传入的 Web 请求并根据业务需求重定向请求。该应用程序是 I/O 密集型的,以经济高效的方式横向扩展是一项关键要求,”尼尔森数字高级副总裁 Chris Nicotra 说。“我们将此 Java 应用程序无缝转移到由 AWS Graviton 处理器提供支持的 Amazon EC2 A1 实例。我们已经测试了新的基于 Graviton2 的 M6g 实例,它能够处理两倍于 A1 的负载。我们期待在基于 Graviton2 的新实例上运行更多工作负载。”
CrowdStrike是云交付端点保护领域的全球网络安全领导者,从头开始构建以阻止违规行为。“CrowdStrike Falcon 利用云原生平台和单个轻量级传感器为本地和云环境中的主机和托管容器提供全方位的运行时保护和可见性,无需任何额外的部署或集成,”首席产品和工程 Amol Kulkarni 说CrowdStrike 的官员。“基于 AWS Graviton2 Arm64 的实例提供了引人注目的性能和成本优势,这将有助于推动更广泛的工作负载的采用。在责任共担模型下,无论底层处理器架构如何,AWS 客户都需要在其 Amazon EC2 计算队列中获得一致且无缝的保护。这就是为什么我们很高兴为所有基于 Graviton 的 EC2 实例扩展 CrowdStrike Falcon 保护和可见性。”
Honeycomb.io提供了一种用于内省和询问生产系统的可观察性工具,其设计和发展旨在满足平台、微服务、无服务器应用程序和复杂系统的需求。Honeycomb.io 的首席开发人员倡导者 Liz Fong-Jones 说:“最初的过渡过程大约需要 15 个小时才能让 Amazon EC2 M6g 实例作为我们摄取工作人员测试车队的一等公民启动和运行。”“与现有的 C5 实例相比,我们观察到 M6g 实例在各个方面都更胜一筹——它们成本更低、内存更多、中位数更低、尾部延迟显着更窄,并且在每台主机相同比例的工作负载下运行温度更低。转换我们的整个摄取工作队列到 M6g 实例让我们运行的实例减少了 30%,每个实例的成本降低了 10%。”
Datadog是面向云时代开发人员、运营商和业务用户的监控和分析平台。Datadog 产品经理 Jimmy Caputo 表示:“我们很高兴 Graviton2 实例现已普遍可用。我们已经看到我们自己的开发人员生产力提高,因为这些实例将关键持续集成管道的性能提高了 50%。” “借助适用于 Graviton / Arm 的 Datadog 代理,所有 AWS 客户都可以使用 Datadog 监控 Graviton2 实例的性能及其其他基础设施。”
Redbox是美国价格实惠的新发行电影租赁和电视节目的主要来源,无需订阅。Redbox 运营着 41,500 多个位置便利的自助娱乐亭,并运行每晚库存预测,以确保客户在需要时获得他们想要的电影。预测算法主要是计算边界,目前在 C5 实例上运行。当我们看到 AWS Graviton2 公告时,我们很想测试新的 Amazon EC2 M6g 实例,看看它们在这个用例中的表现如何。比较 m5.2xlarge 与 m6g.2xlarge,我们发现性能几乎相同,但 M6g 的成本低 20%。给我们留下深刻印象的是 Graviton2 在服务器领域与 x86 进行交易。
Hotelbeds是世界领先的床铺,通过全球旅游分销商网络重新定义住宿、接送、活动和汽车租赁产品。在 Hotelbeds,我们不断探索新技术,以确保我们为客户提供最好的产品和服务。我们很高兴为我们使用 Java11 + SpringBoot2 开发的工作负载之一测试新的 AWS Graviton2 处理器。我们的初步测试表明,与当前一代 M5 实例相比,基于 AWS Graviton2 的 Amazon EC2 M6g 实例的性价比提高了 43%。基于这些结果,我们期待 M6g 的普遍可用性,以便我们可以将它们部署在我们的 Amazon EC2 基础设施中。