Kilmo Choi rlfah926@naver

15
Embedded System Lab. Embedded System Lab. 최 최 최 Kilmo Choi [email protected] 최최최 A Study of Linux File System Evolution L. Lu, A. C. Arpaci-Dusseau, R. H. ArpaciDusseau, S. Lu

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 Presentation

Transcript of Kilmo Choi rlfah926@naver

Page 1: Kilmo Choi rlfah926@naver

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

Page 2: Kilmo Choi rlfah926@naver

Embedded System Lab.최 길 모

Index

Introduction

Patch Overview

File System Bugs

Performance and Reliability

Conclusion

Page 3: Kilmo Choi rlfah926@naver

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.

Page 4: Kilmo Choi rlfah926@naver

Embedded System Lab.최 길 모

Patch Overview Investigate general questions regarding file-system patches

patch type, patch trend, patch size

Patch Type

Page 5: Kilmo Choi rlfah926@naver

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

Page 6: Kilmo Choi rlfah926@naver

Embedded System Lab.최 길 모

File System Bugs Correlation Between Code and Bugs

Page 7: Kilmo Choi rlfah926@naver

Embedded System Lab.최 길 모

File System Bugs Bug Patterns and Trends

Fine-grained bug patterns provide useful information to developer and tool builders

Page 8: Kilmo Choi rlfah926@naver

Embedded System Lab.최 길 모

File System Bugs Bug Consequence

Page 9: Kilmo Choi rlfah926@naver

Embedded System Lab.최 길 모

File System Bugs Bug Pattern Examples and Analysis

Semantic Bugs

Page 10: Kilmo Choi rlfah926@naver

Embedded System Lab.최 길 모

File System Bugs Concurrency Bugs

Page 11: Kilmo Choi rlfah926@naver

Embedded System Lab.최 길 모

File System Bugs Memory Bugs

Page 12: Kilmo Choi rlfah926@naver

Embedded System Lab.최 길 모

File System Bugs Error Code Bugs

Page 13: Kilmo Choi rlfah926@naver

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

Page 14: Kilmo Choi rlfah926@naver

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

Page 15: Kilmo Choi rlfah926@naver

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