2015-04-01 56 views
2

我(試圖)在Sun Grid Engine的多核計算羣集上運行R.我想使用MPI環境和snow/snowfall parLapply()函數並行運行R.我的代碼至少在我的筆記本電腦上工作,但要確定它是否能夠在集羣上實現它,我有以下問題。如何查看某個進程在具有Sun Grid Engine的羣集上使用了多少個節點?

如果我要求多個插槽/節點,比如4,我如何檢查一個正在運行的進程是否實際使用了所請求的CPU的全部數量?是否有可以顯示有關進程的請求節點上的CPU使用情況的詳細信息?

clusterEvalQ(cl, Sys.info()['nodename']) 

這應該與所報告分配的節點列表:

+0

這是[你的框架](http://gridscheduler.sourceforge.net/htmlman/manuals.html)?如果是這樣,也許'qstat'會爲你('qstat - 顯示Sun Grid Engine作業和隊列的狀態)。 – 2015-04-01 09:03:47

+0

是的,我認爲是。 'qstat'顯示分配的內核/插槽數量的正在運行的作業,但不顯示進程實際使用的運行作業數量 – user3825755 2015-04-01 09:10:40

+0

使用'qstat',我對此表示懷疑。您可以使用qhost監視每個負載的負載,並嘗試推斷您的進程是否使用了正確數量的CPU,但這也不是理想的。另外,使用'qstat -j '也許你可以推斷使用秒數與實際運行時間的CPU使用率?一般來說,如果您測試代碼並且它在筆記本電腦上並行工作,它應該在GridEngine上並行工作。有什麼讓你懷疑的嗎? – Vince 2015-04-01 13:08:43

回答

1

爲了驗證集羣工人真正開始適當的節點上,我經常使用下面的命令創建羣集對象之後qstat命令。

要真正瞭解CPU使用情況,我經常ssh到每個節點並使用像topps這樣的命令,但是如果有很多節點需要檢查,這可能會很痛苦。我們在我們的羣集上建立了Ganglia監控系統,因此我可以使用Ganglia的Web界面來檢查各種節點統計信息。您可能想要與您的系統管理員聯繫,看看他們是否設置了任何監控。

相關問題