storage-paper-reading

Qian Y, Vef M A, Farrell P, et al. Combining Buffered {I/O} and Direct {I/O} in Distributed File Systems[C]//22nd USENIX Conference on File and Storage Technologies (FAST 24). 2024: 17-33.

问题

在Linux中,有两种I/O模式:

对于分布式文件系统,什么时候应该使用哪种I/O模式呢?

从上图可以发现:对于小I/O请求,buffered I/O的性能始终高于direct I/O;而对于大I/O请求,direct I/O则优于buffered I/O。

此外,页缓存引入了额外的数据拷贝,其管理需要执行页分配、加锁、页回收等操作。

从上图可以发现:这些文件系统将大约20%的时间花费在应用和页缓存之间的数据拷贝上,而超过40%的时间则花费在页缓存的管理上。

因此,这两种I/O模式的对比如下表所示:

方法

实验

对比系统:BeeGFS、OrangeFS

测试工具:

实验结果:

总结

启发

不足

正如论文中提到的,autoIO算法的阈值(大I/O或者小I/O)是固定的,无法适应不同的负载场景。