Local storage features
Local RAM storage (memfs)
MEMFS uses RAM to create a temporary disk, for the duration of the job. This space is the fastest storage available and should be used to store temporary files. In order to use MEMFS please add the -C memfs parameter to your job specification. For example, use the following directive in your batch script: #SBATCH -C memfs
A storage volume will be set up for your job, referenced by the $MEMFS environmental variable. Please note that memory allocated to MEMFS storage counts towards the total memory allocated for your job and declared through --mem or --mem-per-cpu.
Caution: When using MEMFS for file storage, be aware of the following limitations:
- this method is only available for single-node jobs,
- the total amount of memory consumed by your job, including any MEMFS storage, must not exceed the value declared through
--mem, - this method may only be used if the total memory requirements of your job (including MEMFS storage) do not exceed the memory available on a single node,
- when using MEMFS, it is recommended to request the allocation of a full node for your job.
Local scratch storage (localfs)
Warning
Not available on Ares.
For computations which require a large quantity of metadata operations (open/close/create/remove) it is possible to set up dedicated scratch storage. To do so, please supply the -C localfs parameter when submitting your job (i.e. at the resource allocation stage, before the job ID is assigned).
For example, when submitting jobs in batch mode, use the following directive: #SBATCH -C localfs
Any job submitted in this fashion will be assigned a separate scratch volume, available on the computational nodes and referenced by the $SCRATCH_LOCAL environmental variable (using the /localfs/$SCRATCH_LOCAL space is optimized for processing small files. Each computational node possesses a separate $SCRATCH_LOCAL volume, available only during execution of the given job.
Caution: The $SCRATCH_LOCAL volume is available only on those computational nodes which have been allocated to your job, and only while the job is executing. Furthermore, it is not shared across nodes (i.e. each node possesses a separate volume). Following completion of your job, you will lose any data saved in $SCRATCH_LOCAL - if this data is relevant, it must first be copied to your team storage ($PLG_GROUPS_STORAGE/<team_name>) or to your home directory ($HOME).