在日曆模式中建立未來預約要求


本文說明如何在日曆模式中建立預留項目要求。如要進一步瞭解這類預留項目,請參閱日曆模式的未來預留要求總覽

您可以在日曆模式中建立未來預留要求,最多可預留 1,024 個 TPU 晶片,最長 90 天。接著,您就能使用這項容量建立附加 TPU 的虛擬機器 (VM) 執行個體。日曆模式的未來預留要求可協助您取得高需求資源,以用於下列工作負載:

  • 模型預先訓練工作

  • 模型微調工作

  • 高效能運算 (HPC) 模擬工作負載

  • 推論工作負載短期內增加

如要為長時間執行的訓練和推論工作預留 GPU VM,請參閱 AI Hypercomputer 說明文件中的「預留容量」。

限制

在日曆模式中建立未來預留項目要求前,請先考量下列限制:

  • 您只能透過下列方式預留 TPU:

    支援的 TPU 版本 每個要求使用的 TPU 晶片數量 預留期間 支援的區域
    TPU v6e 1、4、8、16、32、64、128、256、512 或 1,024 1 至 90 天
    • asia-northeast1-b
    • us-east5-a
    • us-east5-b
    TPU v5p 1*、4、8、16、32、64、128、256、512 或 1,024 1 至 90 天 us-east5-a
    TPU v5e 1*、4*、8*、16、32、64、128、256、512 或 1,024 1 至 90 天
    • us-west4-b (BATCH)
    • us-central1-a (SERVING)

    * 您只能為服務 (SERVING) 工作負載類型預留 1 個 TPU v5p 晶片,或 1、4 或 8 個 TPU v5e 晶片。

  • 建立要求後,您就無法取消、刪除或修改要求。

事前準備

  • 如果無法在日曆模式中使用未來預訂要求,表示你可能不符合存取和使用這項功能的資格。如要瞭解詳情,請與帳戶團隊銷售團隊聯絡。
  • 如要與貴機構內的其他專案共用預留容量,請確保您要在日曆模式中建立未來預留項目要求的專案 允許建立共用預留項目。否則會發生錯誤。
  • 如果尚未設定驗證,請先完成設定。 「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

必要的角色

如要取得必要權限,以便在日曆模式中建立未來預留項目要求,請要求管理員授予您專案的 Compute Future Reservation Admin (roles/compute.futureReservationAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備在日曆模式中建立未來預留要求所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要在日曆模式中建立未來預留項目要求,必須具備下列權限:

  • 如要建立未來預留項目要求: compute.futureReservations.create 在專案上
  • 如要讓 Compute Engine 自動建立預留項目,請在專案中啟用 compute.reservations.create
  • 如要指定執行個體範本: compute.instanceTemplates.useReadOnly 執行個體範本中的 compute.instanceTemplates.useReadOnly
  • 如要查看資源的未來供應情形: compute.advice.calendarMode 在專案中

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

總覽

如要在日曆模式中建立未來預留要求,請完成下列步驟:

  1. 查看 TPU 未來的供應情形。查看要預留的 TPU 未來可用情形。接著,建立要求時,請指定您確認可用的 TPU 數量、類型和預訂時間長度。這樣做可提高 Google Cloud核准要求的機率。

  2. 為 TPU 建立預留要求。在日曆模式中,為 TPU 建立及提交未來預留要求。如果要求建立成功, Google Cloud 會在 1 分鐘內核准。

查看 TPU 未來可用情形

您最多可提前 120 天,查看某個地區的 TPU 未來供應情形。

如要查看某個區域的 TPU 未來供應情形,請選取下列其中一個選項:

主控台

在日曆模式中建立未來預留要求時,您可以查看某個地區的 TPU 未來可用情形。詳情請參閱本文的「為 TPU 建立預留項目要求」。

gcloud

如要查看某個地區的 TPU 未來供應情形,請使用 gcloud beta compute advice calendar-mode 指令,並加上 --chip-count--tpu-version 旗標:

gcloud beta compute advice calendar-mode \
    --chip-count=NUMBER_OF_CHIPS \
    --tpu-version=TPU_VERSION \
    --region=REGION \
    --start-time-range=from=FROM_START_TIME,to=TO_START_TIME \
    --duration-range=max=MAXIMUM_DURATION,min=MINIMUM_DURATION

更改下列內容:

  • NUMBER_OF_CHIPS:要預留的 TPU 晶片數量。

  • TPU_VERSION:要預留的 TPU 版本。指定下列其中一個值:

    • TPU v6e:V6E

    • 如果是 TPU v5p:V5P

    • 如果是 TPU v5e:V5E

    如果指定 TPU v5p 或 v5e,就必須加上 --workload-type 標記。將這個旗標設為要在 TPU 上執行的工作負載類型:

    • 對於在單一或多項作業中處理大量資料的工作負載 (例如機器學習訓練工作負載),請指定 BATCH

    • 對於處理並行要求且需要最低網路延遲的工作負載 (例如機器學習推論工作負載),請指定 SERVING

  • REGION:預留 TPU 的區域。如要查看支援的地區和區域,請參閱本文的「限制」一節。

  • FROM_START_TIMETO_START_TIME:您要預留容量的最早和最晚日期。請將這些日期格式設為 RFC 3339 時間戳記:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    更改下列內容:

    • YYYY-MM-DD:日期格式為四位數年份、兩位數月份和兩位數日期,並以連字號分隔 (-)。

    • HH:MM:SS:時間格式為兩位數的小時 (採用 24 小時制)、兩位數的分鐘和兩位數的秒數,並以半形冒號 (:) 分隔。

    • OFFSET:時區格式為世界標準時間 (UTC) 的偏移量。 舉例來說,如要使用太平洋標準時間 (PST),請指定 -08:00。如要不使用偏移值,請指定 Z

  • MAXIMUM_DURATIONMINIMUM_DURATION:您要保留資源的最長和最短時間。請將這些時間格式設為天數、時數、分鐘數或秒數,並分別加上 dhms。舉例來說,指定 30m 代表 30 分鐘,指定 1d2h3m4s 代表 1 天 2 小時 3 分 4 秒。預訂資源的時間最短為 24 小時,最長為 90 天。

輸出結果會與下列內容相似:

- recommendationsPerSpec:
    spec:
      endTime: '2025-09-07T00:00:00Z'
      location: zones/us-east5-a
      otherLocations:
        zones/us-east5-b:
          details: this machine family is not supported in this zone
          status: NOT_SUPPORTED
        zones/us-east5-c:
          details: this machine family is not supported in this zone
          status: NOT_SUPPORTED
      recommendationId: 0d3f005d-f952-4fce-96f2-6af25e1591eb
      recommendationType: FUTURE_RESERVATION
      startTime: '2025-06-09T00:00:00Z'

如果要求的資源可用,輸出內容會包含 startTimeendTimelocation 欄位。這些欄位會指定最早開始時間、最晚結束時間,以及資源可用的時區。

REST

如要查看某個地區的 TPU 未來供應情形,請將 GET 要求傳送至 beta advice.calendarMode 方法。在要求主體中加入 acceleratorCountvmFamily 欄位:

POST https://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/advice/calendarMode

{
  "futureResourcesSpecs": {
    "spec": {
      "targetResources": {
        "aggregateResources": {
          "acceleratorCount": "NUMBER_OF_CHIPS",
          "vmFamily": "TPU_VERSION"
        }
      },
      "timeRangeSpec": {
        "startTimeNotEarlierThan": "FROM_START_TIME",
        "startTimeNotLaterThan": "TO_START_TIME",
        "minDuration": "MINIMUM_DURATION",
        "maxDuration": "MAXIMUM_DURATION"
      }
    }
  }
}

更改下列內容:

  • PROJECT_ID:您要預留資源的專案 ID。

  • REGION:預留 TPU 的區域。如要查看支援的地區和區域,請參閱本文的「限制」一節。

  • NUMBER_OF_CHIPS:要預留的 TPU 晶片數量。

  • TPU_VERSION:要預留的 TPU 版本。指定下列其中一個值:

    • TPU v6e:VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E

    • 如果是 TPU v5p:VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P

    • 如果是 TPU v5e:VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP

    如果指定 TPU v5p 或 v5e,則必須在 aggregateResources 欄位中加入 workloadType 欄位。將這個欄位設為要在 TPU 上執行的工作負載類型:

    • 對於在單一或多項作業中處理大量資料的工作負載 (例如機器學習訓練工作負載),請指定 BATCH

    • 對於處理並行要求且需要最低網路延遲的工作負載 (例如機器學習推論工作負載),請指定 SERVING

  • FROM_START_TIMETO_START_TIME: 您要預留容量的最早和最晚日期。 請將這些日期設為 RFC 3339 時間戳記:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    更改下列內容:

    • YYYY-MM-DD:日期格式為四位數年份、兩位數月份和兩位數日期,並以連字號分隔 (-)。

    • HH:MM:SS:時間格式為兩位數的小時 (採用 24 小時制)、兩位數的分鐘和兩位數的秒數,並以半形冒號 (:) 分隔。

    • OFFSET:時區格式為世界標準時間 (UTC) 的偏移量。 舉例來說,如要使用太平洋標準時間 (PST),請指定 -08:00。如要不使用偏移值,請指定 Z

  • MAXIMUM_DURATIONMINIMUM_DURATION:要預留資源的最長和最短時間 (以秒為單位),後方加上 s。例如,如要指定 3,600 秒,請使用 3600s。資源預留時間最短為 24 小時 (86,400 秒),最長為 90 天 (7,776,000 秒)。

輸出結果會與下列內容相似:

{
  "recommendations": [
    {
      "recommendationsPerSpec": {
        "spec": {
          "recommendationId": "a21a2fa0-72c7-4105-8179-88de5409890b",
          "recommendationType": "FUTURE_RESERVATION",
          "startTime": "2025-06-09T00:00:00Z",
          "endTime": "2025-09-07T00:00:00Z",
          "otherLocations": {
            "zones/us-east5-b": {
              "status": "NOT_SUPPORTED",
              "details": "this machine family is not supported in this zone"
            },
            "zones/us-east5-c": {
              "status": "NOT_SUPPORTED",
              "details": "this machine family is not supported in this zone"
            }
          },
          "location": "zones/us-east5-a"
        }
      }
    }
  ]
}

如果要求的資源可用,輸出內容會包含 startTimeendTimelocation 欄位。這些欄位會指定最早開始時間、最晚結束時間,以及資源可用的時區。

建立 TPU 的預留要求

Google Cloud 在日曆模式中核准未來的預訂要求後,您就無法取消、刪除或修改要求。您必須承諾在要求開始時間支付所要求的容量費用,無論實際用量為何。

如要以現有 TPU VM 做為參考來建立要求,請使用Google Cloud 控制台。否則,請選取下列其中一個選項:

主控台

  1. 在 Google Cloud 控制台,前往「Reservations」(預留項目) 頁面。

    前往「預留項目」頁面

  2. 點按「Future reservations」(未來預留項目) 分頁標籤。

  3. 點按 「Create future reservation」(建立未來預留項目)。「建立未來預留項目」頁面隨即開啟。

  4. 在「硬體設定」部分中,透過下列任一方式指定要預留的 TPU 屬性:

    • 如要直接指定 TPU 屬性,請完成下列步驟:

      1. 選取「指定機器類型」

      2. 按一下「TPU」分頁標籤。

      3. 在表格的「系列」欄中,選取要預留的 TPU 版本。

    • 如要使用現有 TPU VM 做為參考,指定 TPU 屬性,請選取「使用現有 VM」,然後選取 VM。

  5. 如果您在上一個步驟中指定了 TPU v5e (CT5LP),請在「TPU v5 workload type」(TPU v5 工作負載類型) 清單中選取下列其中一個選項:

    • 如要在 TPU 上執行工作負載,處理單一或多項作業中的大量資料 (例如機器學習訓練工作負載),請選取「批次」

    • 如要在 TPU 上執行處理並行要求的工作負載,並盡量減少網路延遲,例如機器學習推論工作負載,請選取「服務」

  6. 在「Search for capacity」(搜尋容量) 區段中,完成下列步驟:

    1. 在「Region」(區域) 和「Zone」(可用區) 清單中,指定要預留資源的區域和可用區。如要查看支援的區域和可用區,請參閱本文的「限制」一節。

    2. 在「Number of chips」(晶片數量) 欄位中,選取要預留的 TPU 晶片數量。

    3. 在「開始時間」清單中,選取要求的開始時間。 開始時間必須在您建立及提交要求後至少 24 小時。

    4. 選用:在「選擇彈性開始日期」清單中,選取開始日期需要多準確

    5. 在「Reservation duration」(預留時間) 欄位中,指定要預留資源的時間長度。值必須介於 1 天到 90 天之間。

    6. 按一下「搜尋運算資源」。然後在「可用容量」表格中,選取其中一個可用選項,內含要預留的 TPU 類型、數量和預留期間。

  7. 點選「下一步」

  8. 在「Share type」(共用類型) 部分,選取要共用所要求容量的專案:

    • 如要僅在專案中使用預留容量,請選取「本機」

    • 如要與其他專案共用預留容量,請選取「共用」,按一下 「新增專案」,然後按照提示選取專案。

  9. 點選「下一步」

  10. 在「Future reservation name」(未來預訂名稱) 欄位中,輸入要求的名稱。

  11. 在「Reservation name」(保留項目名稱) 欄位中,輸入 Compute Engine 自動建立的保留項目名稱,以佈建您要求的容量。

  12. 點選「建立」

gcloud

如要在日曆模式中建立未來預留要求,並提交審查,請使用下列 gcloud beta compute future-reservations create 指令。 如要預留 TPU,請加入 --chip-count--tpu-version 旗標:

gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --chip-count=NUMBER_OF_CHIPS \
    --tpu-version=TPU_VERSION \
    --deployment-type=DENSE \
    --planning-status=SUBMITTED \
    --require-specific-reservation \
    --reservation-mode=CALENDAR \
    --reservation-name=RESERVATION_NAME \
    --share-setting=SHARE_TYPE \
    --start-time=START_TIME \
    --duration=DURATION \
    --zone=ZONE

更改下列內容:

  • FUTURE_RESERVATION_NAME:要求的名稱。

  • NUMBER_OF_CHIPS:要預留的 TPU 晶片數量。

  • TPU_VERSION:要預留的 TPU 版本。指定下列其中一個值:

    • TPU v6e:V6E

    • 如果是 TPU v5p:V5P

    • 如果是 TPU v5e:V5E

    如果指定 TPU v5p 或 v5e,就必須加上 --workload-type 標記。將旗標設為要在 TPU 上執行的工作負載類型:

    • 對於在單一或多項作業中處理大量資料的工作負載 (例如機器學習訓練工作負載),請指定 BATCH

    • 對於處理並行要求且需要最低網路延遲的工作負載 (例如機器學習推論工作負載),請指定 SERVING

  • RESERVATION_NAME:Compute Engine 自動建立的預留項目名稱,用於佈建您要求的容量。

  • SHARE_TYPE:貴機構的其他專案是否可使用預留容量。請指定下列其中一個值:

    • 如要僅在專案中使用容量,請按照下列步驟操作:local

    • 如要與其他專案共用容量,請按照下列步驟操作:projects

    如果您指定 projects,則必須加入 --share-with 旗標,並將其設為以半形逗號分隔的專案 ID 清單,例如 project-1,project-2。最多可指定 100 個專案。請勿在這份清單中加入專案 ID。預設情況下,您可以取用預留容量。

  • START_TIME:請求的開始時間,格式為 RFC 3339 時間戳記。指定開始時間,該時間必須在您提交要求後至少 24 小時。否則要求就會建立失敗。

  • DURATION:您要保留所要求資源的時間長度 (以秒為單位)。資源預訂時間最短為 24 小時 (86,400 秒),最長為 90 天 (7,776,000 秒)。

  • ZONE:要預留資源的可用區。

REST

如要在日曆模式中建立未來預留要求,並提交審查,請將下列 POST 要求傳送至 beta futureReservations.insert 方法。如要預留 TPU,請在要求主體中加入 acceleratorCountvmFamily 欄位:

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations

{
  "name": "FUTURE_RESERVATION_NAME",
  "autoDeleteAutoCreatedReservations": true,
  "deploymentType": "DENSE",
  "planningStatus": "SUBMITTED",
  "reservationMode": "CALENDAR",
  "reservationName": "RESERVATION_NAME",
  "shareSettings": {
    "shareType": "SHARE_TYPE"
  },
  "specificReservationRequired": true,
  "aggregateReservation": {
    "reservedResources": [
      {
        "accelerator": {
          "acceleratorCount": NUMBER_OF_CHIPS
        }
      }
    ],
    "vmFamily": "TPU_VERSION"
  },
  "timeWindow": {
    "startTime": "START_TIME",
    "duration": {
      "seconds": DURATION
    }
  }
}

更改下列內容:

  • PROJECT_ID:您要建立要求的專案 ID。

  • ZONE:要預留資源的可用區。

  • FUTURE_RESERVATION_NAME:要求的名稱。

  • RESERVATION_NAME:Compute Engine 自動建立的預留項目名稱,用於佈建您要求的容量。

  • SHARE_TYPE:貴機構的其他專案是否可使用預留容量。請指定下列其中一個值:

    • 如要僅在專案中使用容量,請按照下列步驟操作:LOCAL

    • 如要與其他專案共用容量,請按照下列步驟操作:SPECIFIC_PROJECTS

    如果您指定 SPECIFIC_PROJECTS,則必須在 shareSettings 欄位中加入 projectMap 欄位,指定要共用容量的專案。最多可指定 100 個專案。請勿指定專案 ID。根據預設,您可以取用預留容量。

    舉例來說,如要與另外兩個專案共用要求的容量,請加入下列項目:

    "shareSettings": {
      "shareType": "SPECIFIC_PROJECTS",
      "projectMap": {
        "CONSUMER_PROJECT_ID_1": {
          "projectId": "CONSUMER_PROJECT_ID_1"
        },
        "CONSUMER_PROJECT_ID_2": {
          "projectId": "CONSUMER_PROJECT_ID_2"
        }
      }
    }
    

    CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2 替換為您要允許使用所要求容量的兩個專案 ID。

  • NUMBER_OF_CHIPS:要預留的 TPU 晶片數量。

  • TPU_VERSION:要預留的 TPU 版本。指定下列其中一個值:

    • TPU v6e:VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E

    • 如果是 TPU v5p:VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P

    • 如果是 TPU v5e:VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP

    如果指定 TPU v5p 或 v5e,則必須在 aggregateResources 欄位中加入 workloadType 欄位。將這個欄位設為要在 TPU 上執行的工作負載類型:

    • 對於在單一或多項作業中處理大量資料的工作負載 (例如機器學習訓練工作負載),請指定 BATCH

    • 對於處理並行要求且需要最低網路延遲的工作負載 (例如機器學習推論工作負載),請指定 SERVING

  • START_TIME:請求的開始時間,格式為 RFC 3339 時間戳記。指定開始時間,該時間必須在您提交要求後至少 24 小時。否則要求建立作業會失敗。

  • DURATION:您要保留所要求資源的時間長度 (以秒為單位)。資源預訂時間最短為 24 小時 (86,400 秒),最長為 90 天 (7,776,000 秒)。

後續步驟