如何使用 COMSOL 軟件中的集群掃描節點
什么是集群掃描節點?
將參數集計算并行化的一種方法是將參數化掃描與集群計算節點結合使用。在執行此操作時,你將創建一個跨越多個節點的大型集群作業。添加的節點越多,并行計算的參數值就越多(當然,前提是參數的數量多于節點數)。
集群示例。
不僅如此,你還可以使用集群掃描節點將計算并行化,該節點設計用于將一個參數化掃描拆分成多個集群計算作業。在集群掃描 節點中定義一組參數,對于每個參數值,系統都會將單獨的批處理作業發送到集群隊列。計算完成后,COMSOL 軟件會將結果整合回主進程。
你甚至還可以通過這種方式嵌套參數化掃描,將集群掃描與“標準”參數化掃描相結合。你可以決定為哪些參數啟動單獨的作業,以及想要將哪些參數保留在作業“內”。
總而言之,集群掃描節點是 COMSOL 軟件為你提供的強大工具,可以幫助你實現對建模過程的完全控制。
請注意,你需要擁有“網絡浮動許可證”(FNL)才能使用集群掃描。此外,建議你熟練掌握文章 COMSOL Desktop? 環境如何實現在集群上運行中討論的設置,如果你按照該篇文章中的步驟操作并保存設置,這些設置將自動應用于集群掃描節點。
何時使用集群掃描節點
現在,你已經知道什么是集群掃描節點,你可能還想要了解以下兩點:
我應該在什么時候使用它?
此節點在什么情況下優于集群計算節點?
對于上述問題,常見的第一種情況是,你有一個參數集但不知道模型是否收斂,或者是否對所有參數組合都有效。參數集可以控制幾何結構,在采用某些值時,幾何結構可能會導致求解或網格劃分失敗。如果用參數化掃描計算模型,COMSOL Multiphysics 將在第一個失敗的幾何結構上取消計算,即使后面的幾何結構都能成功計算也將如此。將計算過程拆分為多個單獨的作業后,你便可以開始針對每個參數值進行計算。
另一種情況是,涉及的參數值數量太大,單個集群作業無法完成計算。如果你有用于控制頻率、幾何、材料、邊界條件等的參數,并希望得到所有可用組合的結果,則需要進行大量的 計算。如果你將所有計算都放入一個大型作業并將其發送到集群,那么幾乎可以肯定會引起集群管理員和同事們的強烈不滿(稍后會詳細說明)。
好消息:通過使用集群掃描節點,你可以將潛在的大型作業拆分成多個小作業。為此,除了集群掃描節點外,還需將參數化掃描節點添加到模型中。以這種方式設置模型會創建嵌套參數化掃描(類似于編程中的嵌套 for 循環)。請繼續閱讀本文,了解詳細的操作步驟。我們在本篇文章中引入了一個簡短的教程。
關于集群掃描節點,還有一點需要注意:你可以使用它來潛在地增加集群上作業的吞吐量。
使用集群掃描優化調度
上文中我們提到了集群管理員的不滿,想必你希望了解其中的原因吧。計算時間是高性能集群的寶貴資源,因此,大多數集群都實施了某種隊列或調度系統。如何處理大型作業取決于集群管理員,根據經驗,大型作業意味著需要長時間的等待。原因何在?大型作業會占用大量的計算資源,并且可能需要很長時間才能完成。因此,為了不影響其他用戶作業的正常運行,為大型作業分配的優先級就會比較低。當然,這一切都取決于集群管理員如何配置調度程序;也就是說,這需要視實際的情況而定。
這與集群掃描節點有什么關系呢?假設你可以訪問一個集群,在這個集群中很難安排大型作業,但很容易安排小型作業,因為它們會填充調度程序中的空隙(未使用的集群節點是計算成本較高的集群節點)。你可以使用集群掃描將大型作業拆分成多個小型作業。
我們通過一個例子來看一下:你可以啟動 8 個作業,讓每個作業使用 1 個節點來計算它們自己的 100 個參數值的集合,而不是在 8 個節點上啟動 1 個大型作業來并行計算 800 個參數值。隨后這些作業將被單獨調度,小型作業可能比大型作業完成得更快,具體取決于集群的設置。
設置集群掃描和嵌套參數化掃描
如果你有批處理掃描和集群計算節點的使用經驗,那么使用集群掃描節點會很輕松。(請查看文章“ 強大的批處理掃描功能 ” 和 “ 批處理掃描中任務并行的附加值”,找到有關如何設置批處理掃描的描述)。
為了演示如何設置純集群掃描和嵌套參數化掃描,我們來看看我最喜歡的示例模型:參數化的熱微執行器(這是我最喜歡的模型,原因是其中演示了 COMSOL? 軟件的多物理場功能)。由于這是一個參數化模型,因此我們很容易向其中添加參數化掃描和集群掃描。
微執行器的焦耳熱建模。電流流過兩臂,導致它們發熱。隨后,熱膨脹使執行器發生彎曲。
添加集群掃描
我們首先添加一個基于執行器長度參數 L 的集群掃描。為此,首先右鍵單擊研究1,然后單擊集群掃描。此操作將添加一個節點,你可以在其中進行集群設置,具體操作請參見這篇關于從 COMSOL Desktop? 運行集群的文章中的說明。(如果你還沒有看過這篇文章,現在不妨先讀一讀。)
接下來,你可以在研究設置窗口中添加要掃描的參數。單擊加號并在下拉列表中選擇參數 L。然后在參數值列表編輯框中輸入(例如)“100 170 240 310”。在參數單位編輯框中,輸入“um”(微米)。
如果你要將結果引入主模型,請確保選中同步解復選框。這樣,你就可以得到所有結果,并將其用于進一步分析和后處理。
在模型中添加集群掃描。
現在我們已經創建了集群掃描,它基于微執行器的長度進行循環。假設集群設置正確無誤,我們現在需要做的就是單擊計算,然后將單獨的作業發送到集群。
添加嵌套參數化掃描
現在,我們創建一個嵌套參數化掃描,這樣我們的每個集群作業本身都包含一個參數化掃描。為此,我們添加一個基于電壓參數 DV 的參數化掃描,具體步驟如下:
右鍵單擊研究1,然后單擊參數化掃描,此操作將添加一個節點,你可以在其中設置參數化掃描
在研究設置窗口中,單擊加號,然后在下拉列表中選擇參數 DV
在參數值列表編輯框中輸入“1 2 3 4 5”
在參數單位編輯框中輸入“V”
單擊計算,COMSOL Multiphysics 將為你調度作業
在模型中添加參數化掃描,從而創建嵌套參數化掃描。
你可以等待作業完成(其狀態顯示在外部進程 窗口中),也可以從進程中分離,然后保存模型,并關閉 COMSOL Multiphysics,讓作業自行運行。當你返回工作站時,只需要打開保存的模型并重新連接,軟件就會像使用常規集群計算節點一樣處理結果。這一工作流程對于通宵仿真來說堪稱完美!
結語
在本篇文章中,你不僅學習了如何使用集群掃描節點對集群上的并行參數計算進行優化,還學習了如何針對不同的情況選用最佳的方法,作為額外的收獲,你還知道了如何避免引起系統管理員的不滿。
與一般的集群計算一樣,你必須根據要計算的模型來決定采用何種方法。為了明白何時使用集群掃描和分布式參數化掃描,你需要在模型和集群上嘗試這兩種方法。無論何時,要掌握一項技能,都必須進行測試!
如上所述,你需要 FNL 才能使用集群掃描,這是因為此功能是基于網絡的技術。
來源:COMSOL
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















