Предположим, у вас есть две очереди: очередь A с новым оборудованием и очередь B со старым оборудованием. Кроме того, обе очереди имеют одинаковое количество узлов и слотов для заданий SGE, например 10 слотов в очереди.
Сейчас подаю 10 вакансий. Если обе очереди пусты и узлы имеют одинаковую нагрузку, я предполагаю, что 5 заданий будут выполняться в очереди A, а 5 из них - в очереди B. Но поскольку B имеет более старое оборудование, выполнение заданий займет больше времени.
Есть ли способ попросить SGE попытаться «заполнить» быстрые узлы в очереди A, прежде чем «отступить» к старой очереди B? Я спрашиваю о стороне вопроса как пользователя, так и администратора.
Думаю, вы неправильно понимаете очереди или у вас недостаточно информации. 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 для перехода от заливки на основе нагрузки к заливке на основе последовательности. Затем вы должны сделать так, чтобы новые узлы имели более ранние порядковые номера, чем более старые узлы.