CST如何安裝和設置分布式計算?
作者 | Wang Yuanteng
最近常有用戶問到分布式計算設置相關問題。其實,幫助文檔中詳細介紹了分布式計算(Distributed Computing,簡稱DC)設置的方法,今天將DC設置的幾部分關鍵內(nèi)容總結(jié)一下。
CST支持多核、GPU、DC和MPI四種高性能計算方式。DC支持互相獨立的計算任務,如頻域求解器不同頻點的計算、參數(shù)掃描或優(yōu)化的計算、連續(xù)激勵多個端口。下面詳細介紹DC的系統(tǒng)架構(gòu)、安裝和設置方式。
DC系統(tǒng)架構(gòu)
在進行DC設置之前,我們首先需要了解一下DC系統(tǒng)架構(gòu):
工作原理主要分成以下幾個步驟:
Frontend即用戶前端,用戶從Frontend向DC Main Controller提交仿真作業(yè)。
DC Main Controller作為一個排隊系統(tǒng),根據(jù)在求解器設置中輸入的條件選擇Solver Server(DC Main Controller可以連接任意數(shù)量的Frontend和DC Solver Server)。
DC Main Controller通過網(wǎng)絡將仿真任務發(fā)送到可用的選定服務器上。提交任務依據(jù)“先到先得”原則。
DC Solver Servers的作用是保持和MainController的通信,并在本地運行和控制求解器的可執(zhí)行文件。
作業(yè)在DC Solver Server上一旦完成,就會被發(fā)送回DC Main Controller,排隊等待最終傳輸回相應Frontend。
Frontend提交仿真作業(yè)給分布式計算系統(tǒng)后,可以斷開(即關閉)CST前端。當Frontend再次連接到系統(tǒng),它將自動接收當前打開的項目所有之前計算的仿真結(jié)果(這里Main Controller必須可以訪問lincense server)。
安裝和設置
Main Controller只需要安裝在網(wǎng)絡中的一臺計算機上,該計算機不一定要安裝CST Studio Suite其他組件。
Solver Server需要安裝在網(wǎng)絡中遠程運行仿真的每臺計算機上,且計算機需要安裝CST Studio Suite程序。
實際上,用戶安裝CST時如果選擇typical,DC Main Controller和DC Solver Server都會被安裝。并且,DC Main Controller和DC Solver Server安裝后會有一些默認設置,為了使DC更夠正常使用,我們需要搞明白幾個關鍵的設置。
DC Main Controller
1:指定TCP/IP服務器端口,默認為36300。Main Controller將使用該端口與Frontend和Solver Server通信。需確保防火墻已配置,使該端口可以正常訪問。
2:需要指定一個工作目錄,所有仿真數(shù)據(jù)存儲在該目錄,直到仿真結(jié)果已成功傳輸回前端。強烈建議使用本地硬盤,避免不必要的網(wǎng)絡流量。該文件夾中存儲的數(shù)據(jù)量可能會很大,需確保有足夠的磁盤空間。
3: 補丁目錄,該目錄用作自動更新補丁包,允許將CST服務包自動分發(fā)和安裝到所有Solver Server。
該界面還包括安全設置,具體可以查閱help進行設置。
單擊Start Server即啟動DC Main Controller服務。
DC Solver Server
1:指定服務器端口號,默認為38300。該端口將用于求解器可執(zhí)行文件和Solver Server通信以及Main Controller和Solver Server之間的通信。
2:指定工作目錄,當前仿真任務的數(shù)據(jù)將暫存在該目錄下。強烈建議使用本地硬盤,以避免不必要的網(wǎng)絡流量,因為數(shù)據(jù)傳輸過程會降低求解器性能。確保有足夠的磁盤空間來保存數(shù)據(jù)。
3:指定DC Main Controller計算機的名稱或IP地址,以及它的TCP/IP端口地址。點擊Start Server,Solver Server將自動連接到主控制器,即可以在Main Controller連接到的服務器列表中看到該服務器,如下圖。
指定DC Main Controller非常重要,前面所有內(nèi)容不改都可以用,但這里不改可能會錯。默認的DC Main Controller是localhost,也就是本機。所以,當網(wǎng)絡中作為計算的機器安裝了Main Controller的時候,需要將本機的Main Controller服務停止掉,這里修改成實際使用的Main Controller機器。
根據(jù)以上信息我們可以知道,從設置角度來說,F(xiàn)rontend和Main Controller可以在同一臺機器上,甚至它們也可以和其中一臺Solver Server在同一臺機器上(但最好不要)。大家可以根據(jù)自己的資源情況和使用需求靈活設置。
4:指定本地計算機上運行的服務器的數(shù)量,即同時執(zhí)行的求解器數(shù)量,默認為1。設置服務器數(shù)量后,點擊Select CPU device或Select Hardware acceleration device,可以將CPU或GPU分配給多個不同的Solver Server。
Set Priorities可以為每個求解器服務器設置優(yōu)先級,數(shù)字越小,優(yōu)先級越高。Max number of allowed threads per server 如字面意思,可以指定每個服務器允許的最大線程數(shù),限制每個求解器運行所使用的CPU核數(shù)。注意,實際物理CPU核的數(shù)量其實是這個設置的上限。
另外,即使解算器服務器正在運行,上述大多數(shù)設置也可以修改。
設置完成之后,回到MainController界面:
在這里可以找到有關已連接的Solver Server的信息,如可用內(nèi)存、已安裝的CPU、已安裝的硬件加速設備和操作系統(tǒng)信息。單擊Active可以啟用或禁用特定的Solver Server,單擊PP可以要啟用或禁用特定服務器上的遠程后處理。這樣就完成了DC系統(tǒng)相關的設置,接下來去仿真任務中調(diào)用即可。
Frontend
在仿真工程的Solver->Accleration->DC進行設置,即可以激活DC。DC支持三種應用方式:參數(shù)掃描/優(yōu)化,分布激勵計算,遠程計算。
根據(jù)仿真需要,可以勾選DC使用的方式和設置數(shù)量,可參考FAQ049:如何設置硬件加速選項:GPU/DC/MPI/token DC部分(這里需要注意使用DC所帶來的的token消耗數(shù)量為所使用服務器CPU和GPU消耗token數(shù)總和),點擊OK,回到求解器界面點擊Start,即可以激活分布式計算。
如果分布式作業(yè)正在運行,則可以在自動打開的“分布式計算狀態(tài)”窗口中查看進度。
更加詳細的DC設置方法或者相關問題,可以仔細閱讀幫助文檔。本號之前也介紹過一些相關內(nèi)容,感興趣可以回顧:
如何設置分布式計算的共享儲存
如何設置分布式計算(Distributed Computing)的 TCP-IP子網(wǎng)