Linux 加速计算实例 - Amazon Elastic Compute Cloud

Linux 加速计算实例

如果您需要高处理能力,您可以从使用加速计算实例中获益,这些实例可让您访问基于硬件的计算加速器,如图形处理单元 (GPU) 或现场可编程门阵列 (FPGA)。加速计算实例能在计算密集型工作负载上提供更高的并行度,以实现更高的吞吐量。

基于 GPU 的实例能让您访问具有数千个计算内核的 NVIDIA GPU。可以通过基于 GPU 的加速计算实例来利用 CUDA 或开放计算语言 (OpenCL) 并行计算框架,从而为科学、工程和渲染应用程序加速。还可以将这些实例用于图形应用程序,包括游戏流式处理、3-D 应用流式处理和其他图形工作负载。

基于 FPGA 的实例能让您访问具有数百万并行系统逻辑单元格的 FPGA。您可以通过基于 FPGA 的加速计算实例,利用定义自硬件加速来加速工作负载,例如基因组学、财务分析、实时视频处理、大数据分析和安全工作负载。您可以使用硬件描述语言 (如 Verilog 或 VHDL) 或使用更高级语言 (如 OpenCL 并行计算框架) 来开发这些加速。您可以开发自己的硬件加速代码或通过 AWS Marketplace 购买硬件加速。

重要

基于 FPGA 的实例不支持 Microsoft Windows。

您可以将加速计算实例放入集群置放群组中。集群置放群组可在单个可用区内实现实例间的低延迟和高带宽连接。有关更多信息,请参阅置放群组

有关 Windows 加速计算实例的信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例) 中的 Windows 加速计算实例

加速计算实例系列

加速计算实例系列使用硬件加速器或协处理器来执行一些功能,如浮点数计算、图形处理或数据模式匹配,比在 CPU 上运行的软件更有效。以下加速计算实例系列可供您在Amazon EC2中启动。

F1 实例

F1 实例使用 Xilinx UltraScale+ VU9P FPGA 并且专用于加快计算密集型算法,例如不适合通用型 CPU 的数据流或高度并行操作。F1 实例中的每个 FPGA 包含大约 250 万个逻辑单元和大约 6800 个数字信号处理 (DSP) 引擎,连同 64 GiB 的本地 DDR ECC 保护内存一起,通过专用 PCIe Gen3 x16 连接与实例相连。F1 实例提供本地 NVMe SSD 卷。

开发人员可以使用 FPGA 开发人员 AMI 和 AWS 硬件开发人员工具包来创建用于 F1 实例的自定义硬件加速。FPGA 人员开发 AMI 包括云中的用于全周期 FPGA 开发的开发工具。使用这些工具,开发人员可以创建和分享 Amazon FPGA 映像 (AFI),这些映像可以加载到 F1 实例的 FPGA 上。

有关更多信息,请参阅 Amazon EC2 F1 实例

P3 实例

P3 实例使用 NVIDIA Tesla V100 GPU,可用于使用 CUDA 或 OpenCL 编程模型或通过机器学习框架进行的通用 GPU 计算。P3 实例提供了高带宽网络、强大的半精度\单精度\双精度浮点功能以及每 GPU 最高 32 GiB 内存,非常适合用于深度学习、计算流体动力学、计算金融、地震分析、分子建模、基因组学、渲染和其他服务器端 GPU 计算工作负载。Tesla V100 GPU 不支持图形模式。有关更多信息,请参阅 Amazon EC2 P3 实例

P3 实例支持 NVIDIA NVLink 对等传输。

要查看有关系统的拓扑信息,请运行以下命令:

nvidia-smi topo -m

有关更多信息,请参阅 NVIDIA NVLink

P2 实例

P2 实例使用 NVIDIA Tesla GPU K80 和适用于使用 CUDA 和 OpenCL 编程模型的通用 GPU 计算设计。P2 实例提供了高带宽网络、强大的单双精度浮点功能以及每个 GPU 12 GiB 的内存,非常适合深度学习、图形数据库、高性能数据库、计算流体动力学、计算金融、地震分析、分子建模、基因组学、渲染和其他服务器端 GPU 计算工作负载。

P2 实例支持 NVIDIA GPUDirect 对等传输。

要查看有关系统的拓扑信息,请运行以下命令:

nvidia-smi topo -m

有关更多信息,请参阅 NVIDIA GPUDirect

G4 实例

G4 实例使用 NVIDIA Tesla GPU,并为使用 CUDA 或机器学习框架的通用 GPU 计算以及使用 DirectX 或 OpenGL 的图形应用程序提供经济高效的高性能平台。G4 实例提供高带宽网络、强大的半精度和单精度浮点功能以及 INT8 和 INT4 精度。每个 GPU 具有 16 GiB GDDR6 内存,从而使 G4 实例非常适合机器学习推理、视频转码以及图形应用程序,例如,远程图形工作站和云中的游戏流。

G4 实例支持 NVIDIA GRID 虚拟工作站。有关更多信息,请参阅 NVIDIA Marketplace 产品

G3 实例

G3 实例使用 NVIDIA Tesla M60 GPU,为使用 DirectX 或 OpenGL 的图形应用程序提供经济高效的高性能平台。G3 实例还提供 NVIDIA GRID 虚拟工作站功能 (如 4 个分辨率高达 4096x2160 的监视器) 以及 NVIDIA GRID 虚拟应用程序。G3 实例非常适合一些应用程序,例如,3D 可视化、图形密集型远程工作站、3D 渲染、视频编码、虚拟现实以及其他需要大量并行处理能力的服务器端图形工作负载。

G3 实例支持 NVIDIA GRID 虚拟工作站和 NVIDIA GRID 虚拟应用程序。要激活任一功能,请参阅激活 NVIDIA GRID 虚拟应用程序

G2 实例

G2 实例使用 NVIDIA GRID K520 GPU,并为使用 DirectX 或 OpenGL 的图形应用程序提供经济高效的高性能平台。NVIDIA GRID GPU 还支持 NVIDIA 的快速捕获和编码 API 操作。示例应用程序包括视频创建服务、3D 可视化、流图形密集型应用程序,以及其他服务器端图形工作负载。

硬件规格

以下是加速计算实例的硬件规格摘要。

实例类型 默认 vCPU 内存 (GiB) 加速器
p2.xlarge 4 61 1
p2.8xlarge 32 488 8
p2.16xlarge 64 732 16
p3.2xlarge 8 61 1
p3.8xlarge 32 244 4
p3.16xlarge 64 488 8
p3dn.24xlarge 96 768 8
g2.2xlarge 8 15 1
g2.8xlarge 32 60 4
g3s.xlarge 4 30.5 1
g3.4xlarge 16 122 1
g3.8xlarge 32 244 2
g3.16xlarge 64 488 4
g4dn.xlarge 4 16 1
g4dn.2xlarge 8 32 1
g4dn.4xlarge 16 64 1
g4dn.8xlarge 32 128 1
g4dn.12xlarge 48 192 4
g4dn.16xlarge 64 256 1
g4dn.metal 96 384 8
f1.2xlarge 8 122 1
f1.4xlarge 16 244 2
f1.16xlarge 64 976 8

有关每种 Amazon EC2 实例类型的硬件规格的更多信息,请参阅 Amazon EC2 实例类型

有关指定 CPU 选项的更多信息,请参阅优化 CPU 选项

实例性能

您可以执行多个 GPU 设置优化,以实现实例的最佳性能。有关更多信息,请参阅优化 GPU 设置

通过 EBS 优化的实例,您可以消除 Amazon EBS I/O 与 实例的其他网络流量之间的争用,从而使 EBS 卷持续获得高性能。有些加速计算实例在默认情况下会进行 EBS 优化,这不会产生额外的费用。有关更多信息,请参阅Amazon EBS 优化的实例

一些加速计算实例类型提供了在 Linux 上控制处理器 C 状态和 P 状态的功能。C 状态控制当核心处理非活动状态时可以进入的睡眠级别,而 P 状态控制核心的所需性能 (以 CPU 频率的形式)。有关更多信息,请参阅 您的 EC2 实例的处理器状态控制

网络性能

您可以为受支持的实例类型启用增强联网,以提供更低的延迟、更低的网络抖动和更高的每秒数据包数 (PPS) 性能。大多数应用程序并非始终需要较高的网络性能,但较高的带宽有助于其发送或接收数据。有关更多信息,请参阅 Linux 上的增强联网

以下是支持增强联网的加速计算实例的网络性能摘要。

实例类型 网络性能 增强联网
f1.2xlarge | f1.4xlarge | g3.4xlarge | p3.2xlarge 最高 10 Gbps † ENA
g3s.xlarge | g3.8xlarge | p2.8xlarge | p3.8xlarge 10Gbps ENA
g4dn.xlarge | g4dn.2xlarge | g4dn.4xlarge 最高 25 Gbps † ENA
f1.16xlarge | g3.16xlarge | p2.16xlarge | p3.16xlarge 25 Gbps ENA
g4dn.8xlarge | g4dn.12xlarge | g4dn.16xlarge 50 Gbps ENA
g4dn.metal | p3dn.24xlarge 100 Gbps ENA

† 这些实例使用一种网络 I/O 积分机制,根据平均带宽使用率为不同实例分配网络带宽。实例在带宽低于其基准带宽时会积累积分,并能够在执行网络数据传输时使用这些积分。有关更多信息,请打开一个支持案例,询问您感兴趣的特定实例类型的基准带宽。

实例功能

加速计算实例的特性汇总如下。

仅限于 EBS NVMe EBS 实例存储 置放群组

G2

SSD

G3

G4

NVMe *

P2

P3

p3dn.24xlarge:不支持

所有其他大小:是

p3dn.24xlarge:是

所有其他大小:否

p3dn.24xlarge:NVMe*

F1

NVMe *

* 根设备卷必须是 Amazon EBS 卷。

有关更多信息,请参阅下列内容:

发行说明

  • 您必须使用 HVM AMI 启动实例。

  • 基于 Nitro 系统构建的实例具有以下要求:

    以下 Linux AMI 满足这些要求:

    • Amazon Linux 2

    • Amazon Linux AMI 2018.03

    • Ubuntu 14.04(具有 linux-aws 内核)或更高版本

    • Red Hat Enterprise Linux 7.4 或更高版本

    • SUSE Linux Enterprise Server 12 SP2 或更高版本

    • CentOS 7.4.1708 或更高版本

    • FreeBSD 11.1 或更高版本

    • Debian GNU/Linux 9 或更高版本

  • 除非安装了 NVIDIA 驱动程序,否则基于 GPU 的实例无法访问 GPU。有关更多信息,请参阅 在 Linux 实例上安装 NVIDIA 驱动程序

  • 启动裸机实例会启动基础服务器,包含验证所有硬件和固件组件。这意味着从实例进入运行状态直至在网络上可用需要超过 20 分钟的时间。

  • 对裸机实例附加或分离 EBS 卷或辅助网络接口需要 PCIe 本机 hotplug 支持。 Amazon Linux 2 和最新版本的 Amazon Linux AMI 支持 PCIe 本机 hotplug,但更早的版本不支持。必须启用以下 Linux 内核配置选项:

    CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEASPM=y
  • 裸机实例使用基于 PCI 的串行设备而不是基于 I/O 端口的串行设备。上游 Linux 内核和最新 Amazon Linux AMI 支持此设备。裸机实例还提供一个 ACPI SPCR 表,使系统能够自动使用基于 PCI 的串行设备。最新 Windows AMI 自动使用基于 PCI 的串行设备。

  • 每个区域仅限 100 个 AFI。

  • 在一个区域中可以启动的实例总数存在限制,某些实例类型还存在其他限制。有关更多信息,请参阅 Amazon EC2 常见问题中的我可以在 Amazon EC2 中运行多少个实例?