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