2017-01-15 137 views
0

我在使用Starcluster設置的AWS EC2上擁有Sun Grid Engine集羣。每個節點有4個處理器和16G RAM。我想提交一個任務數組,每次使用一個完整的節點(全部4個處理器和16G RAM)分派2個作業。但是,我不想創建一個像-pe smp 4這樣的標誌的並行環境,因爲這是經驗性的,會大大降低性能。是否有一個qsub標誌表示類似於「將作業提交給具有未分配給任何其他作業的16G內存的節點」?提交作業節點,如果有免費16克此刻 -l h_vmem =16克 - - 我所知道的是使用qsub請求尚未在SGE中分配的內存

-l mem_free =16克的標誌,如果存儲器使用量16克以上終止作業

無論是這些工作爲我的問題。在mem_free = 16g的情況下,因爲作業最初使用內存速度很慢,所以qsub會將所有任務分配給2個節點,然後它們全部同時耗盡內存。

回答

1

我用手動變量來做這件事。這裏是StarCluster code to it

所以基本上它創建了一個變量「da_mem_gb」。每臺機器的初始值都等於它的RAM。然後作業請求使用該變量需要多少RAM。如果他們需要一臺機器的所有內存,那麼一次性將一項作業分配給該機器。

+0

這真棒,謝謝! – dylkot