Gridengine

如何設置 SGE 以進行以下調度:“首先嘗試在隊列 A 中執行,如果沒有可用的 A 插槽,則嘗試在隊列 B 中執行”?

  • March 6, 2015

假設您有兩個隊列,隊列 A 使用一些新硬體,隊列 B 使用舊硬體。此外,對於 SGE 作業,兩個隊列具有相同數量的節點和插槽,例如每個隊列有 10 個插槽。

現在我送出了 10 個工作。如果兩個隊列都是空的並且節點具有相同的負載,我猜有 5 個作業將在隊列 A 中執行,其中 5 個在隊列 B 中執行。但是由於 B 的硬體較舊,因此這些作業將需要更長的時間才能完成。

有沒有辦法讓 SGE 在“退出”到舊隊列 B 之前先嘗試“填充”隊列 A 中的快速節點?我在詢問問題的使用者和管理員方面。

我認為您可能誤解了隊列,或者您沒有足夠的資訊。SGE 不會在不同隊列之間拆分送出,您通常送出到一個隊列。因此,如果您想送出,您可以控制您的工作送出。您可以簡單地編寫將所有作業送出到隊列 A 的腳本,檢查 qstat 以查看哪些作業正在保存和正在執行,然後將這些作業重新送出到隊列 B,然後取消隊列 A 中保存的作業。

您也可以將所有內容放在一個隊列中,這就是我會做的。查看: https ://www.icts.uiowa.edu/confluence/display/ICTSit/SGE+adaptive+sequence+scheduling 了解如何使用一些腳本設置下一個作業調度的首選項/順序 - 儘管在在那個例子中,他們也在做具有優先級的重疊隊列,你不需要這樣做(除非你想這樣做)……

要設置填充順序,請參閱http://gridscheduler.sourceforge.net/htmlman/htmlman5/sched_conf.html 以從基於負載的填充更改為基於序列的填充。然後,您將使較新的節點具有比舊節點更早的序列號。

引用自:https://serverfault.com/questions/673483