目錄
- 1. 正文
- 1.1. 一些問題
- 1.2. 使用建議
- 2. 相關
1. 正文
1.1. 一些問題
如果真正要將HTCondor高通量計算產品化還需要很多作業要做,HTCondor并沒有GUI界面,更多更全面的功能在Linux系統下的命令視窗下更方便,
拆分任務也是使用者值得考慮的問題,很多的密集運算其實不太方便拆分,拆分后大概率要進行合并操作,這種合并操作可能也相當耗時,且只能單機運算不能進行分布式計算,拆分任務還需要一定的經驗,即如何保證負載均衡,讓所有的任務同時完成,
檔案訪問也是個值得研究的問題,Windows下回默認使用檔案傳輸機制,也就是將資料隨著任務程式發送到任務機上區運行,這種方式往往會造成巨大的IO阻塞;再運行完成后,傳送的資料又會被清空洗掉,也造成了IO性能浪費,所以,如果條件允許的情況下,最好還是使用分布式檔案管理系統,當然這又是另外一個問題,
Windows下使用的vanilla模式部分功能還是受限的:
- 是發送到任務機的任務程式無法訪問任務機的網路地址資源,這是由于安全策略決定的;
- 發送的任務程式被進一步封裝了,默認引數有改變;
- 在任務機計算資源存在問題時,不能自動遷移以及斷點續作,這個功能對于HTC來說是比較重要的,HTC處理的就是穩定的進行規模運算的問題,這個問題也需要進一步深究,
HTCondor本身的計算資源是按照CPU的核心數劃分的;這一點也很值得商榷,如果給一個8核的機器提交任務,這臺機器就會同時運行8個任務,如果恰好這個任務是與IO密集相關的,就會造成IO性能的浪費,畢竟硬碟總是只有一個磁頭,單個磁頭在磁盤中反復移動,會造成磁盤的損耗,而且CPU可以按照核心數劃分,那么GPU資源呢?對于基于GPU計算的任務程式該如何劃分呢?很多實際的情況下可能是把一臺機器作為一個節點更合理一些,
為了達到更好的性能,我曾經簡單的采用檔案共享機制的辦法,也就是HTCondor的任務程式雖然無法訪問網路資源,但是可以在計算之前把檔案共享做好,把需要的資料提前傳送到任務機器上去,保證任務程式訪問本地資源即可,這樣發送的資料可以反復使用,有助于后續任務的執行效率,這種辦法怎么說呢,除非你對網路檔案共享那一套非常熟悉,否則建議不要這么做,
1.2. 使用建議
- condor_q顯示任務為H也就是掛起,說明發送的任務程式可能無法正常運行,一般是任務機器缺少必要的運行環境如一些dll,
- 網路環境需要保持穩定,一些安全軟體、防火墻、網路工具可能會造成網路環境的變動,造成任務無法執行,上一篇的實體是基于本地局域網的,
- HTC更強調穩定性而不僅是高性能,所有的改動都要基于這個原則,
- HTCondor有設定任務佇列優先級運行的功能condor_prio,可以查看檔案內相關的說明,
- 在HTCondor幫助檔案的7.2.4節"Executing Jobs as the Submitting User"提到了訪問任務程式網路資源的問題:
By default, HTCondor executes jobs on Windows using dedicated run accounts that have minimal access rights and privileges, and which are recreated for each new job. As an alternative, HTCondor can be configured to allow users to run jobs using their Windows login accounts. This may be useful if jobs need access to files on a network share, or to other resources that are not available to the low-privilege run account.
This feature requires use of a condor_credd daemon for secure password storage and retrieval. With the condor_credd daemon running, the user’s password must be stored, using the condor_store_cred tool. Then, a user that wants a job to run using their own account places into the job’s submit description file
run_as_owner = True
這一段的意思是更后臺condor_credd行程有關,需要配置相關的環境,但是我根據7.2.5節"The condor_credd Daemon"進行配置并沒有成功,有興趣的童靴可以自己試一試,
2. 相關
上一篇
目錄
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/43564.html
標籤:其他
下一篇:模塊一:shell 腳本基礎
