1

Я работаю над удаленным кластером (westgrid> bugaboo), на котором я отправляю процессы через файл .pbs . Мой. .pbs выглядит так

#!/bin/bash
#PBS -l procs=1
#PBS -l walltime=100:00:00
#PBS -N SimulationName
#PBS -m ea
#PBS -M myname@gmail.com
#PBS -l pmem=3000mb
#PBS -t 1-100

echo "Starting run at: `date`"

R --vanilla --args ${PBS_ARRAYID} < /Path/To/code.R

echo "Job finished with exit code $? at: `date`"

где PBS_ARRAYID будет принимать значения от 1 до 100 для каждого конкретного задания. /Path/To/code.R является оболочкой R для некоторого двоичного файла, написанного на C Когда я отправляю работу

$ qsub mypbs.pbs

Кажется, все работает нормально. Симуляции запускаются, как и ожидалось, и я получил результаты. Проблема в том, что в какой-то момент во время симуляции я часто вижу странные задания в "заблокированных заданиях".

$ showq -u myName

active jobs------------------------
JOBID              USERNAME      STATE PROCS   REMAINING            STARTTIME


0 active jobs            0 of 4516 processors in use by local jobs (0.00%)
                        428 of 436 nodes active      (98.17%)

eligible jobs----------------------
JOBID              USERNAME      STATE PROCS     WCLIMIT            QUEUETIME


0 eligible jobs   

blocked jobs-----------------------
JOBID              USERNAME      STATE PROCS     WCLIMIT            QUEUETIME

30004048[]          matthey  NotQueued     1  2:02:00:00  Wed Mar 23 12:56:27
30156104[]          matthey  NotQueued     1  2:02:00:00  Mon Mar 28 01:14:16

2 blocked jobs   

Total jobs:  2

Идентификатор задания действительно такой же, как и у тех, кто выполнял (или выполнял раньше), но эти два заблокированных задания не имеют PBS_ARRAYID в квадратных скобках. Эти работы остаются там надолго, и я не могу их удалить

$ qdel 30004048[]

qdel: nonexistent job id: 30004048[]

Кроме того, я не могу отправить новую работу (что является основной проблемой), когда я получаю сообщение

$ qsub mypbs.pbs

qsub: submit error (Maximum number of jobs already in queue MSG=Job 30893576.b0 violates the global server limit of 500 jobs queued per user)

хотя я НЕ нарушаю этот лимит сервера. В конечном итоге эти задания "NotQueued" в конечном итоге исчезают, но только через относительно длительное время.

Эта проблема случалась со мной несколько раз в прошлом, и среди всех пользователей этого кластера я, похоже, единственный, кто столкнулся с этой проблемой. Обращаясь в службу поддержки, они обычно в итоге каким-то образом удаляют две работы, но до сих пор я не получил никакого долгосрочного решения этой проблемы.

  • У вас есть представление о том, что происходит?
  • Могу ли я удалить эти две странные работы?
  • Как я могу избежать повторения подобных вещей?

1 ответ1

0

«Эти работы остаются там надолго», я думаю / надеюсь, что через два года они будут завершены. В любом случае, я наткнулся на один и тот же вопрос («Могу ли я удалить эти (…) странные задания [массива]»), и использование (машинная) кавычек (одинарных или двойных) решило проблему:

qdel "job_identifier[]"

удалить полный массив. Кроме того, вы можете указать конкретный $PBS_ARRAYID (или диапазон) с опцией -t

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .