Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

stonet-research/isol-bench

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
94 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

isol-bench

This repository is the home of isol-bench, a tool to evaluate storage performance isolation desiderata in GNU/Linux. Currently it has builtin support to evaluate I/O schedulers and cgroups, with knobs for io.max, io.cost, io.latency, io.prio.class and io.bfq.weight. isol-bench was used in the IISWC'25 publication "Does Linux Provide Performance Isolation for NVMe SSDs? Configuring cgroups for I/O Control in the NVMe Era". Below we detail the installation procedures and dependencies, and tne current isolation benchmarks.

dependencies and installation

OS

First check OS compatability. Linux 6.9+ is required and BLK_CGROUP_IOLATENCY needs to be enabled. For reproducibility we have linked our kernel config and commit in the kernel-setup directory along with an installation script.

Benchmark

First install fio:

apt-get update
apt-get install -y wget git build-essential zlib1g-dev libnuma-dev libaio-dev

git submodule init
git submodule update --recursive

pushd isol-bench/dependencies/fio
./configure
make -j
popd

Check Python version, we only tested on one version:

python3 --version
## Python 3.10.12

Install plotting libs

pip3 install matplotlib

benchmarks

All benchmarks are found in the isol-bench dir. For every test there is a subdir with a readme.

1-overhead: test overhead of a knob in latency, bandwidth, CPU, memory

2-fairness: test fairness capabilities of a knob

3-prio-versus-util: give the pareto front capabilities of a knob in latency/bandwidth prio and SSD bandwidth utilization

4-bursts: evaluate the response time of prioritization (continuation of benchmark 3)

About

Does Linux Provide Performance Isolation for NVMe SSDs? Configuring cgroups for I/O Control in the NVMe Era (IISWC'25)

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.