共用方式為


瞭解平行運算作業

您可以在 HPC Pack 叢集上執行的最常見平行運算作業類型包括:MPI 作業參數式掃掠作業工作流程作業服務導向架構 (SOA) 作業,以及 Microsoft Excel 計算卸除 作業。 HPC Pack 提供作業和工作屬性、工具和 API,可協助您定義和提交各種類型的平行運算作業。

在本主題中:

MPI 作業

MS-MPI 是針對 Windows 開發的訊息傳遞介面 (MPI) Microsoft實作,可讓 MPI 應用程式在 HPC 叢集上以工作的形式執行。

MPI 工作本質上是平行的。 平行工作可以採用多種形式,視應用程式和支援它的軟體而定。 針對 MPI 應用程式,平行工作通常包含單一可執行檔,可在多個核心上同時執行,且進程之間發生通訊。

下圖說明平行工作:

三個程式,雙向通訊

對於執行 MPI 應用程式的工作,工作命令前面必須加上 mpiexec:因此,平行工作的命令必須具有下列格式:mpiexec [mpi_options] <myapp.exe> [arguments],其中 myapp.exe 是要執行的應用程式名稱。 mpiexec 命令會採用數個自變數,可讓您控制 MPI 進程放置、網路親和性和其他運行時間參數。 如需這些參數的詳細資訊,請參閱 Microsoft HPC Pack 命令行參考

注意

針對平行工作,Windows HPC Server 2008 包含以 Argonne 國家實驗室 MPICH2 標準為基礎的 MPI 套件。 Microsoft的 MPI 實作稱為 MS-MPI,包括啟動器 mpiexec、每個節點的 MPI 服務,以及用於使用者應用程式開發的軟體開發工具包(SDK)。 Windows HPC Server 2008 也支援提供自己平行處理機制的應用程式。

如需 SDK 的詳細資訊,請參閱 Microsoft HPC Pack

如需如何建立單一工作或 MPI 作業的詳細資訊,請參閱 定義基本或 MPI 工作 - 作業管理員

參數掃掠作業

參數掃掠作業是由相同應用程式的多個實例所組成,通常是序列應用程式、同時執行,以及輸入檔所提供的輸入,以及導向至輸出檔案的輸出。 輸入和輸出通常是一組已編製索引的檔案(例如 input1、input2、input3...、output1、output2、output3...)設定為位於單一通用資料夾或個別的通用資料夾中。 工作之間沒有通訊或相互依賴性。 工作可能或可能不會以平行方式執行,視作業執行時叢集上可用的資源而定。

下圖說明參數掃掠作業:

四個序列工作、個別輸入和輸出檔案

如需如何建立參數式掃掠作業的資訊,請參閱 定義參數掃掠工作 - 作業管理員

工作流程作業

在工作流程作業中,一組不同於的工作會依規定順序執行,通常是因為一個工作相依於另一個工作的結果。 作業可以包含許多工作,其中有些是參數、某些序列和一些平行工作。 例如,您可以建立包含 MPI 和參數工作的工作流程作業。 您可以藉由定義工作之間的相依性來建立工作執行的順序。

下圖說明工作流程作業:

工作流程作業、相依工作

工作 1 會先執行。 請注意,只有工作 2 和 3 可以平行執行,因為兩者都不是相依於另一個。 工作 4 會在工作 2 和 3 完成之後執行。

如需如何建立工作流程作業的詳細資訊,請參閱 定義工作相依性 - 作業管理員

SOA 作業

服務導向架構 (SOA) 是建置分散式、鬆散結合系統的方法。 在 SOA 系統中,不同的計算函式會封裝為稱為 服務的軟體模組,。 服務可以分散到網路,並由其他應用程式存取。 例如,如果應用程式執行重複的平行計算,核心計算可以封裝為服務並部署至叢集。 這可讓開發人員在不重寫低階程式代碼並快速擴增應用程式的情況下解決令人尷尬的平行問題。 應用程式可以透過將核心計算分散到多個服務主機(計算節點)來加快執行速度。 終端使用者在其電腦上執行應用程式,而叢集節點會執行計算。

用戶端 應用程式提供介面,讓使用者存取一或多個服務的功能。 開發人員可以建立 cluster-SOA 用戶端應用程式,以提供部署至 Windows HPC 叢集之服務的存取權。 在後端,用戶端應用程式會將包含 服務 工作的工作提交至叢集、使用訊息代理程序節點起始會話,以及傳送服務要求和接收回應(計算結果)。 前端節點上的作業排程器會根據作業排程原則,將資源配置給服務作業。 服務 工作實例會在每個配置的資源上執行,並載入 SOA 服務。 作業排程器會嘗試根據服務要求數目來調整資源配置。

注意

如果用戶端建立永久性會話,訊息代理程式會使用 MSMQ 儲存所有訊息。 代理程式所儲存的回應可以隨時由用戶端擷取,即使在刻意或無意中斷聯機之後也一樣。

下圖說明 SOA 作業如何在叢集上執行:

SOA 作業在 HPC 2008 R2 叢集上執行的方式

如需建立 HPC 叢集 SOA 用戶端的詳細資訊,請參閱 SOA 應用程式和 Microsoft HPC Pack

注意

HPC Services for Excel 會使用SOA基礎結構來協助將Excel計算卸載至叢集Microsoft。

Microsoft Excel 計算卸除

HPC Services for Excel 包含在某些版本的 HPC Pack 中,支援將 Excel 計算卸除至 HPC Pack 叢集的一些模型。 適用於叢集加速的活頁簿包含可以平行執行的獨立計算。 許多複雜且長時間執行的活頁簿會反覆執行,也就是說,它們會針對不同的輸入數據集執行多次單一計算。 這些活頁簿可能包含複雜的 Microsoft Visual Basic for Applications (VBA) 函式或計算密集型 XLL 載入巨集。HPC Services for Excel 支援將活頁簿卸除至叢集,或將 UDF 卸除至叢集。

Microsoft Excel 2010 可讓 Excel 2010 UDF 在 Windows HPC 叢集中執行,將 UDF 模型延伸至叢集。 當支援的叢集可供使用時,使用者可以選取叢集連接器,並在 [Excel 選項] 對話方塊的 [進階] 選項中指定叢集名稱,指示 Excel 2010 使用該叢集。 在叢集中,UDF 的運作方式與傳統UDF非常類似,不同之處在於計算是由一或多部伺服器執行。 主要優點是平行處理。 如果活頁簿包含對長時間執行 UDF 的呼叫,則可以使用多部伺服器同時評估函式。 若要在叢集上執行,UDF 必須包含在叢集安全的 XLL 檔案中。

如需詳細資訊,請參閱 適用於 Excel 的 HPC Services

其他參考

如需可用來定義平行運算作業之作業和工作屬性的相關信息,請參閱:

如需使用 HPC Job Manager 建立、提交和監視作業的相關信息,請參閱:

如需使用命令提示字元視窗或 HPC PowerShell 建立、提交和監視作業的相關信息,以及開發人員資源的相關信息,包括使用 SDK、SOA 程式設計模型和 Excel 計算卸除的相關信息,請參閱本檔集中的其他文章。