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 アプリケーションストリーミング、およびその他のグラフィックスワークロードを含む、グラフィックアプリケーションにも使用できます。

G4 インスタンス

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

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

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

G3 インスタンス

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 インスタンス

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

P3 インスタンス

P3 インスタンスは NVIDIA Tesla V100 GPU を使用し、CUDA または OpenCL プログラミングモデルを使用するか、Machine Learning フレームワークを使用する汎用 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 を使用したインスタンス

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

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

  • 機械学習モデルの使用を開始する最も簡単な方法であり、フルマネージド型のサービスである SageMaker を使用します。詳細については、Github の「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 ユーザーガイドの「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
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
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.2xlarge | f1.4xlarge | g3.4xlarge | p3.2xlarge 最大 10 Gbps † ENA
g3s.xlarge | g3.8xlarge | p2.8xlarge | p3.8xlarge 10 Gbps ENA
g4dn.xlarge | g4dn.2xlarge | g4dn.4xlarge | inf1.xlarge | inf1.2xlarge 最大 25 Gbps † ENA
f1.16xlarge | g3.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

† これらのインスタンスでは、ネットワーク I/O クレジットメカニズムを使用して、平均帯域幅使用率に基づいてインスタンスにネットワーク帯域幅を割り当てます。これらのインスタンスでは、帯域幅がベースライン帯域幅を下回るとクレジットを獲得し、これらのクレジットを、ネットワークデータ転送を実行するときに使用できます。詳細については、サポートケースを開き、関心のある特定のインスタンスタイプのベースライン帯域幅について問い合わせてください。

インスタンスの機能

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

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

G2

なし

いいえ

SSD

あり

G3

はい

いいえ

いいえ

はい

G4

いいえ

はい

NVMe *

はい

Inf1

はい

いいえ

いいえ

あり

P2

はい

いいえ

いいえ

はい

P3

24xlarge: なし

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

24xlarge: はい

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

24xlarge: NVMe *

はい

F1

いいえ

いいえ

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 のネイティブホットプラグサポートが必要です。Amazon Linux 2 および最新バージョンの Amazon Linux AMI は PCIe ネイティブホットプラグをサポートしていますが、以前のバージョンではサポートされていません。次の 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 のよくある質問で「How many instances can I run in Amazon EC2?」を参照してください。