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