自動選取 VM

使用 workerMachineType 管道選項將工作固定至特定機型時,可能會因資源缺貨而導致延遲或工作失敗。自動選取 VM 功能會使用 Compute Engine 執行個體彈性,從相容且可用的機型集區中自動選擇工作站,解決這個問題。這有助於確保 Dataflow pipeline 穩定取得容量,維持一致的效能並避免中斷。

不支援的設定

如果管道設定包含下列任一項目,系統會關閉自動選取 VM 功能:

  • 已啟用 Dataflow Prime。
  • 已設定 min_cpu_platform 管道選項。
  • 使用 Hyperdisk Balanced 磁碟或自訂佈建效能 (IOPS 和輸送量)。使用這些設定啟動的工作會失敗。
  • 已啟用「機密 VM」。
  • 必須使用加速器 (GPU 或 TPU)。

此外,使用 Shuffle Appliance 或 Streaming Appliance 的工作不支援自動選取 VM。

啟用自動選取 VM

在下列任一情境中,系統都會自動啟用自動 VM 選取功能:

  • 如果您為不需要加速器 (GPU 或 TPU) 的管道步驟設定 min_ram 或 cpu_count 資源提示,如要瞭解如何搭配範本式工作使用資源提示,請參閱「管道資源提示」。

自動選取 VM 行為

您可以單獨或合併設定 min_ram 和 cpu_count 資源提示。例如:

  1. 如果工作只有 cpu_count=2,可能會佈建 n4-standard-2 (2 個 vCPU,8 GB RAM)、c4-standard-2 (2 個 vCPU,7 GB RAM) 和其他機型的執行個體。
  2. 如果工作同時包含 cpu_count=4 和 min_ram=16GB,可能會佈建 n4-standard-4 (4 個 vCPU,16 GB RAM)、c4-highmem-4 (4 個 vCPU,31 GB RAM) 和其他機型的執行個體。

自動選取 VM 功能會選取最合適的 VM,盡可能提高資源取得率。也就是說,使用自動選取 VM 功能來提高部分高度調整工作的可取得性時,效能可能會降低。建議您先在現有作業的子集中測試自動 VM 選取功能,再逐步擴大部署範圍。如要進一步瞭解資源取得難易度,請參閱 Batch 說明文件的「提高工作資源取得難易度」一節。

Dataflow 會先嘗試使用第 4 代機器家族 (例如 N4 或 C4),以提供更出色的效率。如果您的區域無法使用第 4 代機器、配額不足,或與設定不相容,Dataflow 會自動改用廣泛可用的第 2 代機器系列 (例如 N2 或 E2),確保工作能順利啟動,不會因容量不足而延遲。

如果使用資源提示 (適當調整) 啟用自動選取 VM 功能時,指定 pd-ssd 或 pd-standard 等磁碟類型,Dataflow 只會佈建相容的第 2 代機器家族。為確保最大相容性,並允許使用較新的機器世代,請勿指派磁碟類型。

Compute Engine 預留項目

如果您搭配使用 Compute Engine 預留項目和自動選取 VM 功能,請注意下列事項:

  • 如果預留項目設為自動使用,且自動選取 VM 功能佈建的機型與預留項目相符,系統可能會使用這些預留項目。
  • 自動選取 VM 功能會使用可用的運算執行個體。因此,您無法指定服務使用特定預留項目的執行個體。

已知問題

使用自動選取 VM 功能時,請注意下列已知問題:

非預期的平行處理

使用自動選取 VM 功能和最適化功能時,如果發現 worker VM 的 CPU 使用率偏低或平行處理作業不符預期,可能是因為已知問題,導致每個 worker 的執行緒數量未自動設為符合所選機器的 vCPU 數量。

如要解決這個問題,您可以使用 numberOfWorkerHarnessThreads 管道選項,明確設定 worker 控管工具執行緒數量。這個選項會套用至管道中的所有 worker 集區。