使用Azure Batch在Azure中高效運(yùn)行大規(guī)模并行和高性能計(jì)算(HPC)批處理作業(yè)。Azure Batch可創(chuàng)建和管理計(jì)算節(jié)點(diǎn)(虛擬機(jī))池、安裝要運(yùn)行的應(yīng)用程序,以及計(jì)劃要在節(jié)點(diǎn)上運(yùn)行的作業(yè)。沒有要安裝、管理或縮放的群集或作業(yè)計(jì)劃程序軟件。只需使用Batch API和工具、命令行腳本或Azure門戶來配置、管理和監(jiān)視作業(yè)即可。
開發(fā)人員可以使用Batch作為平臺(tái)服務(wù),在需要大規(guī)模執(zhí)行的情況下生成SaaS應(yīng)用程序或客戶端應(yīng)用。例如,可使用Batch生成一項(xiàng)服務(wù)來為某家財(cái)務(wù)服務(wù)公司運(yùn)行Monte Carlo風(fēng)險(xiǎn)模擬,或者生成一項(xiàng)服務(wù)來處理多個(gè)圖像。
使用Batch不會(huì)產(chǎn)生額外的費(fèi)用。僅針對(duì)所使用的基礎(chǔ)資源(例如虛擬機(jī)、存儲(chǔ)和網(wǎng)絡(luò))計(jì)費(fèi)。
有關(guān)Batch與Azure中其他HPC解決方案選項(xiàng)的比較,請(qǐng)參閱Azure上的高性能計(jì)算(HPC)。
運(yùn)行并行工作負(fù)荷
Batch很適合處理本質(zhì)并行(也稱為“易并行”)的工作負(fù)荷。本質(zhì)上會(huì)并行運(yùn)行的工作負(fù)載包含可獨(dú)立運(yùn)行的應(yīng)用程序,其中每個(gè)實(shí)例會(huì)完成一部分工作。應(yīng)用程序在執(zhí)行時(shí),可能會(huì)訪問一些公共數(shù)據(jù),但不會(huì)與該應(yīng)用程序的其他實(shí)例通信。因此,本質(zhì)并行工作負(fù)荷可以大規(guī)模運(yùn)行,具體取決于可以用來同時(shí)運(yùn)行應(yīng)用程序的計(jì)算資源的量。
可以帶到Batch來處理的本質(zhì)并行工作負(fù)荷的示例包括:
使用Monte Carlo模擬進(jìn)行財(cái)務(wù)風(fēng)險(xiǎn)建模
VFX和3D圖像渲染
圖像分析和處理
媒體轉(zhuǎn)碼
基因序列分析
光學(xué)字符識(shí)別(OCR)
數(shù)據(jù)引入、處理和ETL操作
軟件測(cè)試性執(zhí)行
也可使用Batch來運(yùn)行緊密耦合的工作負(fù)載;在這些工作負(fù)載中,你運(yùn)行的應(yīng)用程序需要相互通信,而不是獨(dú)立運(yùn)行。緊密耦合應(yīng)用程序通常使用消息傳遞接口(MPI)API??梢允褂肕icrosoft MPI或Intel MPI,通過Batch來運(yùn)行緊密耦合工作負(fù)荷。通過專用的HPC和GPU優(yōu)化型VM大小來提高應(yīng)用程序性能。
緊密耦合工作負(fù)荷的一些示例:
有限元素分析
流體動(dòng)力學(xué)
多節(jié)點(diǎn)AI訓(xùn)練
許多緊密耦合作業(yè)可以使用Batch來并行運(yùn)行。例如,通過更改管道寬度對(duì)液體在管道中的流動(dòng)進(jìn)行多次模擬。
其他Batch功能
更高級(jí)別的特定于工作負(fù)荷的功能也適用于Azure Batch:
Batch支持大規(guī)模渲染工作負(fù)荷,使用的渲染工具包括Autodesk Maya、3ds Max、Arnold和V-Ray。
R用戶可以安裝doAzureParallel R包,在Batch池中輕松地橫向擴(kuò)展R算法的執(zhí)行。
還可以在更大型的Azure工作流中運(yùn)行Batch作業(yè),以便轉(zhuǎn)換Azure數(shù)據(jù)工廠等工具管理的數(shù)據(jù)。
工作原理
Batch的常用方案涉及在計(jì)算節(jié)點(diǎn)池中橫向擴(kuò)展本質(zhì)并行工作(例如渲染3D場(chǎng)景的圖像)。此池可以是“渲染場(chǎng)”,為渲染作業(yè)提供數(shù)十、數(shù)百甚至數(shù)千個(gè)核心。
下圖顯示一個(gè)常見Batch工作流中的步驟,其中有一個(gè)客戶端應(yīng)用程序或托管服務(wù)使用Batch運(yùn)行并行工作負(fù)荷。
Batch解決方案中的步驟關(guān)系圖。
請(qǐng)記住,上述工作流只是使用Batch的其中一種方式,還有許多其他功能和選項(xiàng)。例如,可以在每個(gè)計(jì)算節(jié)點(diǎn)上執(zhí)行多個(gè)并行任務(wù)?;蛘?,也可使用作業(yè)準(zhǔn)備和完成任務(wù)為作業(yè)準(zhǔn)備節(jié)點(diǎn),用完后進(jìn)行清理。
有關(guān)池、節(jié)點(diǎn)、作業(yè)和任務(wù)等功能的概述,請(qǐng)參閱Batch服務(wù)工作流和資源。另請(qǐng)參閱最新的Batch服務(wù)更新。
區(qū)域內(nèi)數(shù)據(jù)駐留
Azure Batch不會(huì)將客戶數(shù)據(jù)移出部署它的區(qū)域,也不會(huì)將其存儲(chǔ)在該區(qū)域之外。