A Teensy Weensy File System (TWFS) with high data block utilization
Robert McKeon and David Moore
Problem: Low disk utilization
Utilization for ext2fs below 4KB
0
10
20
30
40
50
60
70
80
90
100
2^1 2^2 2^3 2^4 2^5 2^6 2^7 2^8 2^9 2^10 2^11 2^12
Average File Size (Bytes)
Uti
liza
tio
n (
%)
4KB
Why non-trivial?Disk Utilization and Data Rate vs Datablock Size
0
10
20
30
40
50
60
70
80
90
100
128 256 512 1024 2048 4096 8192
Datablock Size (Bytes)
Dis
k S
pa
ce
Uti
liza
tio
n (
%)
0
50
100
150
200
250
Da
ta R
ate
(K
By
tes
/se
c)
Disk Space Utilization (%) Data Rate (Kbytes/sec)
Typical File System: 4KB
Andrew S. Tanenbaum and Albert S. Woodhull. Operating Systems Design and Implementation. Second Edition, ©1997. Prentice-Hall, Inc. Upper Saddle River, New Jersey. Pages 422-423.
Solution: Many files per Block
http://jipesmood.blogspirit.com/archive/2005/11/03/ben-ca-y-est-je-suis-au-taquet.html
FFS Abstractions
TWFS Abstractions
Implementation
Results: UtilizationAverage File Size vs Disk Utilization
0
10
20
30
40
50
60
70
80
90
100
2^1 2^2 2^3 2^4 2^5 2^6 2^7 2^8 2^9 2^10
Average File Size (Bytes)
Dis
k U
tili
zati
on
(%
)
FFS FFS 4096/1024 TWFS
1 KB
Results: LatencyWriting Many 20 Byte Files
0
20
40
60
80
100
120
140
2^82^9
2^102^11
2^122^13
Number of Files
Tim
e (s
)
Write with FFS Write with FFS 4096/1024 Write with TWFS
256 Bytes 8192 Bytes
Future Work
Marco-benchmarks Garbage Collection Read and inode caching Inode placement
Questions
Testing on ext2fsWriting Many 20 Byte Files
0
100
200
300
400
500
600
700
800
900
1000
2^102^11
2^122^13
2^142^15
2^162^17
2^182^19
2^20
Number of Files
Tim
e (s
)
Write Many Small Files Write One Big File
1 KB 1 MB
One Large File in FUSEWriting One Large File in FUSE
0
20
40
60
80
100
120
2^18 2^19 2^20 2^21 2^22 2^23 2^24 2^25
File Size (Bytes)
Tim
e to
Cre
ate
(sec
on
ds)
Write with TWFS Write with FFS
One Large File in FUSEReading One Large File in FUSE
0
20
40
60
80
100
120
2^18 2^19 2^20 2^21 2^22 2^23 2^24 2^25
File Size (Bytes)
Tim
e to
Cre
ate
(sec
on
ds)
Read with TWFS Read with FFS
Results: ReadsReading Many 20 Byte Files
0
20
40
60
80
100
120
140
2^82^9
2^102^11
2^122^13
Number of Files
Tim
e (s
)
Read with FFS Read with FFS 4096/1024 Read with TWFS
256 Bytes 8192 Bytes
Results: CreateCreating Many 20 Byte Files
0
20
40
60
80
100
120
140
2^82^9
2^102^11
2^122^13
Number of Files
Tim
e (s
)
Create with FFS Create with FFS 4096/1024 Create with TWFS
256 Bytes 8192 Bytes
Top Related