
Estoy trabajando en un clúster remoto (westgrid > bugaboo) en el que envío procesos a través de un .pbs
archivo. mi .pbs
aspecto es asi
#!/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`"
, donde PBS_ARRAYID
tomará los valores del 1 al 100 para cada trabajo específico. /Path/To/code.R
es un contenedor R para algún archivo binario escrito en C
. Cuando envío el trabajo
$ qsub mypbs.pbs
Todo parece funcionar bien. Las simulaciones se ejecutaron como se esperaba y obtuve los resultados. El problema es que en algún momento, mientras se ejecutan las simulaciones, a menudo veo trabajos extraños en los "trabajos bloqueados".
$ 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
De hecho, el ID del trabajo es el mismo que el de los que se ejecutaron (o se ejecutaron antes), pero estos dos trabajos bloqueados no tienen ninguno PBS_ARRAYID
entre corchetes. Estos trabajos permanecen ahí por mucho tiempo y no puedo eliminarlos.
$ qdel 30004048[]
qdel: nonexistent job id: 30004048[]
Además, no puedo enviar ningún trabajo nuevo (que es el principal problema) cuando recibo el mensaje.
$ 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)
aunque NO violo este límite del servidor. Al final, estos trabajos "no en cola" acaban desapareciendo, pero sólo después de un tiempo relativamente largo.
Este problema me ha ocurrido varias veces en el pasado y, entre todos los usuarios de este clúster, parezco ser el único que experimenta este problema. Al contactar al soporte, generalmente terminan eliminando de alguna manera los dos trabajos, pero hasta ahora no he recibido ninguna solución a largo plazo para este problema.
- ¿Tienes alguna idea de lo que está pasando?
- ¿Puedo eliminar estos dos trabajos extraños?
- ¿Cómo puedo evitar que cosas así vuelvan a suceder?
Respuesta1
“Estos trabajos permanecen ahí por mucho tiempo” Supongo/espero que después de dos años estén finalizados. De todos modos, me encontré con la misma pregunta ("¿Puedo eliminar estos (...) trabajos [de matriz] extraños") y el uso de comillas (de máquina de escribir) (simples o dobles) resolvió el problema:
qdel "job_identifier[]"
para eliminar la matriz completa. Además, puede especificar un específico $PBS_ARRAYID
(o un rango) con la -t
opción