iofs

This guide documents the installation and execution of IOFS. IOFS reports and, classifies all I/O requests without requiring any further information about the I/O hardware or software configuration.

1. Prepare the environment

conda create -n iofs -c conda-forge cmake curl libnghttp2 make gcc
conda activate iofs
conda install libcurl
conda install conda-forge pyfuse3

git clone https://github.com/gwdg/iofs.git
cd iofs
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=$CONDA_PREFIX ..
cmake ..
make 

The compiled binary will be available at build/src/iofs. If you need more information on creating conda on the GWDG cluster, see here.

2. Run IOFS

./src/iofs --csv-rw-path=/.../output.csv /path/to/mountpoint / /path/to/dataFolder

NOTE:

  • /path/to/dataFolder is the backend directory (real data).
  • /path/to/mountpoint is the mountpoint directory (must exist and be empty).
  • /path/to/output.csv is the path to the output CSV log file.

You must have permission to mount FUSE filesystems. Therefore, before using iofs, ensure FUSE support is enabled (For more details see here). To unmount IOFS you can use: fusermount -u /path/to/mountpoint and check if it is correctly unmounted: mount | grep /path/to/mountpoint