kilmo choi rlfah926@naver
DESCRIPTION
A Study of Linux File System Evolution. L. Lu, A. C. Arpaci-Dusseau , R. H. ArpaciDusseau , S. Lu. Kilmo Choi [email protected]. 최길 모. Index. Introduction Patch Overview File System Bugs Performance and Reliability Conclusion. Introduction. - PowerPoint PPT PresentationTRANSCRIPT
Embedded System Lab.
Embedded System Lab.최 진 화
Kilmo [email protected]
최길모
A Study of Linux File System Evolution
L. Lu, A. C. Arpaci-Dusseau, R. H. ArpaciDusseau, S. Lu
Embedded System Lab.최 길 모
Index
Introduction
Patch Overview
File System Bugs
Performance and Reliability
Conclusion
Embedded System Lab.최 길 모
Introduction Open-source local file-systems remain a critical component in the
world of modern storage(ex. Distributed file system, Smart phone)
Target file-systems
Every file-system in Linux 2.6 series(2.6.0~2.6.39) over a period of 8
years including 5079 patches
Ext3, Ext4, XFS, Btrfs, ReiserFS, JFS
Patches category
Bug, performance, reliability, etc.
Embedded System Lab.최 길 모
Patch Overview Investigate general questions regarding file-system patches
patch type, patch trend, patch size
Patch Type
Embedded System Lab.최 길 모
Patch Overview Patch Trend
While the number of patches per version increased in general, the per-
centage of patch type relatively stable
Bug patches do not decrease over time
Patch Size
Way to quantify the complexity of patch
Embedded System Lab.최 길 모
File System Bugs Correlation Between Code and Bugs
Embedded System Lab.최 길 모
File System Bugs Bug Patterns and Trends
Fine-grained bug patterns provide useful information to developer and tool builders
Embedded System Lab.최 길 모
File System Bugs Bug Consequence
Embedded System Lab.최 길 모
File System Bugs Bug Pattern Examples and Analysis
Semantic Bugs
Embedded System Lab.최 길 모
File System Bugs Concurrency Bugs
Embedded System Lab.최 길 모
File System Bugs Memory Bugs
Embedded System Lab.최 길 모
File System Bugs Error Code Bugs
Embedded System Lab.최 길 모
Performance and Reliability Performance Patches
Synchronization Inefficient usage of synchronization methods
removing unnecessary locks, using smaller locks
Access Optimization Apply smarter access strategies
caching metadata and statistics, avoiding unnecessary I/O and computing
Schedule Improve I/O operation scheduling
batching writes, opportunistic readhead
Embedded System Lab.최 길 모
Performance and Reliability Reliability
Robust Enhance file-system robustness
boundary limits and access permission checking
Corruption Defense Improve file systems ability to handle various possible corruption
Error Enhancement
Improve original error handling
Annotation user/kernel space pointer and lock annotation for early bug detection
Debug Add more internal debugging or tracing support
Embedded System Lab.최 길 모
Conclusion 5079 patches across six linux file system
Nearly 1800 bugs
“Software archeology”
Should be of utility to file-system developers and tool makers