
원격 클러스터에서 작업 중입니다(웨스트그리드 > 부가부) 파일을 통해 프로세스를 제출합니다 .pbs
. 내 .pbs
모습은 이렇다
#!/bin/bash
#PBS -l procs=1
#PBS -l walltime=100:00:00
#PBS -N SimulationName
#PBS -m ea
#PBS -M [email protected]
#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
작업 ID는 실제로 실행한(또는 이전에 실행한) 작업 ID와 동일하지만 차단된 두 작업에는 대괄호 사이에 아무 것도 없습니다 . 이 작업은 오랫동안 거기에 있으므로 삭제할 수 없습니다.
$ 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
“이 직업은 오랫동안 그곳에 머물게 됩니다.” 2년 후에는 확정될 것으로 추측/희망합니다. 어쨌든, 나는 우연히 같은 질문("이 (...) 이상한 [배열] 작업을 삭제할 수 있습니까?")을 발견했고 (타자기) 따옴표(단일 또는 이중)를 사용하여 문제를 해결했습니다.
qdel "job_identifier[]"
전체 배열을 삭제합니다. 또한 옵션 을 사용하여 특정 $PBS_ARRAYID
(또는 범위)을 지정할 수 있습니다.-t