Elastic Compute Service (ECS) インスタンスの CPU トポロジーは、必要に応じて表示および変更して、パフォーマンスと並列処理を向上させ、仮想化環境、マルチスread プログラミング、ハイパフォーマンスコンピューティング (HPC) などのさまざまなシナリオでリソース割り当てを最適化できます。このトピックでは、API 操作を呼び出して ECS インスタンスの CPU トポロジーを表示および変更する方法について説明します。
背景情報
一部の Alibaba Cloud インスタンスファミリーは、ハイパースレッディング (HT) 連続モード (ContinuousCoreToHTMapping) と HT 分離モード (DiscreteCoreToHTMapping) という 2 種類の CPU トロジーをサポートしています。
HT 連続 CPU トポロジー: 論理コアが物理コアに連続的に割り当てられ、スレッド間の通信と競合を減らすのに役立ちます。このモードは、メモリへのアクセスとコアコンピューティングに敏感な科学計算、データ分析、ハイパフォーマンスコンピューティングなど、低いメモリアクセスレイテンシーと物理コアが提供する計算能力に近い計算能力を必要とするコンピューティングタスクに適しています。
HT 分離 CPU トポロジー: 論理コアが物理コアに分離して分散されるため、マルチスレッド環境でのリソース競合を減らし、より優れたパフォーマンス分離を提供できます。このモードは、スレッドに個別に割り当てられるタスクや、高いシングルスレッドパフォーマンスを必要とするタスクに適しています。
この例では、8 つの vCPU を持つ x86 インスタンスを使用します。次の図は、2 種類の CPU トポロジーを示しています。
次の図は、2 種類の CPU トポロジーを示しています。
HT 連続モード

論理コアと物理コアの関係:
HT 0とHT 1はCORE 0に属します。HT 2とHT 3はCORE 1に属します。HT 4とHT 5はCORE 2の一部です。HT 6とHT 7はCORE 3に属します。
HT 分離モード

論理コアと物理コアの関係:
HT 0とHT 4はCORE 0に属します。HT 1とHT 5はCORE 1に属します。HT 2とHT 6はCORE 2に属します。HT 3とHT 7はCORE 3に属します。
制限
インスタンスの CPU トポロジーは、次のインスタンスファミリーでのみ変更できます:
ecs.g9i、ecs.c9i、および ecs.r9i
ecs.hfg9i、ecs.hfc9i、および ecs.hfr9i
ecs.g8i、ecs.c8i、および ecs.r8i
ecs.g7、ecs.c7、および ecs.r7
ecs.g7a、ecs.c7a、および ecs.r7a
ecs.hfg8i、ecs.hfc8i、および ecs.hfr8i
ecs.hfg7、ecs.hfc7、および ecs.hfr7
ecs.g6、ecs.c6、および ecs.r6
ecs.g6e、ecs.c6e、および ecs.r6e
詳細については、「インスタンスファミリーの概要」をご参照ください。
CPU トポロジーの表示
AdditionalAttributes リクエストパラメーターを含めて DescribeInstances API 操作を呼び出します。レスポンスを確認して、インスタンスの CPU トポロジーを判断します。詳細については、「DescribeInstances」をご参照ください。
レスポンスパラメーターは次の値を返すことができます:
HT 連続モード:
ContinuousCoreToHTMappingHT 分離モード:
DiscreteCoreToHTMapping空の値は変更できません。
インスタンスの CPU トポロジーの変更
ビジネス要件に合わせてインスタンスの CPU トポロジーを変更する場合は、CPU トポロジーを変更する前にベンチマークテストとパフォーマンス評価を実行して、最適なモードを決定することをお勧めします。
API 操作を呼び出し、CpuOptions.TopologyType パラメーターを設定して、インスタンスの CPU トポロジーを変更できます。
インスタンスの作成
RunInstances API 操作を呼び出し、
CpuOptions.TopologyTypeパラメーターを設定して CPU トポロジーを変更します。詳細については、「RunInstances」をご参照ください。作成済みインスタンス
説明API 操作を呼び出して既存のインスタンスの CPU トポロジーを変更する前に、インスタンスが [停止済み] 状態であることを確認してください。
ModifyInstanceAttribute API 操作を呼び出し、
CpuOptions.TopologyTypeパラメーターを設定して CPU トポロジーを変更します。詳細については、「ModifyInstanceAttribute」をご参照ください。
CpuOptions.TopologyType パラメーターの有効な値は次のとおりです:
HT 連続モード:
ContinuousCoreToHTMappingHT 分離モード:
DiscreteCoreToHTMapping