Professional Documents
Culture Documents
1
2 File System Benchmarking • Allow comparison across platforms.
There are many different approaches in evaluating • Be relevant to a wide range of
file systems. Those file system benchmarking applications.
methods can be categorized into the following • Be tightly specified and reproducible.
approaches: Based on these criteria, we select the benchmark
• Workload based benchmarks: This approach tool Iozone [4] for our performance study.
emphasizes realism in benchmarking and relies
on predefined workloads from real Iozone is a purely synthetic benchmark which
applications. Winstone [5], TPC [6], and measures a variety of file operations. It has been
SPEC [7] benchmarks belong to this category. ported to many operating systems and thus meets
Workload based benchmarks probably offer our requirement of evaluating different file systems
the best indication of “real world” under different operating systems. The program is
performance, but often suffer from portability easy to compile and run on both Windows and
problems and make fair platform comparison UNIX systems. Using Iozone, a wide range of
infeasible. Furthermore, a workload based tests are easily automated using command line
benchmark provides little to no information parameters. Testing various file and record sizes is
about which specific features of the system also straightforward. We will use Iozone to
help or damage performance. perform write, repeated write, read, repeated read,
• Synthetic or kernel based benchmarks: This random read, random write, and strided read
approach is designed purely to stress a operations.
particular aspect of system while attempting to
minimize interactions with other parts of the 3 Tests Performed
system. Kernel based benchmarks use small We evaluate the performance of six file systems:
parts of real applications, while synthetic FAT32, NTFS, Ext2, Ext3, ReiserFS, and UFS
benchmarks are programs specifically written with soft updates. We test FAT32 and NTFS
for testing purposes. Iozone [4], Winbench [8], under Windows 2000, using the Cygwin library to
and Iometer [9] are examples of synthetic provide a UNIX environment. We test Ext2, Ext3,
benchmarks. Synthetic benchmarks are and ReiserFS under Slackware Linux 8.0 (kernel
typically more focused, and can be used to 2.4.18), and evaluate UFS under FreeBSD 4.7. To
isolate performance bottlenecks and establish make the paper self-contained, we briefly describe
theoretical limits to performance. the tested file systems as follows:
• Trace-based analysis: This approach actually
sets up tracing program in a real system, e.g., • FAT: The File Allocation Table file system
Windows NT 4.0 [3]. It analyzes the trace logs was invented in 1977 as a way to store data on
to evaluate the behavior and performance of floppy disks for Microsoft stand-alone Disk
the system. The study cycle for this approach Basic [11]. Although originally intended for
is usually longer than the other approaches. It floppy disks, FAT has since been modified to
is very useful to find performance issues be a fast and flexible system for managing data
within one particular system and provides on both removable and fixed media. FAT
valuable information for improving the system. currently can support a single disk volume up
However it is not good for comparing the to 2 Gigabytes in size, with the increasing size
performance of different systems. of new hard drives this is an increasing
problem. FAT32 is an enhancement of the File
The objective of this paper is to perform a fair and Allocation Table file system that supports
meaningful comparison of different file systems on large drives with improved disk space
different operating systems using benchmark. An efficiency.
ideal file system benchmark should [10]: • NTFS: The New Technology File System [3]
• Give insight as to why a system performs was originally developed for Windows NT and
as it does. now is used in Windows NT, 2000 and XP.
• Be I/O limited and scale well. NTFS provides performance, reliability, and
2
functionality not found in FAT. NTFS time. The hard drive is partitioned into a 20GB
includes security and access controls, partition to house the tested file system and a
encryption support, and has reliability control 10GB partition for auxiliary data.
built in, in the form of a journaling file system.
• Ext2: The second extended file system is an Sequential, random, and repeated reads and writes,
extensible file system has become the most and strided reads were tested. Record sizes of 8
popular file system for Linux, and the default KB-128 MB and file sizes of 64 KB-2 GB were
file system in most Linux distributions. Ext2 tested. We report the test results in this section.
borrows ideas from previous Unix file systems
using inodes to represent files and objects. It 4.1 Sequential Operations
was designed to be extensible to make it Transfer rates for sequential reads and writes are
possible to add features like journaling on at a shown in Figure 1 and Figure 2 respectively.
later time. Reads are predictably much faster than writes,
• Ext3: The third extended filesystem is a since the target pages might be already pre-fetched
journaling file system developed by Stephen by operating systems. The three Linux file
Tweedie [12] as an extension to Ext2. It is systems perform substantially better than Windows
mount compatible to Ext2 file system, but or FreeBSD when file sizes are smaller than CPU
includes a journaling file to provide recovery cache size. Otherwise, there is very little
capability. Ext3 can use all of the existing difference among read speeds for different file
applications that have already been developed systems.
to manipulate the Ext2 file system. Journaling 900
increases the file system reliability, and 800
reduces recovery time by eliminating the need 700
for some consistency checks.
Transfer Rate (MB/S)
600
• UFS: UFS is an UNIX file system based on 500
BSD Fast File System (FFS) [13]. The term 400
UFS refers to the implementation of FFS 300
within the virtual node/virtual file system 200
(vnode/vfs) framework which was first 100
introduced by Sun Microsystems [14]. We use
0
the FreeBSD version of UFS, which includes
1M
2M
4M
8M
16M
32M
64M
128M
256M
512M
64K
128K
256K
512K
1G
2G
soft updates for recovery purposes. File Size
• ReiserFS: ReiserFS [15] is the most mature ext2 ext3 reiserfs ufs ntfs f at32
3
350 performer, with high write and read speeds. This
300
suggests that soft updates approach provides better
performance in metadata management.
250
Transfer Rate (MB/S)
2M
4M
8M
16M
32M
64M
128M
256M
512M
64K
128K
256K
512K
1G
2G
performance of the file systems under Linux is
File Size
ext2 ext3 reiserfs ufs ntfs f at32
disappointing. Read speeds in file systems for
Linux are about twice as slow as those in the other
Figure 2: Transfer rates on various file sizes using operating systems, and write speeds are even
sequential write operations. worse. This observation indicates it is necessary to
improve the buffer management in Linux. In all
30
file systems, random access performance was
much better with small record sizes, which is not
25
surprising due to the greater chance of an entire
record being found in cache.
20
1000
Read 900
15
Write 800
700
Transfer Rate (MB/S)
10
600
500
5 400
300
0 200
ext2 ext3 reiserfs ufs ntf s f at32
100
0
1M
2M
4M
8M
16M
32M
64M
128M
256M
512M
1G
2G
64K
128K
256K
512K
2M
4M
8M
16M
32M
64M
128M
256M
512M
64K
128K
256K
512K
1G
2G
4
We summarize the transfer rates for random file allocation in Linux file systems is another issue
operations on 2 GB files in Figure 6. Once again that hurts its I/O performance in large files.
read speeds are consistently higher than write 1400
speeds for all file systems. Clearly file systems for 1200
Linux are not efficient in handling large files.
1000
Their transfer rates are dwarfed by UFS, NTFS,
400 0
1M
2M
4M
8M
16M
32M
64M
128M
256M
512M
64K
128K
256K
512K
1G
2G
350
File Size
300
ext2 ext3 reiserf s ufs ntf s fat32
250
Figure 7: Transfer rates on various file sizes for
Read
200
Write
repeated reads.
150 700
100 600
50 500
Transfer Rate (MB/S)
0 400
ext2 ext3 reiserf s uf s ntfs fat32
300
2M
4M
8M
16M
32M
64M
128M
256M
512M
1G
2G
64K
128K
256K
512K
5
declines while the transfer rates in the UNIX file Our benchmarks were performed on a single
systems stop increasing. computer with no other disk intensive processes.
30 We plan to examine the performance of various
file systems under concurrent workloads. In
25
addition, we used the clean file systems as our test
Transfer Rate (MB/S)
5
References
0
[1] Carol Sliwa. Server Operating Systems,
1M
2M
4M
8M
16M
32M
8K
16K
32K
64K
128K
256K
512K