Parallel Environment (PE) в Sun Grid Engine (6.2u5) не будет запускать задания: "предлагает только 0 слотов"

У меня установлен Sun Grid Engine (версия 6.2u5) на сервере Ubuntu 10.10 с 8 ядрами. Чтобы зарезервировать несколько слотов, я настроил параллельную среду (PE) следующим образом:

pe_name            serial
slots              999
user_lists         NONE
xuser_lists        NONE
start_proc_args    /bin/true
stop_proc_args     /bin/true
allocation_rule    $pe_slots
control_slaves     FALSE
job_is_first_task  TRUE
urgency_slots      min
accounting_summary FALSE

Это связано с all.q на рассматриваемом сервере (назовем сервер A). Однако, когда я отправляю задание, которое использует 4 потока с, например, qsub -q all.q@A -pe serial 4 mycmd.sh, оно никогда не назначается, и я получаю следующие аргументы из qstat:

не может работать в PE "serial", потому что он предлагает только 0 слотов

Почему SGE говорит, что "serial" предлагает только 0 слотов, поскольку на указанном мной сервере (сервере A) доступно 8 слотов?

Рассматриваемая очередь настраивается таким образом (имена серверов изменены):

qname                 all.q
hostlist              @allhosts
seq_no                0
load_thresholds       np_load_avg=1.75
suspend_thresholds    NONE
nsuspend              1
suspend_interval      00:05:00
priority              0
min_cpu_interval      00:05:00
processors            UNDEFINED
qtype                 BATCH INTERACTIVE
ckpt_list             NONE
pe_list               make orte serial
rerun                 FALSE
slots                 1,[D=32],[C=8], \
              [B=30],[A=8]
tmpdir                /tmp
shell                 /bin/sh
prolog                NONE
epilog                NONE
shell_start_mode      posix_compliant
starter_method        NONE
suspend_method        NONE
resume_method         NONE
terminate_method      NONE
notify                00:00:60
owner_list            NONE
user_lists            NONE
xuser_lists           NONE
subordinate_list      NONE
complex_values        NONE
projects              NONE
xprojects             NONE
calendar              NONE
initial_state         default
s_rt                  INFINITY
h_rt                  08:00:00
s_cpu                 INFINITY
h_cpu                 INFINITY
s_fsize               INFINITY
h_fsize               INFINITY
s_data                INFINITY
h_data                INFINITY
s_stack               INFINITY
h_stack               INFINITY
s_core                INFINITY
h_core                INFINITY
s_rss                 INFINITY
h_rss                 INFINITY
s_vmem                INFINITY
h_vmem                INFINITY,[A=30g], \
              [B=5g]

2 ответа

Правило распределения $pe_slots требует, чтобы вы отправляли задания того же размера, что и количество ядер на любом из ваших компьютеров. Либо измените правило распределения на $fill_up или попробуйте представить работу, которая требует 8, 30 или 32 ядра.

Я не знаю ответа, но вы можете получить гораздо больше информации о том, почему механизм сетки не планирует работу, запустив qalter -w p а также qalter -w v, Единственное предостережение заключается в том, что, по крайней мере, в некоторых версиях qalter -w v не игнорирует эксклюзивные ресурсы, как следует.

Другие вопросы по тегам