Las respuestas anteriores, aunque correctas, no son válidas para la mayoría de los clusters 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 discutirlas 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 informáticos 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 debe indicar qué es, típicamente /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 un bajo índice de éxito con este enfoque y asegúrese de emitir una gran advertencia.
Editar: Agregaré otra razón para forzar que sea configurada por el usuario. Uno de mis clústeres tiene $TMPDIR
establecido en /scratch
, que el usuario puede escribir en el disco duro local. Pero, la documentación dice que cualquier cosa que escriba fuera de /scratch/[jobid]
puede eliminarse en cualquier momento, incluso en medio de la ejecución. Por lo tanto, si sigue los estándares y confía en $TMPDIR
, encontrará bloqueos aleatorios, muy difíciles de depurar. Por lo tanto, puede 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 en $TMPDIR
, de lo contrario, emitir una gran advertencia.