對於可在不同 CPU 平台上執行的機器類型,本頁說明如何建立或更新 Compute Engine 執行個體,以使用指定的 CPU 相容性等級,而非預設等級。
Google 資料中心提供不同世代的 CPU 處理器。這些處理器支援遞增功能,例如進階向量擴充功能 (例如 AVX2 和 AVX-512)。此外,時脈速度、NUMA 分割和記憶體存取搜尋時間等基本功能,在 CPU 處理器之間也可能有所不同。CPU 平台是指以 CPU 為基礎的設定。
每個機器系列都適用於一或多個 CPU 處理器。舉例來說,C4 執行個體可執行 Intel Emerald Rapids 或 Granite Rapids CPU。如果機器系列支援多個 CPU,您可以在建立執行個體時選擇最低 CPU 平台。可設定的 CPU 數量下限取決於機型,以及您為運算執行個體選擇的區域和可用區。
如果工作負載對 CPU 特定功能 (例如指令集,如 AVX2 而非 AVX-512)、快取大小或時脈速度很敏感,而這些功能在不同 CPU 平台之間可能有所差異,那麼選擇特定 CPU 就很有用。
- 您可以將最低 CPU 設定為較新的處理器,以充分運用更高的時脈頻率
- 您可以將最低 CPU 設為較舊的處理器,確保應用程式相容性。
不過,使用最低 CPU 設定可能會限制運算執行個體可執行的區域。
事前準備
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上的分頁,瞭解如何使用範例:
控制台
使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,無須設定驗證。
gcloud
-
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init
-
- 設定預設地區和區域。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。
必要角色和權限
如要取得變更最低 CPU 平台所需的權限,請要求系統管理員授予您專案的下列 IAM 角色:
- Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1) -
如要連線至可當做服務帳戶執行的運算執行個體:
服務帳戶使用者 (v1) (
roles/iam.serviceAccountUser角色)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
選取最低 CPU 平台的時機
每個 Compute Engine 區域都有各機器系列的預設 CPU。如果未指定執行個體的最低 CPU 值,則運算執行個體會使用指派給機型和可用區的預設 CPU。
Google 建議您僅在下列情況選擇 CPU 平台相容性等級:
- 效能:如果特定處理器能大幅提升工作負載速度,或具備程式碼所需的 AVX-512 等功能
- 相容性:如果運算執行個體需要特定作業系統、指令集或程式庫,但較新的 CPU 平台不支援這些項目
- 預留資源:如果您使用預留資源,運算執行個體必須使用與預留資源相同的 CPU 平台。
使用預設 CPU 平台
如果未指定執行個體的最低 CPU,系統會將最低 CPU 設為 AUTOMATIC。這表示執行個體會使用機型的預設 CPU 平台。
在極少數情況下,Google 會更新機型和可用區的 CPU 平台。
選取最低 CPU 平台的運作方式
指定最低 CPU 值後,Compute Engine 會為執行個體提供該 CPU 平台。除非變更,否則運算執行個體會繼續使用該 CPU 平台。
即使在維護作業期間進行即時遷移,運算執行個體仍會使用指定的 CPU 平台。
限制
- 每個區域和可用區都支援多個 CPU 平台,但區域或可用區可能不會提供所有 CPU 平台。
- 您無法為在單一租戶節點上執行的運算執行個體指定最低 CPU 平台。
- 您無法為任何 E2 虛擬機器 (VM) 執行個體選取最低 CPU 平台。
- 如果 VM 執行個體是使用共用核心一般用途機器類型建立,您就無法指定最低 CPU 平台。
CPU 平台可用性
CPU 平台的可用性因區域而異,取決於各區域提供的硬體和機器系列。下表列出支援的最低 CPU 平台,以及每個平台的有效語法:
- 第 6 代:Intel Xeon (Granite Rapids) 處理器:
"Intel Granite Rapids" - 第 5 代:Intel Xeon (Emerald Rapids) 處理器:
"Intel Emerald Rapids" - 第 4 代:Intel Xeon (Sapphire Rapids) 處理器:
"Intel Sapphire Rapids" - 第 3 代:Intel Xeon (Ice Lake) 處理器:
"Intel Ice Lake" - 第 2 代:Intel Xeon (Cascade Lake) 處理器:
"Intel Cascade Lake" - 第一代:Intel Xeon (Skylake) 處理器:
"Intel Skylake" - Intel Xeon E5 v4 (Broadwell) 處理器:
"Intel Broadwell" - Intel Xeon E5 v3 (Haswell) 處理器:
"Intel Haswell" - Intel Xeon E5 v2 (Ivy Bridge) 處理器:
"Intel Ivy Bridge" - Intel Xeon E5 (Sandy Bridge) 處理器:
"Intel Sandy Bridge" - 第 5 代:AMD EPYC Turin 處理器:
"AMD Turin" - 第 4 代:AMD EPYC Genoa 處理器:
"AMD Genoa" - 第 3 代:AMD EPYC Milan 處理器:
"AMD Milan"
查看各區域可用的 CPU
部分區域和可用區支援相同機器系列的 CPU 平台。您可以使用 gcloud CLI 或 REST,查看區域中可用的 CPU。
如果您使用專屬節點,每個節點都會使用與節點範本中定義的節點類型對應的 CPU 平台。
gcloud
如要查看您區域中可用的 CPU 平台,請使用
gcloud compute zones describe指令:gcloud compute zones describe ZONE
將
ZONE替換成要檢查可用 CPU 平台的區域名稱,例如europe-west10-a。以下是這個指令的輸出內容,列出
europe-west10-a區域的 CPU 平台:gcloud compute zones describe europe-west10-a availableCpuPlatforms: - Intel Broadwell - Intel Cascade Lake - Intel Ice Lake - AMD Milan - Intel Skylake ...
REST
向您考慮的區域發出
GET要求:GET https://compute.s3nsapis.fr/compute/v1/projects/myproject/zones/ZONE
將
ZONE替換為要檢查可用 CPU 平台的區域名稱。以下是這項指令的輸出內容,列出區域支援的 CPU 平台:
{ "kind": "compute#zone", "id": "2210", "creationTimestamp": "1969-12-31T09:30:55.189-07:00", "name": "europe-west10-a", "description": "europe-west10-a", "status": "UP", "region": "https://www.s3nsapis.fr/compute/v1/projects/myproject/regions/europe-west10-a", "selfLink": "https://www.s3nsapis.fr/compute/v1/projects/myproject/zones/europe-west10-a", "availableCpuPlatforms": [ "Intel Broadwell", "Intel Cascade Lake", "Intel Ice Lake", "AMD Milan", "Intel Skylake" ], "supportsPzs": true }
預設 CPU 平台異動
在極少數情況下,Google 會更新區域中機器系列的預設 CPU 平台。屆時,Google 會通知您,並提供時間表和操作說明,協助您遷移至新平台。
如果您為運算執行個體指定了最低 CPU 平台,變更預設 CPU 平台不會對執行個體造成影響。Compute Engine 提供的 CPU 平台一律不會比執行個體最低 CPU 屬性指定的平台舊。不過,如果您未指定最低 CPU 的值,當執行個體所在區域的預設 CPU 平台無法使用時,執行個體就能在較新的 CPU 平台上執行。
如果 Compute Engine 將運算執行個體移至較新的 CPU 平台,運算執行個體的費用不會變更。
如果機型系列的預設 CPU 平台有所變更,您可以採取下列任一做法:
- 如要維持先前預設 CPU 平台的相容性層級,請為執行個體設定最低 CPU 屬性。
- 將最低 CPU 屬性設為
AUTOMATIC,然後停止並重新啟動運算執行個體,讓執行個體使用較新的 CPU 平台。
為新執行個體選擇 CPU 平台
建立運算執行個體時,如果機器系列支援多個 CPU 平台,您可以使用最低 CPU 屬性,指定執行個體要使用的 CPU 平台。
控制台
前往 Cloud de Confiance 控制台的「Create an instance」(建立執行個體) 頁面。
在「機器設定」部分,展開「進階設定」部分。
在「CPU Platform」(CPU 平台) 清單中,選取執行個體 CPU 的平台。
繼續進行其餘的執行個體建立程序。
gcloud
如要建立使用最低 CPU 平台的運算執行個體,請使用
gcloud compute instances create指令並提供--min-cpu-platform旗標:gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --min-cpu-platform="PLATFORM"更改下列內容:
INSTANCE_NAME:要建立的執行個體名稱ZONE:要建立執行個體的區域名稱,例如europe-west1-bPLATFORM:您希望執行個體使用的最低 CPU 平台易記名稱,例如Intel Sandy Bridge如要清除最低 CPU 平台規格,請將
PLATFORM替換為AUTOMATIC。如要查看區域中可用的 CPU 平台,請參閱「依區域查看可用的 CPU 平台」。
REST
使用
instances.insert方法,並將minCpuPlatform屬性納入要求主體。例如,要求主體可能如下所示:
"name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "minCpuPlatform": "PLATFORM", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT" }], "network": "global/networks/default" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }]更改下列內容:
INSTANCE_NAME:新運算執行個體的名稱ZONE:要建立運算執行個體的區域名稱,例如europe-west1-bMACHINE_TYPE:新運算執行個體的機型PLATFORM:您希望執行個體使用的最低 CPU 平台易記名稱,例如Intel Ivy Bridge如要清除最低 CPU 平台規格,請將
PLATFORM替換為AUTOMATIC。如要查看區域中可用的 CPU 平台,請參閱「依區域查看可用的 CPU 平台」。
IMAGE_PROJECT:映像檔系列的映像檔專案IMAGE_FAMILY:用於建立運算執行個體的映像檔映像檔系列
變更現有執行個體的 CPU
如要變更現有運算執行個體的 CPU,您必須先停止執行個體。
控制台
前往「VM instances」(VM 執行個體) 頁面。
如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
選取要變更的運算執行個體。
按一下「停止」,停止運算執行個體。如果沒有「停止」選項,請依序按一下 「更多動作」> 「停止」。
按一下 [編輯]。
在「機器設定」部分中,按一下「進階設定」。
從「CPU Platform」(CPU 平台) 下拉式選單中選取選項。
儲存變更。
選取您變更的運算執行個體。
點選「啟動/重新啟用」。
gcloud
如要停止運算執行個體,請使用
gcloud compute instances stop指令:gcloud compute instances stop INSTANCE_NAME --zone=ZONE更改下列內容:
INSTANCE_NAME:要指定最低 CPU 平台的運算執行個體名稱ZONE:建立運算執行個體的區域名稱,例如europe-west1-b
如要指定最低 CPU 平台,請使用
gcloud compute instances update指令,並提供--min-cpu-platform標記:gcloud compute instances update INSTANCE_NAME \ --zone=ZONE \ --min-cpu-platform="PLATFORM"更改下列內容:
INSTANCE_NAME:要更新的運算執行個體名稱ZONE:您建立運算執行個體的可用區名稱PLATFORM:您希望運算執行個體使用的 CPU 平台友善名稱,例如Intel Granite Rapids。
如要啟動更新後的運算執行個體,請使用
gcloud compute instances start指令:gcloud compute instances start INSTANCE_NAME --zone=ZONE
REST
如要停止運算執行個體,請使用
instances.stop方法建構POST要求:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
更改下列內容:
PROJECT_ID:專案 IDZONE:運算執行個體所在的可用區INSTANCE_NAME:要指定最低 CPU 平台的運算執行個體名稱
如要設定最低 CPU 平台,請向
setMinCpuPlatform方法發出POST要求,並在要求主體中設定minCpuPlatform屬性:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMinCpuPlatform { "minCpuPlatform": "PLATFORM" }將
PLATFORM替換成您希望運算執行個體使用的最低 CPU 平台易記名稱,例如Intel Skylake。如要重新啟動運算執行個體,請使用
instances.start方法建構POST要求:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
重設為預設 CPU
如要改回使用預設 CPU,您必須停止運算執行個體 (如果正在執行)。
控制台
前往「VM instances」(VM 執行個體) 頁面。
如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
選取要變更的執行個體。
按一下「停止」。
如要編輯執行個體,請按一下「編輯」。
在「機器設定」部分中,按一下「進階設定」。
將「CPU Platform」(CPU 平台) 選項變更為「Automatic」(自動)。
選取您變更的執行個體。
點選「啟動/重新啟用」。
gcloud
如要停止運算執行個體,請使用
gcloud compute instances stop指令:gcloud compute instances stop INSTANCE_NAME
將
INSTANCE_NAME替換為要變更的運算執行個體名稱。如要重設最低 CPU 平台,請使用
gcloud compute instances update指令,並將--min-cpu-platform旗標設為AUTOMATIC:gcloud compute instances update INSTANCE_NAME \ --min-cpu-platform="AUTOMATIC"如要啟動更新後的運算執行個體,請使用
gcloud compute instances start指令:gcloud compute instances start INSTANCE_NAME
REST
如要停止運算執行個體,請使用
instances.stop方法建構POST要求:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
更改下列內容:
PROJECT_ID:專案 IDZONE:運算執行個體所在的可用區INSTANCE_NAME:要變更的運算執行個體名稱
如要重設最低 CPU 平台,請向
setMinCpuPlatform方法發出POST要求。在要求主體中,將minCpuPlatform屬性值設為AUTOMATIC。POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMinCpuPlatform { "minCpuPlatform": "AUTOMATIC" }如要重新啟動更新後的執行個體,請使用
instances.start方法建構POST要求:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
在執行個體範本中使用 CPU 平台相容性層級
如果您使用代管執行個體群組,可以為群組中的所有運算執行個體設定 CPU 平台相容性等級。
如要這麼做,請建立執行個體範本,並設定 minCpuPlatform 屬性。
控制台
前往「Instance templates」(執行個體範本) 頁面。
如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
點選「建立執行個體範本」。
在「機器設定」部分中,按一下「進階設定」。
從「CPU Platform」(CPU 平台) 下拉式選單中選取選項。
繼續執行個體範本建立程序。
gcloud
使用
gcloud compute instance-templates create指令建立執行個體範本時,請提供--min-cpu-platform旗標:gcloud compute instance-templates create TEMPLATE_NAME \ --min-cpu-platform="PLATFORM"更改下列內容:
TEMPLATE_NAME:執行個體範本的名稱PLATFORM:您希望執行個體使用的最低 CPU 平台易記名稱,例如Intel Skylake
REST
新增
minCpuPlatform做為要求的一部分,以使用instanceTemplates.insert方法建立新的執行個體範本。舉例來說,下列執行個體範本包含建立新範本時所須填寫的基本欄位,並加入了
minCpuPlatform屬性:{ "name": "example-template", "properties": { "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2", "minCpuPlatform": "AMD Milan", "networkInterfaces": [ { "network": "global/networks/default" } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-11" } } ] } }
後續步驟
- 查看 Compute Engine 中的 CPU 平台清單。
- 變更運算執行個體的機型。
- 進一步瞭解地區和區域。
- 建立和啟動 Windows Server 或 SQL Server 執行個體。