Check out the new USENIX Web site. next up previous
Next: Large File Performance Up: Experimental Results Previous: Experimental Results

Small File Performance

  figure590
Figure 6:   Small file performance. The benchmark creates, reads, and deletes 1 KB files. All performance is normalized to that of UFS running on a regular disk.

We first examine two benchmarks similar to the ones used by both the original LFS study [25] and the Logical Disk study [7]. In the first benchmark, we create 1500 1 KB files, read them back after a cache flush, and delete them. The benchmark is run on empty disks. The results of this benchmark are shown in Figure 6. Under LFS, updates are flushed to disk only if the memory buffer is filled. Under UFS, updates are synchronous. Due to the different reliability guarantees of UFS and LFS, this experiment is not designed to compare UFS against LFS. Instead, our interest is in examining the impact of virtual logging on both file systems.

As expected, VLD significantly speeds up UFS during the create and delete phases due to eager writing's ability to complete small writes more quickly than update-in-place. The read performance on the VLD is slightly worse than that on the regular disk because of the overhead introduced by the indirection map and the fact that disk read-ahead is not as effective. The same pattern in read performance recurs in other experiments as well.

VLD also speeds up LFS writes slightly. The reasons are the occasional miss of rotations and long-distance seeks between segment-sized writes on the regular disk, which the VLD diligently avoids.

Ignoring the cost of LFS cleaning (which is not triggered in this experiment), we speculate that the impact of VLD on a UFS that employs delayed write techniques (such as those proposed by Ganger [9]) should be between that of the unmodified UFS and that of LFS. Like LFS, however, delayed writes under UFS do not guarantee data reliability.

From this benchmark, we speculate that by integrating LFS with the virtual log, the VLFS (which we have not implemented) should approximate the performance of UFS on the VLD when we must write synchronously, while retaining the benefits of LFS when asynchronous buffering is acceptable.


next up previous
Next: Large File Performance Up: Experimental Results Previous: Experimental Results

Randolph Wang
Tue Jan 5 14:30:32 PST 1999