Las respuestas anteriores, aunque correctas, no son válidas para la mayoría de los clústeres de computadoras a gran escala.
Los clústeres de computadoras no siempre siguen las convenciones estándar para las máquinas, generalmente por buenas razones, y no tiene sentido discutirlo con los administradores de sistemas.
Su directorio actual se refiere al sistema de archivos central, al que se accede a través de la red. Esto no solo es lento, sino que también pone cargas en el sistema para el resto de los usuarios, por lo que no debe usarlo a menos que no esté escribiendo mucho y pueda recuperarse si el trabajo falla.
Los nodos de computación tienen su propio disco duro, que es el sistema de archivos más rápido disponible y lo que debería estar usando. La documentación del clúster debería decirle qué es, por lo general /scratch
, /tmp/[jobid]
o alguna variable de entorno no estándar ( $SNIC_TMP
en una de las que uso).
Entonces, lo que recomiendo es que sea configurable por el usuario. Los valores predeterminados pueden ser los primeros a los que tiene acceso de escritura:
Pero espere una baja tasa de éxito con este enfoque y asegúrese de emitir una gran advertencia.
Editar: agregaré otra razón para forzarlo a ser configurado por el usuario. Uno de mis clústeres se ha $TMPDIR
establecido en /scratch
, que puede escribir el usuario y en el disco duro local. Pero, la documentación dice que cualquier cosa que escriba fuera /scratch/[jobid]
puede eliminarse en cualquier momento, incluso en el medio de la ejecución. Entonces, si sigue los estándares y confía $TMPDIR
, encontrará bloqueos aleatorios, muy difíciles de depurar. Entonces, puedes aceptar $TMPDIR
, pero no confiar en él.
Algunos otros clústeres tienen esta variable configurada correctamente, por lo que puede agregar una opción para confiar explícitamente $TMPDIR
, de lo contrario, emitirá una advertencia grande y gorda.