Poprzednie odpowiedzi, choć poprawne, nie są poprawne dla większości klastrów komputerowych na dużą skalę.
Klastry komputerowe nie zawsze przestrzegają standardowych konwencji dla maszyn, zwykle z dobrych powodów, i nie ma sensu dyskutować o tym z administratorami.
Twój bieżący katalog odnosi się do centralnego systemu plików, do którego dostęp jest uzyskiwany przez sieć. Jest to nie tylko wolne, ale także nakłada obciążenia na system dla reszty użytkowników, więc nie powinieneś go używać, chyba że nie piszesz dużo i możesz odzyskać od niego, jeśli zadanie się zawiesi.
Węzły obliczeniowe mają własny dysk twardy, czyli najszybszy dostępny system plików i to, czego powinieneś używać. Dokumentacja klaster powinien powiedzieć, co to jest, typowo /scratch
, /tmp/[jobid]
lub niektóre niestandardowe zmienne środowisko ( $SNIC_TMP
w jednym z tych, których używam).
Dlatego zalecam skonfigurowanie go przez użytkownika. Domyślne wartości mogą być pierwszymi, do których masz dostęp do zapisu:
Ale spodziewaj się niskiego wskaźnika sukcesu z tym podejściem i upewnij się, że wyślesz duże ostrzeżenie o tłuszczu.
Edycja: dodam kolejny powód, aby wymusić ustawienie użytkownika. Jeden z moich klastrów jest $TMPDIR
ustawiony na /scratch
opcję zapisu przez użytkownika na lokalnym dysku twardym. Ale dokumentacja mówi, że wszystko, co piszesz poza, /scratch/[jobid]
może zostać usunięte w dowolnym momencie, nawet w połowie cyklu. Jeśli więc przestrzegasz standardów i $TMPDIR
masz zaufanie , napotkasz przypadkowe awarie, bardzo trudne do debugowania. Możesz więc zaakceptować $TMPDIR
, ale nie ufać.
Niektóre inne klastry mają poprawnie skonfigurowaną tę zmienną, więc możesz dodać opcję jawnego zaufania $TMPDIR
, w przeciwnym razie wyślesz duże, grube ostrzeżenie.