We have proposed a novel reordering write buffer design called WOLF for the Log-structured File System. WOLF improves the disk layout by reordering the write data in segment buffers before writing data to the disk. By utilizing an adaptive algorithm that separates active data from inactive data, and taking advantages of file temporal and spatial localities, the reordering buffer forces actively-accessed data blocks into one hot segment and inactive data into another cold segment. Since most of the blocks in active segments will be quickly invalidated while most blocks in inactive segments will be left intact, data on the disk form a good bimodal distribution. This bimodal distribution significantly reduces the garbage collection overhead.
Because WOLF works before initial writes go to disk, it can be integrated with other strategies smoothly to improve LFS performance. By reducing cleaning overhead, WOLF ameliorates the competition of disk bandwidth. Simulation experiments based on a wide range of real-world and synthetic workloads show that our strategy can reduce the overall write cost by 53% and improve write response time by 35.5%. The read performance is generally better than or comparable to the LFS. Our scheme still guarantees fast crash recovery, a key advantage of LFS.
We believe that our method can significantly improve the performance of those IO systems (such as some RAIDs) that use the LFS technology. It may also increase the chance of LFS success in the OS environments like Linux. Moreover, since logging is a commonly used technology to improve the I/O performance, we believe that our new scheme will have a broad impact on high performance I/O systems as well. We also plan to apply this technique to other general file systems like FFS in the future.