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