@@ -9,11 +9,15 @@ in a HPC cluster to produce a high-performance storage space that can be accesse
This storage space allows HPC applications and simulations to run in isolation from each other with regards
to I/O, which reduces interferences and improves performance.
HSM is part of Lustre, which can manage the transferred data on Lustre. With an HSM integration, it can transparently transfer data between Lustre and GekkoFS. When a job starts, it receives a config file from the user and starts to transfer files from Lustre to GekkoFS. When the job is done or another process from Lustre tries to access a transferred file from Lustre, it flushes back the data to Lustre to maintain consistency. It can also let the user run a separate job with shared data on two different filesystems, like Lustre as a backend filesystem and GekkoFS as a burst buffer cache.
# Dependencies
-\>gcc-8 (including g++) for C++11 support
- General build tools: Git, Curl, CMake >3.6 (>3.11 for GekkoFS testing), Autoconf, Automake
- add `-DCMAKE_INSTALL_PREFIX=<install_path>` where the GekkoFS client library and server executable should be
@@ -66,6 +82,10 @@ following [README](scripts/spack/README.md) for details.
## General
For ruuning it is also necessary to run GekkoFS with administrative permissions. It sends a request to HSM API and without that it can not process the request.
It is also necessary to start cargo prior to run Gekkofs.
On each node a daemon (`gkfs_daemon` binary) has to be started. Other tools can be used to execute
the binary on many nodes, e.g., `srun`, `mpiexec/mpirun`, `pdsh`, or `pssh`.
@@ -79,6 +99,9 @@ The `-P` argument is used for setting another RPC protocol. See below.
-`ofi+psm2` for using the libfabric plugin with Intel Omni-Path (unstable) and requires
the [opa-psm2](https://github.com/cornelisnetworks/opa-psm2>) library
## The user cache preference for HSM hsm_extension
The user can edit the existing file 'path.conf' in the etc directory to add the preferred file and directory addresses for caching purposes. It is necessary to edit this file before running the gekkofs deamon.
## The GekkoFS hostsfile
Each GekkoFS daemon needs to register itself in a shared file (*hostsfile*) which needs to be accessible to _all_