提高工作資源的取得能力

本文說明資源可取得性,並建議您在建立及執行批次工作時,如何提高資源可取得性。

什麼是可取得性?

可取得性是指資源可用於執行工作負載的機率。如果資源不足,工作負載會因資源可用性錯誤而失敗。 可取得性與可靠性相關,但兩者不同。可靠性是指工作負載可供使用者使用的機率。(供應情形可能代表其中一項或兩者皆是)。

可取得性和可靠性之間的關係很複雜。工作負載需要取得資源,才能確保可靠性。不過,雖然地點、時間和硬體方面的彈性越高,取得資源的機會就越大,但只有符合工作負載需求的彈性,才能提高可靠性。舉例來說,請注意下列複雜情況:

  • 由於需求量較高,效能較高的機器類型可能較難取得,但如果工作負載的效能不足,可靠性就會降低。
  • 位置彈性可提高取得性,但密集分配的機器可提升網路效能。
  • 時間彈性可提高可取得性,但等待時間過長可能會造成不必要的延遲。

因此,可取得性越高不一定越好。最佳可取得性等級取決於您的優先事項和需求。舉例來說,您可能希望降低可取得性,以優先降低成本。即使您想優先考量可靠性,也可能需要權衡提高可取得性帶來的效益,以及降低效能或增加延遲的風險。

提高職缺可得性的建議

請參閱下列各節,瞭解如何提高批次作業的取得率:

所有消費選項的建議

  • 將工作負載分開,盡量減少對大型和高效能機器類型的需求。舉例來說,首先使用相依工作,將需要大量運算資源的作業與需求較低的作業分開。接著,盡量減少每項工作所需的最低運算資源,方法是盡量提高平行處理量,並減少緊密耦合的工作。

    進一步瞭解依附項目的工作運算資源與平行處理

  • 盡量增加工作 Compute Engine 資源允許的位置數量。這項設定預設為 true。除非您為工作指定 allowedLocations[] 欄位,否則工作可使用工作位置中的每個區域執行 Compute Engine 資源。

    進一步瞭解地點

  • 建議先使用快速失敗策略,再等待更好的可取得性。為盡量避免延遲,請考慮採用快速失敗策略,例如:

    • 雖然您可以稍後再試,藉此排解資源可用性錯誤,但通常先嘗試不同位置或硬體會更快。
    • 如果您願意使用多種消耗選項,通常可以先嘗試無延遲的消耗選項,包括隨選預留項目、隨選和 Spot VM,這樣會比較快。
    • 對於您打算重複執行的全新工作負載,您可能會偏好暫時使用較快取得的選項,以加快初始測試和疑難排解速度。

根據計費模式提供的建議

您選取的消耗量選項是決定工作是否可取得的主要因素。本節會簡要說明各項消費選項,並建議如何針對各項消費選項盡量提高可取得性。

以下列出可用的消費選項,並依取得難易度由高至低排序:

  • 對於高取得性需求的工作負載,請使用保留項目 與所有其他用量選項相比,預留項目可確保您取得容量。如要使用預留容量,請先建立或找出可用的現有預留項目。然後設定執行個體,以使用預留容量。與其他使用選項不同,預留執行個體會產生費用,即使您未刪除執行個體,也會因運算資源保證而產生費用。考量可取得性時,請選擇下列其中一種預留項目:

    • 如要要求預留容量,請使用明確指定的預留項目。這些預留項目可讓您輕鬆驗證預留容量是否可用於工作負載。如果沒有相容的預留容量,工作負載就會失敗並傳回錯誤。明確指定的預留項目包括 RESERVATION_BOUND 佈建模式的所有預留項目,以及 STANDARD 佈建模式的部分預留項目。

      瞭解如何建立使用預留項目的工作。

    • 如要使用選用的預留容量,請使用自動使用的保留項目,並運用執行個體彈性 (預先發布版)。 這些預留方案可充分確保您取得容量,但前提是工作負載可使用的預留容量必須可用。如要自動使用預留項目,您必須指定 STANDARD 佈建模型,並手動確認預留容量可用,且符合工作負載的執行個體設定。如果預留容量無法使用或不符,工作負載會嘗試改用隨選容量。不過,與特定目標預留項目不同,您可以搭配自動使用的預留項目使用執行個體彈性,讓工作負載嘗試使用多個自動使用的預留項目。

      瞭解如何建立使用預留項目執行個體彈性 (搶先版) 的工作。

  • 對於可取得性要求中等的工作負載,請使用執行個體彈性的隨選容量 (預先發布) 或彈性啟動 VM。選擇下列任一選項:

    • 除非您的機型屬於 A3 系列或不受支援,否則請考慮使用具備執行個體彈性的隨選容量 (預先發布版)。 如要採用隨需用量選項,必須使用 STANDARD (預設) 佈建模式。除非您明確禁止使用保留項目,否則工作負載預設也會嘗試使用自動使用的保留項目。請注意,我們不建議 A3 機器系列使用隨選方案

      瞭解如何建立使用標準佈建模型執行個體彈性 (搶先版) 的工作。

    • 否則,如果隨選容量持續無法使用,請考慮使用彈性啟動 VM如要使用彈性啟動 VM 用量方案,請指定 FLEX_START 佈建模式。彈性啟動 VM 需要工作負載能承受等待時間和有限的執行時間,但也會透過 Dynamic Workload Scheduler 定價提供折扣。

      瞭解如何建立使用彈性啟動 VM 的工作。

  • 對於取得能力需求較低的工作負載,請使用具有多項取得能力功能的 Spot VM如要使用 Spot VM 消耗量選項,請指定SPOT佈建模型。Spot VM 可能不一定可用,且隨時可能遭到先占,因此建議只用於容錯工作負載,但 Spot VM 定價可能提供最大折扣。

    一般來說,我們建議您先查看 Spot VM 的可用性,再建立 VM,並確認工作負載可以處理搶占。接著,為了提高 Batch 作業中 Spot VM 的可用性,建議您使用執行個體彈性,在相同等級中採用多種機器類型 (預先發布版),並使用自動重試功能,在先占後自動嘗試重新建立 Spot VM。

    如要瞭解如何查看 Spot VM 的可用性,以及管理 Spot VM 先占,請參閱 Compute Engine 說明文件。接著,瞭解如何建立使用Spot VM 佈建模型執行個體彈性 (搶先版) 和先占自動重試的作業。

後續步驟