File System C
Ext3-ordered: Safest for app
Safe new file: Manpages explici
ext3 – ordered Safe Ordered
rename appends
ext3 –
writeback
ext4 – ordered
ext4 –original
Btrfs
Comparison
plications
itly warn against this property.
Ordered dir- Safe Safe new
ops appends file
26
Out
• Background:Application
• Goals, Methodology of S
• File System Behavior
• ALC Bugs
• ALC Performance
• Summary
tline
n-Level Consistency (ALC)
Study
27
Bugs: LevelDB
• LevelDB is a key-value d
• Put(key, value, synchrono
– Atomic
– Ordered
• If a Put() can be retrieve
retrieved
– Synchronous = true: Dur
– No corruption
B Guarantees
database
ous)
ed, all previous Put() can also be
rable
28
Bugs: Guar
Post-Crash
Post-Crash Property Le
Ordered append Re
Ordered directory operations Re
Safe new file Co
Safe rename Co
rantees vs
Properties
evelDB Guarantee Affected
e-ordering, Corruption
e-ordering, Corruption
orruption
orruption (Previously fixed bug)
29
Out
• Background:Application
• Goals, Methodology of S
• File System Behavior
• ALC Bugs
• ALC Performance
• Summary
tline
n-Level Consistency (ALC)
Study
30
Performance O
• SQLite:
“In particular, we suspect t
exhibit the safe append pr
might support atomic sect
known for certain, SQLite
approach and assume the
• Five configuration opti
• Evaluated performance
– On top of ext3 - order
Optimizations
that most modern filesystems
roperty and that many of them
tor writes. But until this is
e will take the conservative
worst.”
ions
e for each option
red
31
Performance: SQLit
Normalized Throughput 4 Ext3-
3.5
Safe S
3 appends
2.5
Configu
2
1.5
1
0.5
0
Atomic
writes
te – Configurations
-ordered: 40 to 50% improvement
250 % improvement
with data journaling
Sequential Power-safe Sync
directory
writes overwrites
uration options
32
Out
• Background:Application
• Goals, Methodology of S
• File System Behavior
• ALC Bugs
• ALC Performance
• Summary
tline
n-Level Consistency (ALC)
Study
33
Summ
• Bugs
– Four new bugs in Level
– Past bugs: One in Level
– All bugs exposed on so
• Performance
– Wildly differing perform
exact file system behav
mary
lDB
lDB, three in SQLite
ome file system
mance when optimized for
vior
34
Concl
• State of the art: For ef
consistency, application
specific details of file s
lusion
ffective application-level
n developers depend on
system implementation
35
Thank
Questions or
k you!
r suggestions?
36