usrbio engine for fio (#62)

* usrbio engine for fio

* Update README.md
This commit is contained in:
Yuheng Zou
2025-03-03 17:37:28 +08:00
committed by GitHub
parent ab5aa89262
commit 799b9a5d2f
4 changed files with 346 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
# 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
```
[fio]: https://github.com/axboe/fio
[3FS]: https://github.com/deepseek-ai/3FS
[fio documentation]: https://fio.readthedocs.io/en/latest/fio_doc.html