您當前的位置:首頁 > 遊戲

關於 IBM Spectrum LSF 的高階用法

作者:由 江蘇信瑞一芯 發表于 遊戲時間:2022-10-18

本篇文章的作者是由我司高階顧問王光輝撰寫,主要是介紹了關於LSF 的一些高階用法,歡迎大家一起討論交流。

1、透過指令碼查詢Job的利用率和所佔的Core數,從而管理低利用率的Job。

•透過指令碼查詢JOB的利用率和所佔的CORE數,從而管理低利用率的JOB。•低CPU利用率的JOB要特別小心,

最可能存在2個原因:JOB缺少LICENSE導致等待;儲存IO過高,導致JOB一會兒用CPU,一會兒不用。

2、透過BSTAT指令碼,同時看到某臺伺服器的LSLOAD資訊和BHOSTS,LSHOSTS相關資訊

•建議顯示一起上相關資訊,可以指定某臺主機或者某個主機組。

3、配置Explorer,使用ElasticSearch來儲存Job相關資訊,可以快速查詢某個使用者、某個專案,在某段時間內對伺服器的使用情況。

4、允許Job可以resize

•LSF可以透過LSB。APPLICATIONS 引入特定設定,允許使用者的JOB,可以被RESIZE。比如使用者不確定自己提交多少個CPU,就可能一次提交16個CPU,實際上跑起來才用4個。那麼我們能否修正,讓使用者只佔用4個CPU即可。

5、自動繫結core,避免NUMA節點的時候,Job在多個Core上漂移,一般我們在short和normal的佇列,只允許一個Job用一個CPU core

6、配置嚴格的LDAP群組提交許可權限制

•首先,可以透過LINUX群組跟專案對應的方式,將每個專案對應多個LINUX群組。比如某個PROJECTA,可以有UG-PROJECTA-DESIGN UG-PROJECTA-VERIFY UG-PROJECTA-COT幾個群組。•然後,可以透過BSUB -G UG-PROJECTA-XX來嚴格限制LINUX的群組跟專案提交許可權統一,只有加入了對應的UG-PROJECTA-XX的使用者,才能利用這個-G UG-PROJECT-XX來提交JOB,這樣可以跟蹤到某個專案使用了多少資源,哪些使用者在用什麼群組提交JOB。•這裡需要配置3個地方:ETC/EGROUP、LSB。USERS 、ETC/ESUB

7、配置guarantee資源池

•保障資源,在LSF內,主要有2種方式存在:SLOTS GUARANTEE和HOSTS GUARANTEE兩種。分別對應的方式是,按SLOTS配置,某個專案,需要多少個CORE,一般就配置這種保障;專案另外一些情況,需要按HOST來保證,儘量讓自己的專案能夠獨佔某臺伺服器。HOSTS保證類似給某個專案給出一些專用伺服器,但是這些伺服器是動態提供的,而不是固定允許某個使用者一直佔用。因為固定提供的專用機,非常難以管理,利用率也非常低。

•兩種保障方式,使用場景不同,一般SLOTS保障,用於大量驗證的情況,比如模擬的模組SPICE模擬,數字的REGRESSION驗證。後端K庫也可以用SLOTS保障。而HOSTS保障,經常用於綜合,STA,BES,PD&PR等場景。

8、配置DISPLAY變數,讓其始終指向我們的ETX桌面

•準確地說,這個配置不是LSF的,但是在我們IC設計中,卻經常會遇到一些比如BSUB無法提交互動任務的情況,如何解決呢?其實思路很簡單。就是在。CSHRC增加一個SOURCE CSHRC。DISPLAY,然後在CSHRC。DISPLAY這個檔案內,我們在LOGIN伺服器上,將DISPLAY變數寫入到。DISPLAY檔案,然後在其他伺服器上會首先去讀取這個檔案內容,然後再設定一下DISPLAY變數即可。

9、LSF設定elim資訊,比如/local磁碟剩餘大小

10、配置記憶體不足自動掛起Job

•如果不採用LSF,我們經常會遇到伺服器因為記憶體不足,伺服器掛死的情況。因為記憶體不足,JOB還在跑,不斷申請新的記憶體,最後就是使用SWAP,進而很慢,逐步走向伺服器宕機狀態,導致這臺伺服器上跑的所有JOB都掛掉。如何避免這種情況呢?採用LSF就簡單多了。

•其實不止記憶體,還有其他比如/TMP空間不足,伺服器瞬時負載過大等情況。

以上便是王光輝先生對LSF的一些高階用法的介紹,希望能給大家帶來幫助,如果您有什麼想法,也非常歡迎您給我們後臺留言~~

標簽: job  伺服器  LSF  群組