本文說明 Google Kubernetes Engine (GKE) 中的動態切片。動態切片功能可讓您將佈建的 TPU 子區塊設定為不同拓撲。這項功能可減少重新建立節點集區的需求、在發生故障時自動復原,進而提升容錯能力,並盡可能提高資源使用率。
動態切片適用於 AI/機器學習工程師和平台管理員,可協助他們最佳化 TPU 使用率、縮短佈建時間,以及提升大規模訓練和推論工作負載的容錯能力。
閱讀本文前,請先熟悉下列概念:
- GKE 中的 TPU。
- TPU Cluster Director。動態切片是透過 TPU Cluster Director 啟用的 TPU 功能。
- 所有運算資源模式預留項目。動態切片功能僅適用於使用「所有容量」模式的 TPU。
什麼是動態切片?
動態切片可讓您解除 TPU 佈建作業的耦合,彈性管理 Cloud TPU 容量。動態切片包含下列程序:
- 以較小的單位佈建資源:您佈建的資源會以稱為「子區塊」的單位為準。子區塊是 Ironwood (TPU7x) 容量的基本邏輯建構單元。對於 Ironwood (TPU7x),子區塊代表 16 個節點的 TPU VM 群組,具有互連 TPU 晶片的
4x4x4拓撲。在 TPU 全容量模式和動態切片的情況下,節點集區會直接對應至子區塊。 - 將子區塊縫合在一起:動態切片會將這些子區塊縫合在一起,形成較大的切片。
動態切片的優點
動態切片可協助您達成下列目標:
- 縮短佈建時間:個別佈建子區塊可縮短整體佈建時間,因為這樣可將單一失敗的影響降到最低。
- 縮短復原時間:如果發生 TPU 晶片故障,最小的故障單元是子區塊。動態切片會隔離故障的子模塊,因此工作負載可以比重新佈建整個大型切片更快地在健康的子模塊上重新排程。
- 重塑容量:如果您有各種工作負載需求,不必為了拓撲變更而刪除及重新建立節點集區。您可以動態重新設定已佈建的節點集區,以符合指定的形狀。
動態切片的關鍵元素
動態切片功能會導入下列重要概念:
- 節點集區的增量佈建:動態切片使用增量佈建,這是節點集區的容錯佈建模型。這個模型會將所有 TPU 容量轉換為 TPU VM 的 16 節點群組節點集區。
- 切片控制器:在 GKE 控制層中執行的 Kubernetes 自訂資源控制器,可管理動態切片。Slice 控制器會管理 Slice 自訂資源的生命週期,代表動態 Slice。切片控制器負責建立、持續監控及刪除切片。使用排程器時,排程器會導向 Slice 自訂資源的建立和刪除作業。
- 配量自訂資源:根據要求的 TPU 拓撲,動態將子區塊縫合在一起。這項程序會動態重新設定 OCS 網路,以連線至 TPU 節點集區,確保效能達到最佳狀態。您可以檢查 Slice 自訂資源的狀態欄位,瞭解動態切片形成進度或健康狀態。
動態切片排程器
您可以設定 Kueue 和拓撲感知排程 (TAS),自動建立 Slice 自訂資源。您也可以使用自己的排程器管理 Slice 自訂資源。