nocache

nocache - minimize caching effects in lustre filesystems

General Information

The nocache tool tries to minimize the effect an application has on the Linux file system cache. This is done by intercepting the open and close system calls and calling posix_fadvise with the POSIX_FADV_DONTNEED parameter. Because the library remembers which pages (ie., 4K-blocks of the file) were already in file system cache when the file was opened, these will not be marked as “don’t need”, because other applications might need that, although they are not actively used (think: hot standby).

Use case: backup processes that should not interfere with the present state of the cache.

Use case: staging of large amount of data in a lustre file system before a parallel job

Read more on github

VersionCompilerBuild dateInstallation Pathmodulefile
1.119-aug-2019/sw/tools/nocache/1.1nocache/1.1gcc

or some more information consult the man-page.

Usage at HLRN

nocache is found to resolve the lustre issue, where temporarly invalid files are produced by staging huge amount of data before a parallel job step.

Load the modulefile

$ module load nocache

This provides access to the script nocache and the binaries cachedel and cachestats. The corresponding man - pages become available.

Prepend nocache before file copy operations

$ nocache cp <source> <target> 

Building nocache

Installation includes

  • download from github
  • run make and make install - see run_make in the installation path.

License conditions

See https://github.com/Feh/nocache/blob/master/COPYING