I/O Performance Recommendations

MSI systems offer a variety of storage locations for users. Depending on factors such as file size, read/write frequency, etc., users may find particular options can increase the performance of their software. Here we list storage locations and suggestions for appropriate use. 

If you are unsure whether these options are appropriate for your use, please contact MSI Support (help@msi.umn.edu) and request advice from a consultant

ramdisk

For small files, users can use ramdisk (/dev/shm), which has limited capacity (1/2 the memory on a given node, or 12 GB/node on Itasca), but is orders of magnitude faster than disk-based storage (/project, /lustre, /home, /scratch, /tmp).

Users should "clean up" after themselves (remove all files they have created in /dev/shm) after every job if they choose to use this option, otherwise ramdisk can quickly fill up.

Shared Usage

/tmp disk based storage is local to a given node, and therefore should not be affected by shared usage (/project, /lustre, /home, and /scratch are shared).

Lustre

For large files on /lustre, you may want to set your stripe size, which can make performance up to five times faster.

The National Institute for Computational Science has a description of the Lustre parallel filesystem, including extensive I/O performance tips.

Users may also want to consider using parallel I/O libraries on /lustre, such as MPIIO, netCDF, and HDF5.