Performance Trade-Off of File System between Overwriting and Dynamic Relocation on a Solid State Drive

Most file systems overwrite modified file data and metadata in their original locations, while the Log-structured File System (LFS) dynamically relocates them to other locations. We design and implement the Evergreen file system that can select between overwriting or relocation for each block of a file or metadata. Therefore, the Evergreen file system can achieve superior write performance by sequentializing write requests (similar to LFS-style relocation) when space utilization is low and overwriting when utilization is high. Another challenging issue is identifying performance benefits of LFS-style relocation over overwriting on a newly introduced SSD (Solid State Drive) which has only Flash-memory chips and control circuits without mechanical parts. Our experimental results measured on a SSD show that relocation outperforms overwriting when space utilization is below 80% and vice versa.




References:
[1] M. Rosenblum and J. K. Ousterhout, "The Design and Implementation of
a Log-Structured File System," ACM Transactions on Computer Systems,
vol. 10, pp. 26-52, 1992.
[2] T. Blackwell, J. Harris, and M. I. Seltzer, "Heuristic Cleaning Algorithms
in Log-Structured File Systems," in Proceedings of the 1995 USENIX
Technical Conference, New Orleans, Louisiana, USA, 1995, pp. 277-288.
[3] J. N. Matthews, D. Roselli, A. M. Costello, R. Y. Wang, and T. E.
Anderson, "Improving the performance of log-structured file systems
with adaptive methods," ACM Operating Systems Review, vol. 31, pp.
238-251, December 1997.
[4] J. Wang and Y. Hu, "WOLF-A Novel Reordering Write Buffer to Boost
the Performance of Log-Structured File Systems," in 1st Conference on
File and Storage Technologies, 2002, pp. 47-60.
[5] M. Seltzer, K. A. Smith, H. Balakrishnan, J. Chang, S. McMains, and V.
Padmanabhan, "File System Logging versus Clustering: A Performance
Comparison," in USENIX Annual Technical Conference, 1995, pp.
249-264.
[6] W. Wang, Y. Zhao, and R. Bunt, "HyLog: A High Performance Approach
to Managing Disk Layout," in Proceedings of the 3rd USENIX
Conference on File and Storage Technologies, San Francisco, CA 2004.
[7] L. W. McVoy and S. R. Kleiman, "Extent-like Performance from a UNIX
File System," in Proceedings of the USENIX Winter 1991 Technical
Conference, Dallas, TX, USA, 1991, pp. 33-43.
[8] D. Woodhouse, "JFFS: The Journaling Flash File System," in Ottawa
Linux Symposium 2001, 2001.
[9] "YAFFS (Yet Another Flash File System) Specification Version 0.3,"
http://www.aleph1.co.uk/yaffs/, 2002.
[10] R. Hagmann, "Reimplementing the Cedar File System Using Logging and
Group Commit," ACM Operating Systems Review, vol. 21, pp. 155-162,
1987.
[11] V. Prabhakaran, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau,
"Analysis and evolution of journaling file systems," in Proceedings of the
USENIX Annual Technical Conference 2005 Anaheim, CA
[12] G. R. Ganger and Y. N. Patt, "Metadata Update Performance in File
Systems," in Proceedings of the USENIX 1994 Symposium on Operating
Systems Design and Implementation, Monterey, CA, USA, 1994, pp.
49-60.
[13] G. R. Ganger, M. K. McKusick, C. A. N. Soules, and Y. N. Patt, "Soft
updates: a solution to the metadata update problem in file systems," ACM
Transactions on Computer Systems, vol. 18, pp. 127-153, 2000.
[14] D. Hitz, J. Lau, and M. Malcolm, "File System Design for an NFS File
Server Appliance," in Proceedings of the USENIX Winter 1994 Technical
Conference, San Fransisco, CA, USA, 1994, pp. 235-246.
[15] D. Katcher, "PostMark: A New File System Benchmark," Network
Applicance Inc. 1997.