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

VersionBuild DateInstallation Pathmodulefilecompiler
1.119-aug-2019/sw/tools/nocache/1.1nocache/1.1gcc

For 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. See the error report

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