Le risposte precedenti, sebbene corrette, non sono valide per la maggior parte dei cluster di computer.
I cluster di computer non seguono sempre le convenzioni standard per le macchine, di solito per buoni motivi, e non ha senso discuterne con gli amministratori di sistema.
La directory corrente si riferisce al file system centrale, a cui si accede attraverso la rete. Questo non è solo lento, ma carica anche il sistema per il resto degli utenti, quindi non dovresti usarlo a meno che tu non stia scrivendo molto e puoi recuperarlo se il lavoro si arresta in modo anomalo.
I nodi di calcolo hanno il proprio disco rigido, ovvero il file system più veloce disponibile e cosa dovresti usare. La documentazione del cluster dovrebbe dirti di cosa si tratta, in genere /scratch
, /tmp/[jobid]
o una variabile di ambiente non standard ( $SNIC_TMP
in una di quelle che uso).
Quindi, ciò che raccomando è renderlo configurabile dall'utente. I valori predefiniti possono essere i primi a cui si ha accesso in scrittura a:
Ma aspettati un basso tasso di successo con questo approccio e assicurati di emettere un grosso avviso grasso.
Modifica: aggiungerò un altro motivo per costringerlo a essere impostato dall'utente. Uno dei miei cluster è $TMPDIR
impostato su /scratch
, che è scrivibile dall'utente e sul disco rigido locale. Ma la documentazione dice che tutto ciò che scrivi al di fuori di esso /scratch/[jobid]
può essere eliminato in qualsiasi momento, anche durante la corsa. Quindi, se segui gli standard e ti fidi $TMPDIR
, incontrerai crash casuali, molto difficili da eseguire il debug. Quindi, puoi accettare $TMPDIR
, ma non fidarti.
Alcuni altri cluster hanno questa variabile correttamente configurata, quindi è possibile aggiungere un'opzione per fidarsi esplicitamente $TMPDIR
, altrimenti emettere un grosso, grosso avviso.