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
Version | Compiler | Build date | Installation Path | modulefile |
---|---|---|---|---|
1.1 | 19-aug-2019 | /sw/tools/nocache/1.1 | nocache/1.1 | gcc |
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.