Linux 高速コンピューティングインスタンス - Amazon Elastic Compute Cloud

Linux 高速コンピューティングインスタンス

高速コンピューティングインスタンスは、ハードウェアアクセラレーターやコプロセッサーを使用して、浮動小数点数計算、グラフィック処理、データパターンマッチングのような機能を CPU で実行されるソフトウェア以上に効率的に実行します。これらのインスタンスでは、大量の演算を行うワークロードでさらに多くの並列処理が可能となり、より高いスループットが得られます。

高度な処理機能が必要な場合は、高速コンピューティングインスタンスを使用すると、Graphics Processing Units (GPU)、Field Programmable Gate Arrays (FPGA)、AWS Inferentia などのハードウェアベースのコンピューティングアクセラレーターにアクセスできます。

GPU インスタンス

GPU ベースのインスタンスでは、数千のコンピューティングコアを持つ NVIDIA GPU にアクセスできます。これらのインスタンスを使用すると、CUDA または Open Computing Language (OpenCL) パラレルコンピューティングフレームワークを活用することにより、サイエンス、エンジニアリング、およびレンダリングアプリケーションを高速化できます。また、ゲームストリーミング、3D アプリケーションストリーミング、およびその他のグラフィックスワークロードを含む、グラフィックアプリケーションにも使用できます。

G4ad インスタンスと G4dn インスタンス

G4ad インスタンスは AMD Radeon Pro V520 GPU と第 2 世代 AMD EPYC プロセッサを使用し、リモートグラフィックスワークステーションなどのグラフィックスアプリケーション、ゲームストリーミング、および OpenGL、DirectX、Vulkan などの業界標準の API を活用するレンダリングに最適です。最大 4 つの AMD Radeon Pro V520 GPU、64 の vCPU、25 Gbps ネットワーキング、および 2.4 TB のローカル NVMe ベースの SSD ストレージを提供します。

G4dn インスタンスは NVIDIA Tesla GPU を使用して、汎用 GPU コンピューティング用のコスト効率とパフォーマンスに優れたプラットフォームを CUDA を通じて提供するか、グラフィックアプリケーションを備えた機械学習フレームワークを DirectX または OpenGL を通じて提供します。このようなインスタンスは、高帯域幅ネットワーキング、強力な半精度浮動小数点機能、単精度浮動小数点機能、INT8 精度、および INT4 精度を提供します。各 GPU は 16 GiB の GDDR6 メモリを備えているため、G4dn インスタンスは機械学習推論、動画トランスコード、グラフィックアプリケーション (リモートグラフィックワークステーションやクラウド内のゲームストリーミングなど) に最適です。

詳細については、「Amazon EC2 G4 インスタンス」を参照してください。

G4dn インスタンスは、NVIDIA GRID 仮想ワークステーションをサポートしています。詳細については、NVIDIA Marketplace の提供サービスを参照してください。

G3 インスタンス

このインスタンスは NVIDIA Tesla M60 GPU を使用し、DirectX または OpenGL を使用してグラフィックアプリケーション向けに費用対効果の高パフォーマンスのプラットフォームを提供します。また、G3 インスタンスは、最大 4096x2160 の解像度を持つ 4 つのモニターと NVIDIA GRID 仮想アプリケーションのサポートなど、NVIDIA GRID 仮想ワークステーションの機能も提供します。G3 インスタンスは、アプリケーションの例としては、3D ビジュアライゼーション、グラフィックを強化したリモートワークステーション、3D レンダリング、動画エンコード、仮想リアリティやそのほかの大規模なパラレル処理を必要とするサーバー側のグラフィックワークロードなどのアプリケーションに最適です。

詳細については、「Amazon EC2 G3 インスタンス」を参照してください。

G3 インスタンスは、NVIDIA GRID 仮想ワークステーションと NVIDIA GRID 仮想アプリケーションをサポートします。これらの機能のいずれかを有効にするには、「NVIDIA GRID 仮想アプリケーションの有効化」を参照してください。

G2 インスタンス

このインスタンスは NVIDIA GRID K520 GPU を使用し、DirectX または OpenGL を使用してグラフィックアプリケーション向けに費用対効果の高パフォーマンスのプラットフォームを提供します。NVIDIA GRID GPU は、NVIDIA の高速キャプチャおよびエンコード API オペレーションもサポートします。アプリケーションのサンプルには、動画作成サービス、3D 仮想化、グラフィックを多用したストリーミングアプリケーションなどのサーバー側のグラフィックワークロードが含まれています。

P4d インスタンス

このインスタンスは、NVIDIA A100 GPU を使用し、機械学習および HPC ワークロード用の高性能プラットフォームを提供します。また、P4d インスタンスは、400 Gbps の集約ネットワーク帯域幅スループットとサポート、Elastic Fabric Adapter (EFA) を提供します。これらは、複数のネットワークカードを提供する最初の EC2 インスタンスです。

詳細については、「Amazon EC2 P4d インスタンス」を参照してください。

P4d インスタンスは NVIDIA NVSwitch GPU 相互接続と NVIDIA GPUDirect RDMA をサポートします。

P3 インスタンス

このインスタンスは NVIDIA Tesla V100 GPU を使用し、CUDA または OpenCL プログラミングモデルを使用するか、機械学習フレームワークを使用する汎用 GPU コンピューティング用に設計されています。P3 インスタンスは高帯域幅ネットワーキング、強力な半精度、単精度、および倍精度浮動小数点機能、および GPU ごとに最大 32 GiB メモリを提供し、深層学習、数値流体力学、金融工学、耐震解析、分子モデリング、ゲノム解析、レンダリング、その他サーバー側 GPU コンピューティングワークロードに最適です。Tesla V100 GPU はグラフィックモードをサポートしません。

詳細については、「Amazon EC2 P3 インスタンス」を参照してください。

P3 インスタンスは NVIDIA NVLink のピアツーピア転送をサポートします。詳細については、NVIDIA NVLink を参照してください。

P2 インスタンス

P2 インスタンスは NVIDIA Tesla K80 GPU を使用し、CUDA または OpenCL プログラミングモデルを使用する汎用 GPU コンピューティング用に設計されています。P2 インスタンスは高帯域幅ネットワーキング、強力な単精度および倍精度浮動小数点機能、および GPU ごとに 12 GiB メモリを提供し、ディープラーニング、グラフデータベース、高パフォーマンスデータベース、数値流体力学、金融工学、耐震解析、分子モデリング、ゲノム解析、レンダリング、その他サーバー側 GPU コンピューティングワークロードに最適です。

P2 インスタンスは NVIDIA GPUDirect のピアツーピア転送をサポートします。詳細については、NVIDIA GPUDirect を参照してください。

AWS Inferentia を持つインスタンス

これらのインスタンスは、高性能で低レイテンシーの機械学習推論を提供する Amazon のカスタム AI/ML チップである AWS Inferentia を使用して機械学習を高速化するように設計されています。これらのインスタンスは、自然言語処理、オブジェクトの検出と分類、コンテンツのパーソナライズとフィルタリング、音声認識などのアプリケーション向け深層学習 (DL) モデルをデプロイするために最適化されています。

使用を開始するには、さまざまな方法があります。

  • 機械学習モデルの使用を開始する最も簡単な方法であり、フルマネージド型のサービスである SageMaker を使用します。詳細については、「Sagemaker Neo を使用して、Inf1 インスタンスで TensorFlow モデルをコンパイルしてデプロイする」を参照してください。

  • 深層学習 AMI を使用して Inf1 インスタンスを起動します。詳細については、 AWS Deep Learning AMI デベロッパーガイドの 「DLAMI を使用した AWS Inferentia」を参照してください。

  • 独自の AMI を使用して Inf1 インスタンスを起動し、AWS Neuron SDK をインストールします。これにより、AWS Inferentia の深層学習モデルをコンパイル、実行、プロファイリングできます。

  • Inf1 インスタンスと Amazon ECS 最適化 AMI を使用してコンテナインスタンスを起動します。詳細については、Amazon Elastic Container Service Developer Guideの「Amazon Linux 2 (Inferentia) AMI」を参照してください。

  • Inf1 インスタンスを実行するノードを持つ Amazon EKS クラスターを作成します。詳細については、Amazon EKS ユーザーガイドの「AWS Inferentia を使用した機械学習推論」を参照してください。

詳細については、AWS での機械学習をご参照ください。

Inf1 インスタンス

Inf1 インスタンスは、AWS Inferentia 機械学習推論チップを使用します。Inferentia は、コスト効率に優れた、低レイテンシーの推論性能をあらゆる規模で実現するために開発されました。

詳細については、「Amazon EC2 Inf1 インスタンス」を参照してください。

FPGA インスタンス

FPGA ベースのインスタンスでは、数百万の並列システム論理セルを持つ大きな FPGA にアクセスできます。FPGA ベースの高速コンピューティングインスタンスを使用すると、カスタムハードウェアアクセラレーションを活用することにより、ゲノム解析、財務分析、リアルタイム動画処理、ビッグデータ解析、およびセキュリティワークロードなどのワークロードを高速化できます。Verilog や VHDL などのハードウェア記述言語を使用するか、または OpenCL パラレルコンピューティングフレームワークなどの高レベル言語を使用して、これらの加速度を開発できます。ハードウェアアクセラレーションコードを自身で作成することも、 AWS Marketplace からハードウェアアクセラレーションを購入することもできます。

FPGA Developer AMI は、AFI を開発、テスト、および構築するためのツールを提供します。FPGA Developer AMI は、32 GB 以上のシステムメモリを備える任意の EC2 インスタンス (例: C5、M4、R4 インスタンス) で使用できます。

詳細については、「AWS FPGA Hardware Development Kit」のドキュメントを参照してください。

F1 インスタンス

F1 インスタンスは Xilinx UltraScale+ VU9P FPGA を使用し、汎用 CPU に適さないデータフローや高度な並列処理のような計算集約型のアルゴリズムを高速化するように設計されています。F1 インスタンスの各 FPGA には、約 250 万の論理要素と約 6,800 のデジタル信号処理 (DSP) エンジン、ローカルの 64 GiB DDR ECC 保護メモリが含まれ、専用の PCIe Gen3 x16 接続によってインスタンスに接続されています。F1 インスタンスは、ローカルの NVMe SSD ボリュームを提供します。

デベロッパーは FPGA Developer AMI および AWS Hardware Developer Kit を使用して、F1 インスタンスで使用するカスタムハードウェアアクセラレーションを作成できます。FPGA Developer AMI には、クラウド上の FPGA 完全サイクル開発用の開発ツールが含まれます。これらのツールを使用して、デベロッパーは F1 インスタンスの FPGA にロードできる Amazon FPGA Image (AFI) を作成し、共有できます。

詳細については、「Amazon EC2 F1 インスタンス」を参照してください。

ハードウェア仕様

以下に示しているのは、高速コンピューティングインスタンスのハードウェア仕様の要約です。

インスタンスタイプ デフォルト 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
p4d.24xlarge 96 1,152 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
g4ad.xlarge 4 16 1
g4ad.2xlarge 8 32 1
g4ad.4xlarge 16 64 1
g4ad.8xlarge 32 128 2
g4ad.16xlarge 64 256 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
inf1.xlarge 4 8 1
inf1.2xlarge 8 16 1
inf1.6xlarge 24 48 4
inf1.24xlarge 96 192 16

各 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.4xlarge 以下 | g3.4xlarge | g3s.xlarge | g4ad.4xlarge 以下 | p3.2xlarge 最大 10 Gbps † ENA
g3.8xlarge | p2.8xlarge | p3.8xlarge 10 Gbps ENA
g4ad.8xlarge 15 Gbps ENA
g4dn.4xlarge 以下 | inf1.2xlarge 以下 最大 25 Gbps † ENA
f1.16xlarge | g3.16xlarge | g4ad.16xlarge | inf1.6xlarge | p2.16xlarge | p3.16xlarge 25 Gbps ENA
g4dn.8xlarge | g4dn.12xlarge | g4dn.16xlarge 50 Gbps ENA
g4dn.metal | inf1.24xlarge | p3dn.24xlarge 100 Gbps ENA
p4d.24xlarge 4x100 Gbps ENA

† これらのインスタンスにはベースライン帯域幅があり、ネットワーク I/O クレジットメカニズムを使用して、ベストエフォートベースでベースライン帯域幅を超えてバーストできます。詳細については、インスタンスのネットワーク帯域幅を参照してください。

インスタンスタイプ ベースライン帯域幅 (Gbps) バースト帯域幅 (Gbps)
g4ad.xlarge 2 10
g4ad.2xlarge 4.167 10
g4ad.4xlarge 8.333 10
g4dn.xlarge 5 25
g4dn.2xlarge 10 25
g4dn.4xlarge 20 25

インスタンスの機能

以下に示しているのは、高速コンピューティングインスタンスの機能の要約です。

EBS のみ NVMe EBS インスタンスストア 配置グループ

F1

いいえ

いいえ

NVMe *

はい

G2

いいえ

いいえ

SSD

はい

G3

はい

いいえ

いいえ

はい

G4ad

いいえ

はい

NVMe *

はい

G4dn

いいえ

はい

NVMe *

はい

Inf1

はい

いいえ

いいえ

はい

P2

はい

いいえ

いいえ

はい

P3

24xlarge: なし

他のすべてのサイズ: あり

24xlarge: はい

他のすべてのサイズ: なし

24xlarge: NVMe *

はい

P4d

いいえ

はい

NVMe *

はい

* ルートデバイスボリュームは、Amazon EBS ボリュームにする必要があります。

詳細については、以下を参照してください。

リリースノート

  • インスタンスは、HVM AMI を使用して起動する必要があります。

  • Nitro System 上に構築されたインスタンスには、次の要件があります。

    以下の 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 のネイティブホットプラグがサポートされている必要があります。PCIe のネイティブホットプラグは、Amazon Linux 2 および最新バージョンの Amazon Linux AMI でサポートされています。それ以前のバージョンではサポートされていません。次の Linux カーネル設定オプションを有効にする必要があります。

    CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEASPM=y
  • ベアメタルインスタンスでは、I/O ポートベースのシリアルデバイスではなく、PCI ベースのシリアルデバイスを使用しています。アップストリームの Linux カーネルと最新の Amazon Linux AMI は、このデバイスをサポートしています。また、ベアメタルインスタンスでは、システムが PCI ベースのシリアルデバイスを自動的に使用できるようにする ACPI SPCR テーブルも使用できます。最新の Windows AMI では、自動的に PCI ベースのシリアルデバイスが使用されます。

  • リージョンごとに 100 AFI という制限があります。

  • リージョンで起動できるインスタンスの合計数には制限があります。また、一部のインスタンスタイプにはその他の制限もあります。詳細については、Amazon EC2 の「よくある質問」の「Amazon EC2 で実行できるインスタンス数の上限は」を参照してください。