指定 VM 執行個體的 CPU 平台基本要求

這份文件說明如何建立或更新虛擬機器執行個體,在可用的情況下,使用基準最低 CPU 平台 (minCpuPlatform)。

Google 資料中心提供內含 Sandy Bridge、Ivy Bridge、Haswell、Broadwell 與 Skylake CPU 平台的 Intel Xeon 主機。每個 CPU 平台都支援像是 AVX-2、AVX-512 等漸進式功能。一些基本的系統相關功能 (例如時脈速度與記憶體存取搜尋時間) 在各 CPU 平台中有所不同。不同區域支援多個 CPU 平台,且您可以為 VM 執行個體選取 CPU 平台,藉此使用可滿足工作負載特定需求的最低平台。

如要瞭解每個區域的可用 CPU 平台,請參閱 CPU 平台地區和區域說明文件。

事前準備

選取最低 CPU 平台的時機

您很可能不需要為 VM 選取最低 CPU 平台。每個 Compute Engine 區域都有預設 CPU 平台,列在地區和區域說明文件中。 沒有最低 CPU 規格之任何新建立的 VM 都會自動取得預設 CPU 平台。

Google 建議您僅在針對工作負載產生較大效能提升,或提供諸如 AVX2、AVX512 或 MPX 等用於程式碼的特定功能時,選取最低 CPU 平台。為您的 VM 選取特定最低 CPU 平台會產生額外的限制,影響您在一些 CPU 平台的提供受到限制的特定區域中啟動 VM 的能力。

選取最低 CPU 平台的運作方式

當您指定最低 CPU 平台時:

  1. 如果可以,Compute Engine 一律會使用最低 CPU 平台。
  2. 如果 Compute Engine 淘汰區域的 CPU 平台,您的 VM 可在停止並重新啟動之後,繼續在適用於這個區域的更佳 CPU 平台上執行。淘汰 CPU 平台的情況並不會經常發生,且您會提前收到通知。

為 VM 選取最低 CPU 平台之後:

  • 除非您停止 VM 並將選取的 CPU 平台變更為其他選項,否則您的 VM 將使用這個 CPU 平台。
  • 在即時遷移時,VM 會保留相同的所選 CPU 平台。
  • Google 有時可能會更新區域的預設 CPU 平台。詳情請參閱淘汰或升級預設 CPU 平台一文。

淘汰或升級預設 CPU 平台

Google 有時會淘汰舊的 CPU 平台,或更新特定區域中的預設 CPU 平台,因為:

  • 區域容量會隨時間而增加,並會在新 CPU 平台變為可用時,主動切換至這個新平台。
  • Google 每隔 3 到 5 年,就會將舊 CPU 平台汰換為新平台,並會將預設 CPU 平台更新為可在這個區域中使用的下一個最新平台。

新地區或區域一旦建立,便都會使用最新的 CPU 平台。

當淘汰區域或變更區域的預設 CPU 平台時,Google 會預先通知受影響的客戶,向他們提供轉移到新平台的詳細時程與特定操作說明。

VM 絕不會使用比您指定的最低 CPU 平台還要舊的平台,且 VM 的成本在 Compute Engine 將您的 VM 轉移到更新平台時不會變更。

規格

限制

  • f1-small 與 g1-small 預先定義的機器類型是共用核心的一般用途 VM。這些機器不會有 CPU 平台選取項目選項。

可用性

根據每個區域中可用的硬體而定,特定 CPU 平台的可用性在各區域之間是不同的。下列是支援的最低 CPU 平台以及每個平台的有效語法:

  • Intel Xeon E5 (Sandy Bridge) 處理器:"Intel Sandy Bridge"
  • Intel Xeon E5 v2 (Ivy Bridge) 處理器:"Intel Ivy Bridge"
  • Intel Xeon E5 v3 (Haswell) 處理器:"Intel Haswell"
  • Intel Xeon E5 v4 (Broadwell) 處理器:"Intel Broadwell"
  • Intel Xeon (Skylake) 處理器:"Intel Skylake"

只有特定區域包含多個 CPU 平台,且支援選取最低 CPU 平台。如需完整清單,請參閱地區和區域頁面。

您一律可以使用 gcloud compute zones describe 指令或透過向 API 提出要求,來查看特定區域支援平台的清單。

gcloud

如何查看區域中的 CPU 平台:

gcloud compute zones describe [ZONE]

例如,此指令的輸出會列出 us-west1-a 區域的 CPU 平台:

$ gcloud compute zones describe us-west1-a
availableCpuPlatforms:
- Intel Skylake
- Intel Broadwell
...

API

在 API 中,向有問題的區域提出 GET 要求:

GET https://www.googleapis.com/compute/v1/projects/myproject/zones/[ZONE]

回應會包含這個區域支援 CPU 平台的清單。例如:

{
 "kind": "compute#zone",
 "id": "2210",
 "creationTimestamp": "2016-06-10T09:30:55.189-07:00",
 "name": "us-west1-a",
 "description": "us-west1-a",
 "status": "UP",
 "region": "https://www.googleapis.com/compute/v1/projects/myproject/regions/us-west1",
 "selfLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-west1-a",
 "availableCpuPlatforms": [
  "Intel Broadwell",
  "Intel Haswell"
 ]
}

為新 VM 選取最低 CPU 平台

您可以在建立執行個體期間,指定最低 CPU 平台。

主控台

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體頁面

  2. 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
  3. 點選 [Create instance] (建立執行個體) 按鈕。
  4. 在「Machine configuration」(機器設定) 區段之下,按一下 [CPU platform and GPU] (CPU 平台和 GPU)
  5. 從「CPU platform」(CPU 平台) 下拉式選單中選取選項。
  6. 繼續進行其餘的執行個體建立程序。

gcloud

如要使用 gcloud 指令列工具建立具有最低 CPU 平台的新 VM,請提供新 --min-cpu-platform 標記。當指定 CPU 平台時,請使用易記名稱提供平台,例如 Intel BroadwellIntel Haswell。請使用可用區域專區,判斷適用於每個區域的平台。

例如,如要指定 Intel Haswell 的最低 CPU 平台:

gcloud compute instances create example-instance \
    --zone europe-west1-b \
    --min-cpu-platform "Intel Haswell"

API

在 Compute Engine API 中,包含 minCpuPlatform 屬性,做為要求主體的一部分。minCpuPlatform 的值必須是平台的易記名稱,例如 Intel HaswellIntel BroadwellIntel Sandy Bridge

例如,要求主體看起來可能會像這樣:

"name": "[INSTANCE_NAME]",
"machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
"minCpuPlatform": "Intel Haswell",
"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]"
   }
 }]

為停止的 VM 設定最低 CPU 平台

如果您先停止執行個體,就可以為現有執行個體設定最低 CPU 平台。

停止執行個體之後,請按照以下操作說明設定最低 CPU 平台,然後確保重新啟動執行個體

主控台

  1. 前往 VM 執行個體頁面。

    前往 VM 執行個體頁面

  2. 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)
  3. 選取您要變更的已停止執行個體
  4. 點選 [Edit] (編輯) 以編輯執行個體。
  5. 在「Machine configuration」(機器設定) 區段之下,按一下 [CPU platform and GPU] (CPU 平台和 GPU)
  6. 從「CPU platform」(CPU 平台) 下拉式選單中選取選項。
  7. 儲存變更。
  8. 重新啟動執行個體

gcloud

使用 update 子指令,然後再加上 --min-cpu-platform 標記。 指定平台的易記名稱,例如 Intel HaswellIntel BroadwellIntel Sandy Bridge。例如:

gcloud compute instances update [INSTANCE_NAME] \
    --min-cpu-platform "Intel Haswell"

API

如要在 API 中設定 CPU 平台基本要求,請向 setMinCpuPlatform 方法發出 POST 要求,並在要求主體中設定 minCpuPlatform 屬性。這個屬性的值是 CPU 平台的易記名稱,像是 Intel HaswellIntel BroadwellIntel Sandy Bridge。例如:

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE]/setMinCpuPlatform

{
  "minCpuPlatform": "Intel Haswell"
}

在執行個體範本中指定最低 CPU 平台

如果您使用代管執行個體群組,可以為代管執行個體群組內的 VM 執行個體指定最低 CPU 平台。

如要指定 CPU 平台基本要求,請建立執行個體範本,且範本中包含 minCpuPlatform 屬性。

主控台

  1. 前往「執行個體範本」頁面。

    前往執行個體範本頁面

  2. 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)
  3. 點選 [Create instance template] (建立執行個體範本)
  4. 在「Machine configuration」(機器設定) 區段之下,按一下 [CPU platform and GPU] (CPU 平台和 GPU)
  5. 從「CPU platform」(CPU 平台) 下拉式選單中選取選項。
  6. 繼續執行個體範本建立程序。

gcloud

使用 gcloud 工具,在建立執行個體範本時提供 --min-cpu-platform 標記。例如:

gcloud compute instance-templates create example-template \
    --min-cpu-platform "Intel Haswell"

API

在 API 中,新增 minCpuPlatform 做為您要求的一部分,以透過 API 建立新的執行個體範本。

例如,下列執行個體範本包含建立新範本並在其中新增 minCpuPlatform 屬性時,必須填寫的最低欄位:

{
"name": "example-template",
"properties": {
  "machineType": "zones/us-central1-a/machineTypes/n1-standard-4",
  "minCpuPlatform": "Intel Haswell",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-8"
      }
    }
  ]
  }
}

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Compute Engine 說明文件