使用 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 選取功能:
自動選取 VM 行為
您可以單獨或合併設定 min_ram 和 cpu_count 資源提示。例如:
- 如果工作只有
cpu_count=2,可能會佈建n4-standard-2(2 個 vCPU,8 GB RAM)、c4-standard-2(2 個 vCPU,7 GB RAM) 和其他機型的執行個體。 - 如果工作同時包含
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 集區。