全部產品
Search
文件中心

Elastic Compute Service:查看和修改CPU拓撲結構

更新時間:Jun 30, 2024

您可以查看並修改ECS執行個體的CPU拓撲結構來提高效能、提升並行性以及最佳化資源分派,以滿足您在虛擬化環境、多線程編程、高效能運算等不同情境下的需求。本文介紹如何通過OpenAPI查看和修改執行個體的CPU拓撲結構。

背景資訊

什麼是CPU 拓撲

CPU拓撲是多核處理器中物理核心與邏輯核心之間的串連方式。通常情況下,每個物理核心都包含一個或多個邏輯核心,而物理核心直接通過匯流排或互連網絡串連,拓撲結構的不同將直接影響多核處理器的效能和能效。

目前阿里雲部分執行個體規格類型系列支援HT連續模式(ContinuousCoreToHTMapping)和HT離散模式(DiscreteCoreToHTMapping)兩種不同的拓撲結構。具體說明如下:

  • HT連續模式:邏輯核心連續分配給物理核心,有助於減少線程之間的通訊和競爭。適用於需要較低的訪存延遲和更接近物理核心的計算任務,例如科學計算、資料分析、高效能運算等對記憶體訪問和核心計算敏感的應用。

  • HT離散模式:邏輯核心分散分配給物理核心,可以有助於減少多線程環境中的資源爭奪,並提供更好的效能隔離。適用於工作負載中分配給各線程的任務相對獨立,或者對單線程效能要求較高的情境。

說明

本文以一台8 vCPU的X86架構的執行個體規格為例,兩種CPU拓撲結構的說明如下所示。

CPU拓撲結構如下圖所示:

HT連續模式

image.png

邏輯核心與物理核心的關係如下所示:

  • HT 0HT 1屬於一個核心CORE 0

  • HT 2HT 3屬於一個核心CORE 1

  • HT 4HT 5屬於一個核心CORE 2

  • HT 6HT 7屬於一個核心CORE 3

HT離散模式

image.png

邏輯核心與物理核心的關係如下所示:

  • HT 0HT 4屬於一個核心CORE 0

  • HT 1HT 5屬於一個核心CORE 1

  • HT 2HT 6屬於一個核心CORE 2

  • HT 3HT 7屬於一個核心CORE 3

使用限制

僅以下執行個體規格類型系列支援修改CPU拓撲結構:

  • 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拓撲結構

您可以通過調用DescribeInstances介面,填寫請求參數AdditionalAttributes,查看對應返回參數資訊,確認當前執行個體的CPU拓撲類型。更多資訊,請參見DescribeInstances

返回參數的可能值如下:

  • HT連續模式:ContinuousCoreToHTMapping

  • HT離散模式:DiscreteCoreToHTMapping

  • 不支援修改:空

修改CPU拓撲結構

重要

如果您因業務需求需要修改CPU拓撲結構,建議您在修改之前進行一些基準測試和效能評估,以確定哪種模式最適合您的工作負載。

您可以通過調用OpenAPI並設定不同的參數來修改執行個體的CPU拓撲結構。

  • 建立執行個體時

    調用RunInstances介面,填寫請求參數CpuOptions.TopologyType的取值來修改CPU拓撲結構。更多資訊,請參見RunInstances

  • 已建立執行個體

    說明

    通過調用API介面修改ECS執行個體的CPU拓撲結構時,請確保執行個體處於已停止狀態。

    調用ModifyInstanceAttribute介面,填寫請求參數CpuOptions.TopologyType的取值來修改CPU拓撲結構。更多資訊,請參見ModifyInstanceAttribute

請求參數CpuOptions.TopologyType的取值範圍如下:

  • HT連續模式:ContinuousCoreToHTMapping

  • HT離散模式:DiscreteCoreToHTMapping