Embedded System Lab. 정영진 The Design and Implementation of a Log-Structured File System Mendel Rosenblum and John K. Ousterhout ACM Transactions on Computer Systems, Vol. 10, Issue 1, pp. 26~52, 1992
정 영 진 Embedded System Lab.
정 영 진 Embedded System Lab. Introduction Log-structured file system Simulation Crash recovery Evaluation Conclusion Contents
정 영 진 Embedded System Lab. Introduction A gap between processor and HDD
정 영 진 Embedded System Lab. Internal structure of HDD Two components of disk performance Transfer bandwidth Access time Introduction Chris Ruemmler and John Wilkes. An introduction to disk drive modeling. IEEE Computer, 27(3):17–28, March 1994.
정 영 진 Embedded System Lab. Workloads Small file Office, engineering applications, etc … ‘Metadata’ Large file Limited by the bandwidth of the I/O Limited by memory subsystems LFS Focus on the efficiency of small file Introduction
정 영 진 Embedded System Lab. Problem with existing file systems Example of current file system Unix FFS Spread information Cause too many small access Synchronous write File system metadata Introduction request write request write request write
정 영 진 Embedded System Lab. Fundamental idea Asynchronous write Writing all the changes to disk sequentially File data, attributes, index blocks, directories, … Single operation Log-structured file system request Buffer write
정 영 진 Embedded System Lab. LFS(Log-structured file system) LFS stores data permanently in the log The log contains indexing information Large extents of free space available for writing new data Segment Segment cleaner Cleaning policy Log-structured file system
정 영 진 Embedded System Lab. LFS layout 512KB ~ 1MB Segment Log-structured file system
정 영 진 Embedded System Lab. File location and reading Basic structure is same with FFS Not fixed inode inode map Cached in main memory Compact arrangement Log-structured file system
정 영 진 Embedded System Lab. Segment cleaning Delete and update Fragmentation Threading Makes fragmentation Copying Large cost Log-structured file system
정 영 진 Embedded System Lab. Cleaning policy When? How many segment? Which segment? How to group live blocks? Log-structured file system not sensitive
정 영 진 Embedded System Lab. Which segment? Write cost, greedy u : Utilization(fraction of live data, 0 ≤ u < 1) Cost is determined by u Trade off Performance & Cost per usable data Log-structured file system
정 영 진 Embedded System Lab. Access pattern Uniform Same request pattern Hot and cold Simulation
정 영 진 Embedded System Lab. Simulation result Simulation
정 영 진 Embedded System Lab. New cleaning policy Cost-benefit policy Benefit components : free space, space is likely to stay free Simulation
정 영 진 Embedded System Lab. Crash recovery Check point Time check, inode map, last segment pointer, etc … Roll forward Use segment summary inode is exist / not exist Crash recovery Check point region(fixed) Crash Roll forward
정 영 진 Embedded System Lab. Micro-benchmarks(Small file) Evaluation
정 영 진 Embedded System Lab. Micro-benchmarks(Large file) Evaluation
정 영 진 Embedded System Lab. Performance is as good as previous system or much better. Not only benefit with many small files but also benefit with large files. Conclusion
정 영 진 Embedded System Lab. Chris Ruemmler and John Wilkes. An introduction to disk drive modeling. IEEE Computer, 27(3):17–28, March Reference
정 영 진 Embedded System Lab. Q & A