什麼是 Azure Batch?
很少有組織有資源可支援超級強大的運算平台,這些平台可能偶爾會用於容量。 更一般來說,您需要有彈性且可擴充的計算解決方案 (例如 Azure Batch) 以提供運算能力。
作為使用 Azure Batch 對上傳的淨水計圖片執行 OCR 之程序的一部分,您需要了解 Azure Batch 工作流程的主要元件。
在這裡,您將了解 Azure Batch 的設計目標,以及 Batch 元件在一般工作流程中的使用方式。
密集運算工作和平行工作負載
某些工作負載需要大量的運算能力。 範例包括財務風險模型、3D 影像渲染、媒體轉碼和基因序列分析。 在某些情況下,這些工作負載可以分成不同的子工作,並可以平行方式執行,以便在更短時間內執行工作。 三部虛擬機器 (VM) 可以在三分之一的時間內完成一項工作。
作為非營利組織 OCR 專案的一部分,您可以使用 Azure Batch 對執行 OCR 的工作進行分割,以便平行完成處理並縮短完成時間。
Azure Batch 元件
您可以將 Azure Batch 用於 Azure 上的這些大規模平行和密集運算工作。 概括而言,Azure Batch 涉及許多元件一起運作。 一切都需要在 Azure Batch 帳戶的內容中進行,該帳戶會作為所有 Batch 資源的容器。
針對某些使用案例,您可能希望將此帳戶與 Azure 儲存體帳戶相關聯,以下載輸入檔案和應用程式,以在執行期間執行和儲存其結果。 在您的 Azure Batch 帳戶中,您可以指定的數量和 CPU 和記憶體大小,建立執行 Windows 或 Linux 的虛擬計算節點集區,Azure Batch 服務會為您管理和排程這些集區。 Batch 帳戶可以包含許多 Batch 集區。
一旦您建立一或多個集區,就可以建立個別的作業,這些作業就像您排程的所有工作的邏輯容器一樣,並且可以共用通用屬性。 同樣地,有多個工作是完全可能的。
最後,您建立工作,其會描述工作實際完成的方式。 您可以使用工作直接叫用命令列,或者工作可以執行上傳至 Azure 儲存體的應用程式。 我們將在下一個練習中看到 Azure Batch 的所有主要元件。
一般的 Azure Batch 工作流程
那麼一般的 Azure Batch 工作流程實際為何? 如下圖所示,典型真實世界的 Azure Batch 案例需要資料和應用程式檔案。 Batch 工作流程首先將這些資料和應用程式檔案上傳至 Azure 儲存體帳戶。 然後,根據需要使用盡可能多的 Windows 或 Linux 虛擬計算節點建立 Batch 集區。 如果工作負載的需求隨著時間而變化,您也可以據以自動調整。
然後,Batch 服務會處理節點上線,以及排程節點上將執行的工作。 在工作開始執行之前,它們可以從儲存體中下載它們需要處理的任何資料和應用程式檔案。 當工作執行時,可以查詢節點的狀態和工作的進度。 一旦節點完成其工作,可以檢查其工作輸出或將其推送至 Azure 儲存體。