3FS/benchmarks/fio_usrbio
Yuheng Zou 799b9a5d2f
usrbio engine for fio (#62)
* usrbio engine for fio

* Update README.md
2025-03-03 17:37:28 +08:00
..
hf3fs_usrbio.cpp usrbio engine for fio (#62) 2025-03-03 17:37:28 +08:00
Makefile usrbio engine for fio (#62) 2025-03-03 17:37:28 +08:00
README.md usrbio engine for fio (#62) 2025-03-03 17:37:28 +08:00

FIO engine for 3FS USRBIO

This repository contains the fio external plugin used for benchmarking 3FS USRBIO.

Build

First, build 3FS and fio.

Configure the following variables:

  • HF3FS_LIB_DIR: directory contains libhf3fs_api_shared.so, the default path in 3FS repo is 3FS/build/src/lib/api.
  • HF3FS_INCLUDE_DIR: directory contains hf3fs_usrbio.h, the default path in 3FS repo is 3FS/src/lib/api.
  • FIO_SRC_DIR: directory contains config-host.h. After building fio, this header will be in the root of the fio repo.

Then run:

make HF3FS_LIB_DIR=${HF3FS_LIB_DIR} HF3FS_INCLUDE_DIR=${HF3FS_INCLUDE_DIR} FIO_SRC_DIR=${FIO_SRC_DIR}

You will get the external plugin as hf3fs_usrbio.so.

Usage

To use this plugin, set the ioengine args in fio as external:hf3fs_usrbio.so. Please refer to fio documentation for further explanation.

To benchmarking batched small I/Os, please set these four parameters to batch_size simultaneously:

iodepth=1024
iodepth_batch_submit=1024
iodepth_batch_complete_min=1024
iodepth_batch_complete_max=1024