We analyze the manycore scalability of five widelydeployed file systems, namely, ext4, XFS, btrfs, F2FS, and tmpfs, by using our open source benchmark suite, FXMARK. FXMARK implements 19 microbenchmarks to stress specific components of each file system and includes three application benchmarks to measure the macroscopic scalability behavior. We observe that file systems are hidden scalability bottlenecks in many I/Ointensive applications even when there is no apparent contention at the application level.
FxMark is provided under the terms of the MIT license.
-
Tested: Ubuntu 14.04
-
Install filesystem-specific packages (e.g., mkfs.*)
$ bin/install-fs-tools.sh
- Build FxMark
$ make
- Clean FxMark
$ make clean
-
Benchmark configuration
- Set target media paths at bin/run-fxmark.py (e.g., Runner.LOOPDEV)
- Set configuration for each run at bin/run-fxmark.py (i.e., run_config)
-
Run benchmark
- A log file will be created at 'logs' directory with starting time.
$ bin/run-fxmark.py
$ bin/plotter.py --ty sc --log {log file} --out {output pdf file}
$ bin/plotter.py --ty util --log {log file} --ncore {# core} --out {output pdf file}
- Refer to our fxmark-apps branch in the vbench repo for exim and rocksdb
- Changwoo Min [email protected]
- Sanidhya Kashyap [email protected]
- Steffen Maass [email protected]
- Woonhak Kang [email protected]
- Taesoo Kim [email protected]
- Paper on FxMark
Understanding Manycore Scalability of File Systems
Changwoo Min, Sanidhya Kashyap, Steffen Maass, Woonhak Kang, and Taesoo Kim
USENIX ATC 2016
@inproceedings{min:fxmark,
title = {{Understanding Manycore Scalability of File Systems}},
author = {Changwoo Min and Sanidhya Kashyap and Steffen Maass and Woonhak Kang and Taesoo Kim},
booktitle = {Proceedings of the 2016 USENIX Annual Technical Conference (ATC)},
month = jun,
year = 2016,
address = {Denver, CO},
}