nicktehrany / ZNS-Study

Understanding NVMe Zoned Namespace (ZNS) Flash SSD Storage Devices - Performance evaluation of ZNS devices at the block-level I/O scheduler. Contains benchmarking scripts, collected datasets, and plotting scripts.
MIT License
48 stars 11 forks source link

How can I enable F2FS to utilize more open zones for writing operations? #1

Open bpan2020 opened 2 months ago

bpan2020 commented 2 months ago

Did this Study explore the performance test on ZNS SSD with F2FS by FIO?

bpan2020 commented 2 months ago

How to launch and control multiple open zones when testing F2FS on ZNS SSD by FIO?

bpan2020 commented 2 months ago

How can I enable F2FS to utilize more open zones for writing operations? Even when I use 32 jobs to write 32 files, the write performance appears to be similar to writing with only one open zone.

for i in {1..32}; do fio --filename=${mountpoint}/f2fs${i} --size=4g --ioengine=libaio --bs=128k --iodepth=128 --rw=write --name=job${i} & done

nicktehrany commented 2 months ago

F2FS is log based and has 3 logs for data. The three logs are for cold, warm, and hot data, for which the default classification is warm data. Hence, even writing multiple jobs or files all data ends up in the single warm data log. You can either force fio to pass write hints that set some files to hot and some files to cold as well, so you can use all 3 data logs. Otherwise, use a system such as msF2FS to utilize more active zones with multiple logs for warm data.

bpan2020 commented 2 weeks ago

When all the data being written is warm data, is it true that F2FS can only utilize one open zone of a ZNS SSD?

bpan2020 commented 2 weeks ago

F2FS is log based and has 3 logs for data. The three logs are for cold, warm, and hot data, for which the default classification is warm data. Hence, even writing multiple jobs or files all data ends up in the single warm data log. You can either force fio to pass write hints that set some files to hot and some files to cold as well, so you can use all 3 data logs. Otherwise, use a system such as msF2FS to utilize more active zones with multiple logs for warm data.

I have installed F2FS on my Ubuntu 22.04 system. How can I quickly get started with msF2FS?

nicktehrany commented 1 week ago

For msF2FS you need to build the custom kernel in the repository. The file system can then be formatted/mounted in the same manner as F2FS. See the respective Readme for instructions how to do all that.