2014-05-25 108 views
1

我有一個活躍多個節點的禿鷹集羣。如何強制condor將作業提交到集羣中的所有節點?

但是當我提交一份工作時,它只能在一個節點(即主節點)上運行。我知道Condor會根據可用資源自動分發作業。

但是如果我想迫使神鷹利用所有的節點呢?僅僅是爲了評估在多節點上運行時的處理時間與單個節點?

我已經嘗試在提交文件中添加要求=機器==「主機名1」& &機器==「主機名2」,但不起作用。

回答

0

Condor受限於它只能執行(system())命令。如果你的程序沒有創建許多子任務,你將不會經歷任何速度改進。

請發佈您的職位描述(文件)的簡短片段。

1

恐怕我不完全明白你在問什麼。讓我們看看我能不能幫助。我可以看到幾種情況:

  1. Condor只調度您的作業在主節點上運行,而不管有多少臺機器可用。
  2. Condor正在所有可用機器上安排作業。然而,你想要做的是獲得一個特定的工作,以使用多臺機器。

在案例1.事情發生了什麼與您的提交文件或您的池設置。我會假設condor_status返回多臺機器,並且您的池設置正常。在這種情況下,典型的問題如下:如果您沒有爲您的工作指定Requirement,Condor會爲您插入一個。默認情況下,Condor將請求該作業在具有與提交節點相同的操作系統和體系結構的計算機上運行。這一個確實咬了我幾次與異構池;-)

在情況下2.你將不得不確保你的可執行文件可以使用多臺機器(例如通過MPI)您需要告訴Condor它。一種方法是使用Parallel Universe。另一種方法是使用經典的主人/工人架構,其中工作人員是持續的Condor工作。

相關問題