vCPU について

Compute Engine は、仮想マシン(VM)またはベアメタル インスタンスの作成時に vCPU を割り当てます。このドキュメントでは、vCPU を物理ハードウェアにマッピングして、パフォーマンスの最適化、費用の管理、ソフトウェア ライセンス要件の遵守に役立てる方法について説明します。

vCPU について

仮想 CPU(vCPU)は、コンピューティング インスタンスに割り当てられた中央処理装置(CPU)の単位を表します。基盤となるプロセッサ アーキテクチャに応じて、vCPU は単一のハードウェア実行スレッドまたは専用の物理 CPU コア全体で実行されるようにスケジュールされます。

vCPU は CPU プラットフォームの一部です。CPU プラットフォームは、次のような CPU ベースの構成です。

  • CPU プロセッサ タイプ
  • 命令セット(AVX2、AVX-512 など)
  • キャッシュ サイズ
  • クロック速度
  • NUMA スプリット
  • メモリアクセスのシーク時間
  • オンチップ アクセラレータ

コンピューティング インスタンスに vCPU を割り当てる

VM またはベアメタル インスタンス(総称してコンピューティング インスタンス)を作成するには、マシンタイプを使用します。マシンタイプによって、Compute Engine がインスタンスに割り当てるリソースが決まります。たとえば、c4-standard-4 マシンタイプでは、4 個の vCPU と 16 GB のメモリを備えた VM が作成されます。

ワークロードに適したマシンタイプを選択できるように、Compute Engine ではマシンタイプをマシン ファミリーとマシンシリーズにグループ化しています。

  • マシン ファミリー: 特定のワークロード(汎用、アクセラレータ最適化、メモリ最適化など)に合わせて最適化されたプロセッサとハードウェアから構成される一連のセット。
  • マシンシリーズ: マシン ファミリー内の CPU プロセッサ、ハードウェア、ネットワーキング機能の特定の組み合わせ。シリーズにより、重点を置いているコンピューティング能力やパフォーマンスが異なります。たとえば、E シリーズは低コストで効率的な VM を提供し、C シリーズは E シリーズよりも優れた一貫したパフォーマンスを提供します。

    • マシンシリーズには、C3 や C4 などの複数の世代があります。世代やシリーズ番号が高いほど、基盤となる CPU プロセッサやテクノロジーが新しいことを示します。たとえば、第 5 世代の Intel Xeon プロセッサ(Emerald Rapids)で動作する M4 シリーズは、第 3 世代の Intel Xeon プロセッサ(Ice Lake)で動作する M3 マシンシリーズよりも新しい世代です。
    • マシンシリーズとマシンタイプの基盤となるアーキテクチャは、マシンシリーズ名の末尾の文字で示されます。たとえば、第 4 世代の C マシンシリーズは、C4(Intel)、C4D(AMD)、C4A(Arm)、C4N(ネットワーク最適化)として利用できます。

物理コアのマッピングと同時マルチスレッディング

ほとんどの x86 プロセッサでは、各物理 CPU コアは 2 つのハードウェア実行スレッドをサポートしています。Intel Xeon プロセッサは Intel ハイパースレッディングを使用し、AMD EPYC プロセッサは同時マルチスレッディング(SMT)を使用します。これらのプロセッサでは、Compute Engine は各 vCPU を物理コア上で実行される単一のハードウェア スレッドとして実装します。したがって、2 つの vCPU が 1 つの物理 CPU コアを共有します(vCPU と物理コアの比率は 2:1)。たとえば、4 個の vCPU を持つ VM は、SMT を使用する 2 個の物理 CPU コアを使用します。

特定のマシンシリーズとプロセッサ アーキテクチャでは、Compute Engine は SMT を使用しません。代わりに、各 vCPU は 1 つの専用物理 CPU コアに直接マッピングされます(vCPU と物理コアの比率は 1:1)。

  • Arm プロセッサ: N4A、C4A、A4X などの Arm64 ベースのマシンシリーズでは、ハードウェア アーキテクチャはシングルスレッド コアを使用します。各 vCPU は 1 つの物理コア全体を表します。
  • コンピューティング最適化マシンシリーズ: H4D マシンシリーズと H3 マシンシリーズはどちらも SMT をサポートしていません。各 vCPU は物理 CPU コア全体を表し、高いシングルスレッド パフォーマンスを提供し、スレッド間のリソース競合を排除します。
  • Tau マシンシリーズ: Tau T2A(Ampere Altra プロセッサ搭載)と Tau T2D マシンシリーズ(第 3 世代 AMD EPYC Milan プロセッサ搭載)の場合、Compute Engine は設計上 SMT を無効にします。これらのコンピューティング インスタンス タイプには、常にコアごとに 1 つの vCPU があります。
  • ベアメタル インスタンス: ベアメタル インスタンスの場合、vCPU は CPU と同等です。インスタンスで使用可能な vCPU の数は、ホストサーバー上のハードウェア スレッドの数と同じです。コアあたりのスレッド数を手動で調整または設定することはできません。

特定のワークロードまたはソフトウェア ライセンスの要件を満たすために、ゲスト オペレーティング システムに表示される vCPU の数をカスタマイズできます。詳細については、可視 CPU コアの数をカスタマイズするをご覧ください。SMT を使用しないマシンシリーズとアーキテクチャの一覧については、コアあたりのスレッド数を設定するをご覧ください。

専用 vCPU と共有コア vCPU

マシンタイプを選択すると、vCPU は CPU ハードウェア スレッドにマッピングされるか、共有コア リソースモデルを使用します。

  • フル vCPU: 標準、ハイメモリ、ハイ CPU、カスタム マシンタイプでは、各 vCPU にハードウェア実行スレッドまたは物理コアが割り当てられます。
    • 汎用マシン ファミリーの N4、N4A、N4D、E2 マシンシリーズの場合、動的リソース管理(DRM)システムにより、アクティブなすべての vCPU に、それをサポートするハードウェア実行スレッドが割り当てられます。DRM により Compute Engine は、リソースの需要に基づいてサーバーにコンピューティング インスタンスをスケジューリングし、待ち時間が最小限になるように vCPU スレッドを物理 CPU にスケジューリングすることで、利用可能な物理 CPU を有効活用できます。汎用マシン ファミリーの N1、N2、N2D マシンシリーズは、標準のホスト スケジューリングを使用します。
    • C、M、G、Z、A マシンシリーズの場合、vCPU リソースはインスタンスに排他的に割り当てられ、他のコンピューティング インスタンスと実行サイクルを共有することはありません。
  • 共有コア vCPU: 共有コア マシンタイプは、e2-micro、e2-small、e2-medium、f1-micro、g1-small です。これらのマシンタイプは、コンテキスト切り替えを使用して物理 CPU コアをタイムシェアします。これらの共有コア VM は、専用のハードウェア スレッドではなく、物理コア時間の特定の割合を維持します。

    • e2-micro は 2 つの vCPU を維持し、それぞれが CPU 時間の 12.5%(合計 25%)を占めます。
    • e2-small は 2 つの vCPU を維持し、それぞれが CPU 時間の 25%(合計 50%)を占めます。
    • e2-medium は 2 つの vCPU を維持し、それぞれが CPU 時間の 50%(合計 100%)を占めます。
    • f1-micro は、単一の vCPU を CPU 時間の 20% まで維持します。
    • g1-small は、1 つの vCPU を CPU 時間の 50% まで維持します。

    フル vCPU を搭載した VM と比較すると、共有コア vCPU を搭載した VM は、リソースを大量に消費しない小規模なアプリケーション、マイクロサービス、開発ワークロード、テスト ワークロードなど、継続的なピーク CPU スループットを必要としないワークロードを実行するための費用対効果の高いオプションとなります。

vCPU のパフォーマンス特性

vCPU の処理パフォーマンスは、CPU プラットフォーム、クロック速度、キャッシュ階層、マルチスレッド ダイナミクス、リソース スケジューリングによって異なります。

CPU プラットフォームと命令セット

Compute Engine には、複数の世代の Intel、AMD、Arm、カスタム Google プロセッサで実行されるコンピューティング インスタンスが用意されています。各 CPU プラットフォームには、マイクロアーキテクチャの機能強化と専用の命令セットが導入されています。

  • Advanced Vector Extensions(AVX-512): Intel プラットフォーム(Ice Lake、Emerald Rapids、Sapphire Rapids など)と AMD EPYC プラットフォーム(Genoa、Turin)で利用可能な AVX-512 は、ベクトル演算、科学計算、データ圧縮を高速化します。
  • AMX と VNNI: これらの拡張機能は、vCPU 上でディープ ラーニングの推論と行列演算を直接高速化します。
    • Advanced Matrix Extensions(AMX)は、インテル プロセッサ(インテル Xeon 第 4 世代 Sapphire Rapids 以降)で使用できます。
    • Vector Neural Network Instructions(VNNI)は、Intel プロセッサと AMD EPYC プロセッサ(Genoa 第 4 世代以降)の両方で使用できます。
  • Arm NEON と SVE: Ampere Altra CPU プラットフォームで利用可能な Arm NEON と、Google Axion および NVIDIA Grace CPU プラットフォームで利用可能な Scalable Vector Extension(SVE)は、クラウドネイティブなウェブ ワークロードにスケーラブルなベクトル実行を提供します。

クロック速度とターボ周波数

vCPU は、基盤となる物理プロセッサの基本クロック周波数で命令を実行します。ワークロードで追加の処理能力が必要になり、熱ヘッドルームが許容される場合、プロセッサは自動的に周波数をオールコア ターボ周波数またはシングルコア ターボ周波数に引き上げます。

特定のマシンシリーズは、Compute Engine で最も高い持続クロック速度で動作します。たとえば、Granite Rapids で実行される C4 の全コアターボ周波数は最大 3.9 GHz、A3 Mega または A3 High の全コアターボ周波数は最大 3.8 GHz です。シングルスレッド アプリケーション、電子設計自動化(EDA)、ゲームサーバーには、高周波数の vCPU を選択します。

Compute Engine で使用される各 CPU プラットフォームの周波数については、CPU プラットフォームをご覧ください。

マルチスレッド処理のリソース共有

SMT が有効なマシンタイプ(コアあたり 2 つの vCPU)では、2 つのハードウェア実行スレッドが物理コアのレベル 1(L1)命令キャッシュとデータ キャッシュ、レベル 2(L2)キャッシュ、実行ユニット、トランスレーション ルックアサイド バッファ(TLB)を共有します。

  • I/O バウンド ワークロードと同時実行ワークロード: ウェブサーバー、API Gateway、頻繁にメモリアクセスを行うデータベース オペレーションの場合、SMT は、1 つのスレッドで命令を実行し、もう 1 つのスレッドでメモリの取得を待機することで、コア全体のスループットを向上させます。
  • コンピューティング能力による制約を受けるワークロード: 浮動小数点ユニットまたは L1 / L2 キャッシュを継続的に飽和させるアプリケーションの場合、2 つの vCPU 間で実行ユニットを共有すると、リソースの競合が発生する可能性があります。SMT 対応のコンピューティング インスタンスでワークロードに競合が発生する場合は、コアあたりのスレッド数を 1 に設定して SMT を無効にするか、専用の物理コア(C4A や H4D など)を備えたマシンシリーズに移行することを検討してください。

動的リソース管理とパフォーマンス モニタリング

Compute Engine は、専用のハードウェアとソフトウェアの最適化を使用して、予測可能な vCPU レイテンシを維持します。

  • Google Titanium アーキテクチャ: 次世代マシンシリーズ(N4、N4D、N4A、C3、C3D、C4 など)は、Google Titanium オフロードカード、カスタム CPU スケジューラ、パフォーマンスを考慮したライブ マイグレーションを使用します。動的リソース管理により、NUMA(不均一メモリアクセス)アフィニティが維持され、ノイジー ネイバーの干渉が最小限に抑えられます。
  • E2 の動的リソース管理: E2 VM の場合、ハイパーバイザは仮想 CPU とメモリを物理リソースにオンデマンドで動的にマッピングします。この動的マッピングにより、物理リソースの使用が最適化され、コスト効率が向上します。
  • パフォーマンス モニタリング ユニット(PMU): サポートされているマシンシリーズ(C4、M4、A4X など)で PMU を有効にすると、低レベルのハードウェア カウンタにアクセスできます。プロファイリング ツールは、PMU カウンタを使用して、分岐予測ミス、キャッシュミス、サイクルあたりの命令数(IPC)を追跡します。
  • Ops エージェント: コンピューティング インスタンスに Ops エージェントをインストールして、CPU 使用率をモニタリングし、システムレベルのテレメトリーを収集できます。Ops エージェントは、このデータを Google Cloud Observability に送信して、vCPU のパフォーマンスの分析と最適化を支援します。

料金に関する考慮事項

ワークロードの予算と容量を計画する際は、Compute Engine の vCPU の課金方法と利用可能な割引モデルを考慮してください。

リソースの課金の粒度

ほとんどのマシンシリーズでは、Compute Engine は vCPU とシステムメモリを個別の専用リソースとして課金します。インスタンスの料金は秒単位で課金されます。起動するコンピューティング インスタンスごとに 1 分間の最小課金時間が適用されます。最初の 1 分が経過すると、インスタンスが実行されている時間(秒単位)に対してのみ料金が発生します。

共有コア マシンタイプ(E2 共有コアや N1 共有コアなど)の場合、Compute Engine は vCPU とメモリを個別のリソースとして課金するのではなく、1 つの組み合わせた時間料金にバンドルします。

vCPU の課金レートについては、VM インスタンスの料金ページをご覧ください。

費用の最適化と割引

次の料金オプションを使用すると、vCPU の請求額を削減できます。

  • 確約利用割引(CUD): ワークロードに予測可能な定常状態の vCPU 要件がある場合は、1 年間または 3 年間のコミットメントを購入して、オンデマンド料金から最大 55% ~ 70% の割引を受けることができます。Compute Engine には、リージョン内の特定のマシンシリーズを対象とするリソースベースの CUD と、複数のマシンシリーズとリージョンに適用される費用ベースのフレキシブル CUD があります。Cloud 請求先アカウント内のプロジェクト間で CUD を共有できます。
  • 継続利用割引(SUD): 対象となるマシンシリーズ(N1、N2、N2D、C2、M1、M2 など)の場合、vCPU が請求月の 25% を超えて実行されると、Compute Engine は SUD を自動的に適用します。VM インスタンスを 1 か月間継続して実行すると、マシンシリーズに応じて最大 20% または 30% の割引が適用されます。オンデマンド料金が引き下げられたマシンシリーズ(E2、N4、C3、C4、Tau T2A、A3 など)では、SUD は提供されません。
  • Spot VM: フォールト トレラントなワークロード、ステートレス ワークロード、バッチ ワークロードの場合、Spot VM では標準のオンデマンド vCPU 料金から最大 60% ~ 91% 割引されます。Compute Engine は、容量を再利用するために、Spot VM をいつでも停止または再利用できます。
  • 単一テナントノードと vCPU のオーバーコミット: 単一テナントノードで VM インスタンスを実行すると、個々の vCPU ではなく、専用の物理ホストサーバーに対して料金が発生します。単一テナントノードでは、CPU のオーバーコミット(最大 2:1 の比率)を構成して、物理ホストのコア数よりも多くの vCPU を VM インスタンスにスケジュールし、開発環境またはテスト環境のコンピューティング費用を削減できます。
  • Dynamic Workload Scheduler(DWS): AI ワークロードまたは ML ワークロードの場合、DWS を使用して vCPU の費用を最適化し、リソースの可用性を向上させることができます。
    • Flex Start VM: 最大 7 日間実行されるワークロードの費用対効果が高く柔軟なスケジューリングに使用します。
    • カレンダー モードの将来の予約リクエスト: 将来の特定の日時に最大 90 日間リソースを予約するために使用します。
  • 適切なサイズ設定の推奨事項: Compute Engine は、過去の vCPU 使用率の指標を分析し、自動化されたマシンタイプの推奨事項とアイドル状態のコンピューティング インスタンスの推奨事項を提供します。これらの推奨事項を適用すると、オーバープロビジョニングされた vCPU のサイズ変更や、アイドル状態のインスタンスの停止に役立ちます。

マシンシリーズの可用性

次の表に、Compute Engine マシンシリーズの vCPU アーキテクチャ モデル、マルチスレッド率、最大 vCPU 数を示します。最大 vCPU 数は、ベアメタル インスタンスを含む各シリーズの最大マシンタイプを反映しています。

マシン ファミリー マシンシリーズ プロセッサ アーキテクチャ vCPU とコアの比率 最大 vCPU 数 共有コア オプション
汎用 E2 Intel Xeon / AMD EPYC 2 vCPU : 1 コア(SMT) 32 vCPU はい(e2-micro、e2-small、e2-medium)
汎用 N1 複数世代の Intel Xeon プロセッサ 2 vCPU : 1 コア(SMT) 96 vCPU はい(f1-micro、g1-small)
汎用 N2 Intel Xeon(Cascade Lake / Ice Lake) 2 vCPU : 1 コア(SMT) 128 vCPU ×
汎用 N2D AMD EPYC(Rome / Milan) 2 vCPU : 1 コア(SMT) 224 vCPU ×
汎用 N4 第 5 世代 Intel Xeon(Emerald Rapids) 2 vCPU : 1 コア(SMT) 80 vCPU ×
汎用 N4D 第 5 世代 AMD EPYC(Turin) 2 vCPU : 1 コア(SMT) 96 vCPU ×
汎用 N4A Google Axion(Arm64) 1 vCPU : 1 コア(SMT なし) 64 vCPU ×
汎用 C3 第 4 世代 Intel Xeon(Sapphire Rapids) 2 vCPU : 1 コア(SMT) 176 vCPU ×
汎用 C3D 第 4 世代 AMD EPYC(Genoa) 2 vCPU : 1 コア(SMT) 360 vCPU ×
汎用 C4 第 5 世代 Intel Xeon(Emerald Rapids)と第 6 世代 Intel Xeon(Granite Rapids) 2 vCPU : 1 コア(SMT) 288 vCPU ×
汎用 C4A Google Axion(Arm64) 1 vCPU : 1 コア(SMT なし) 96 vCPU ×
汎用 C4D 第 5 世代 AMD EPYC(Turin) 2 vCPU : 1 コア(SMT) 384 vCPU ×
汎用 Tau T2A Ampere Altra(Arm64) 1 vCPU : 1 コア(SMT なし) 48 vCPU ×
汎用 Tau T2D 第 3 世代 AMD EPYC(Milan) 1 vCPU : 1 コア(SMT 無効) 60 vCPU ×
コンピューティング最適化 C2 Intel Xeon(Cascade Lake) 2 vCPU : 1 コア(SMT) 60 vCPU ×
コンピューティング最適化 C2D AMD EPYC(Milan) 2 vCPU : 1 コア(SMT) 112 vCPU ×
コンピューティング最適化 H3 第 4 世代 Intel Xeon(Sapphire Rapids) 1 vCPU : 1 コア(SMT なし) 88 vCPU ×
コンピューティング最適化 H4D 第 5 世代 AMD EPYC(Turin) 1 vCPU : 1 コア(SMT なし) 192 vCPU ×
ネットワーク最適化 C4N 第 5 世代 Intel Xeon(Emerald Rapids) 2 vCPU : 1 コア(SMT) 192 vCPU ×
メモリ最適化 X4 第 4 世代 Intel Xeon(Sapphire Rapids) 2 vCPU : 1 コア(SMT) 1,920 個の vCPU ×
メモリ最適化 M1 Intel Xeon(Skylake、Broadwell) 2 vCPU : 1 コア(SMT) 160 vCPU ×
メモリ最適化 M2 第 2 世代 Intel Xeon(Cascade Lake) 2 vCPU : 1 コア(SMT) 416 vCPU ×
メモリ最適化 M3 第 3 世代 Intel Xeon(Ice Lake) 2 vCPU : 1 コア(SMT) 128 vCPU ×
メモリ最適化 M4/M4N 第 5 世代 Intel Xeon(Emerald Rapids) 2 vCPU : 1 コア(SMT) 224 vCPU ×
ストレージ最適化 Z3 第 4 世代 Intel Xeon(Sapphire Rapids) 2 vCPU : 1 コア(SMT) 192 vCPU ×
ストレージ最適化 Z4D 第 5 世代 AMD EPYC(Turin) 2 vCPU : 1 コア(SMT) 288 vCPU ×
ストレージ最適化 Z4M 第 5 世代 Intel Xeon(Emerald Rapids) 1 vCPU : 1 コア(SMT なし) 192 vCPU ×
アクセラレータ最適化 A4X Max NVIDIA Grace 1 vCPU : 1 コア(SMT なし) 144 vCPU ×
アクセラレータ最適化 A4X NVIDIA Grace 1 vCPU : 1 コア(SMT なし) 140 vCPU ×
アクセラレータ最適化 A4 第 5 世代 Intel Xeon(Emerald Rapids)と NVIDIA GPU の組み合わせ 2 vCPU : 1 コア(SMT) 224 vCPU ×
アクセラレータ最適化 A3 Intel Xeon(Emerald Rapids と Sapphire Rapids)と NVIDIA GPU の組み合わせ 2 vCPU : 1 コア(SMT) 224 vCPU ×
アクセラレータ最適化 A2 第 2 世代 Intel Xeon(Cascade Lake)と NVIDIA GPU の組み合わせ 2 vCPU : 1 コア(SMT) 96 vCPU ×
アクセラレータ最適化 G4 第 5 世代 AMD EPYC(Turin)と NVIDIA GPU の組み合わせ 2 vCPU : 1 コア(SMT) 384 vCPU ×
アクセラレータ最適化 G2 第 2 世代 Intel Xeon(Cascade Lake)と NVIDIA GPU の組み合わせ 2 vCPU : 1 コア(SMT) 96 vCPU ×

すべてのシリーズの vCPU あたりのメモリ、ネットワーク帯域幅、ローカルディスクのサポートの詳細な仕様については、マシンリソース ガイドをご覧ください。

次のステップ