Amazon Web Services ブログ
提供開始 – 大量の演算を行う Amazon EC2 向け C5 インスタンス
新しい大量の演算を行う C5 インスタンスが、3 つの AWS リージョンで 6 つのサイズで発売されることになりました。
これらのインスタンスは、バッチ処理、分散分析、高性能コンピューティング (HPC)、広告配信、高度にスケーラブルなマルチプレイヤーゲーム、動画エンコーディングのような、計算量の多いワークロード向けに設計されています。新しいインスタンスは、C4 インスタンスに対して価格性能比で 25% 向上しており、一部のワークロードでは 50% を上回ります。また、vCPU あたりの追加メモリ (新しい AVX-512 命令を使用できるコード用) は、ベクトルおよび浮動小数点ワークロードの 2 倍のパフォーマンスを備えています。
AWS によって設計され、構築された専用ハードウェアからさまざまな種類の作業負荷を軽減することを長期的な目標として、私たちは長年にわたって最高のネットワーキング、ストレージ、およびコンピューティングパフォーマンスをお客様に提供するために、たゆまず取り組んできました。最新世代のハードウェアオフロードを組み込んだ C5 インスタンスタイプは、ハードウェアと緊密に連携した新しいハイパーバイザーを追加することで、さらに大きな前進を遂げています。新しいハイパーバイザーを使用すると、ホストハードウェアが提供するすべての処理能力にアクセスすることが可能となり、パフォーマンスの一貫性を高め、さらにセキュリティの向上を図ることができます。AWS re:Invent で、多くの技術的な詳細を共有しています。
新しいインスタンス
C5 インスタンスには 6 つのサイズがあります。
インスタンス名 | vCPU |
RAM |
EBS 帯域幅 | ネットワーク帯域幅 |
c5.large | 2 | 4 GiB | 最大 2.25 Gbps | 最大 10 Gbps |
c5.xlarge | 4 | 8 GiB | 最大 2.25 Gbps | 最大 10 Gbps |
c5.2xlarge | 8 | 16 GiB | 最大 2.25 Gbps | 最大 10 Gbps |
c5.4xlarge | 16 | 32 GiB | 2.25 Gbps | 最大 10 Gbps |
c5.9xlarge | 36 | 72 GiB | 4.5 Gbps | 10 Gbps |
c5.18xlarge | 72 | 144 GiB | 9 Gbps | 25 Gbps |
各 vCPU は、 3.0 GHz Intel Xeon Platinum 8000 シリーズプロセッサーのハードウェアハイパースレッドです。EC2 用に最適化されたこのカスタムプロセッサーは、2 つの最大サイズの C ステートを完全に制御できるため、Intel Turbo Boost Technology を使用して最大 3.5 GHz で単一のコアを実行できます。
この表からわかるように、4 つの最小インスタンスサイズは、前世代の大量の演算を行うインスタンスよりも大幅に増加した EBS とネットワーク帯域幅を提供します。
すべてのネットワーキングおよびストレージ機能はハードウェアで実装されているため、C5 インスタンスには Elastic Network Adapter (ENA) および NVMe 用のドライバーを含む HVM AMI が必要となります。最新の Amazon Linux、Microsoft Windows、Ubuntu、RHEL、CentOS、SLES、Debian、および FreeBSD AMI は、すべて C5 インスタンスをサポートしています。機械学習の推論やその他の計算集約型の作業を行っている場合は、Intel Math カーネルライブラリ (MKL) の最新バージョンを確認してください。Intel® Xeon® Platinum プロセッサー用に最適化されており、作業を大幅に高速化できる可能性があります。
Xen ハイパーバイザーを使用するインスタンスとの互換性を維持するために、EBS ボリュームのデバイス名では既存の /dev/sd および /dev/xvd プレフィックスを引き続き使用します。NVMe ドライバーが独自のデバイス名を割り当てるため、インスタンスにボリュームを接続するときに指定したデバイス名は使用されません (詳細については「Amazon EBS および NVMe」を参照)。
nvme
コマンドは、各ボリュームに関する追加情報を表示します。(必要に応じて、 sudo yum -y install nvme-cli
を使用してインストールします):
出力の SN フィールドは、「vol」プレフィックスの後に「-」を挿入することで EBS ボリューム ID にマッピングできます (残念ながら、NVMe SN フィールドは ID 全体を格納するのに十分な長さではありません)。この情報を使用して接続されている各ボリュームの EBS スナップショットを作成する、簡単なスクリプトを次に示します。
$ sudo nvme list | \
awk '/dev/ {print(gensub("vol", "vol-", 1, $2))}' | \
xargs -n 1 aws ec2 create-snapshot --volume-id
もう少し作業 (そして多くのテスト) を行うことで、いっぱいになっている EBS ボリュームを拡張するスクリプトを作成できます。
C5 について理解する
先ほど説明したように、ハードウェアアクセラレータで作業負荷を軽減するための取り組みはかなり前から行われています。概要は次をご覧ください。
CC1 – 2010 年に開始された CC1 は、スケールアウト HPC アプリケーションをサポートするように設計されています。これは、10 Gbps ネットワーキングをサポートする最初の EC2 インスタンスと、HVM 仮想化をサポートする最初の EC2 インスタンスでした。CC1 用に設計されたネットワークファブリック (独自のスイッチハードウェアに基づく) は、すべての AWS データセンターの標準となっています。
C3 – 2013 年に開始された C3 は拡張ネットワーキングを導入し、専用のハードウェアアクセラレーターを使用して、各仮想プライベートクラウド (VPC) 内のソフトウェア定義ネットワークをサポートしています。ハードウェア仮想化は、ゲスト OS による直接アクセスを優先して I/O スタックをハイパーバイザーから削除し、より高いパフォーマンスと変動性の低下をもたらします。
C4 – 2015 年に開始された C4 インスタンスは、デフォルトで専用ネットワーク接続を介して EBS に 最適化され、EBS 処理 (暗号化された EBS ボリュームの CPU に大きな負荷をかける暗号操作を含む) をハードウェアアクセラレーターにオフロードします。
C5 – 今日発表された C5 インスタンスのハイパーバイザーは、ホスト CPU のほとんどすべてのリソースをお客様のインスタンスに費やすことを可能にします。ENA ネットワーキングと EBS への NVMe インターフェイスは、どちらもハードウェアアクセラレーターによって駆動されます。インスタンスは、効率を高めるために削除された Xen 準仮想化ネットワーキングまたはブロックデバイスドライバーを必要としません (またはサポートしません)。
今後は、このハイパーバイザーを使用して他のインスタンスタイプを強化し、一連の AWS re:Invent セッションで追加の技術的な詳細を共有する予定です。
C5 は今すぐ起動できます
C5 インスタンスは現在、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)にて、オンデマンドおよびスポット形式 (リザーブドインスタンスも利用可能) でご利用頂けます。追加のリージョンも準備中です。
現在の NVMe ドライバーは高性能シーケンシャルワークロード用に最適化されておらず、sc1 または st1 ボリュームと組み合わせて C5 インスタンスを使用することはお勧めしません。私たちはこの問題を認識しており、この重要な使用事例のためにドライバーを最適化するよう努めています。
— Jeff;