Skip to content

Node scratch space

Aim: Provide information about when to local/node ‘scratch’ directory.

Target audience: Nikhef users.


All systems have a local ‘scratch’ directory. While you think this is /tmp/, it may not be where you expect, so always use $TMPDIR to find it. On Stoomboot nodes for example, you have a scratch directory that is specific for your job, and you have a fresh one for each job. Using $TMPDIR as a pointer to it ensures you’re always in the right spot. Want more resilience or use the same script on your laptop and Stoomboot? Use ${TMPDIR:-/tmp}. On desktop systems, there’s also /localstore that you can use.


Intended use

Local/node ‘scratch’ directory should be used for temporary and intermediate results. Output from MC jobs that will be merged in larger files before being written to dCache (or /data).

What doesn't belong on the node scratch space

Examples of items that should go elsewhere include resulting data files and ntuples that should be used in subsequent analysis (put those in dCache or /data, since localstore is neither backed up nor resilient, and $TMPDIR is cleaned up once the compute job completes), private data (put that in your home directory, your personal web pages (in your home directory or web space), scripts, code, and software (put those in /project if its generally useful, or your home directory otherwise).

What are the limitations?

This storage is only available on one system, and not shared at all. It is blazing fast, large, can be re-written at will, but … is ephemeral and fragile.