Check out the new USENIX Web site. next up previous
Next: Experimental Platform Up: A Virtual Log Previous: Implementing LFS on the

Comparing VLFS with LFS

 

VLFS and LFS share a number of common advantages. Both can benefit from an asynchronous memory buffer by preventing short-lived data from ever reaching the disk. Both can benefit from disk reorganization during idle time.

Due to eager writing, VLFS possesses a number of unique advantages. First, small synchronous writes perform well on VLFS whereas the LFS performance suffers if an application requires frequent ``fsync'' operations. Second, while the free space compactor is only an optimization for VLFS, the cleaner is a necessity for LFS. In cases where idle time is scarce or disk utilization is high, VLFS can avoid the bandwidth waste incurred during repeated copying of live data by the LFS cleaner [22, 29, 30]. Third, LFS needs large idle intervals to mask the cleaning overhead because it moves data at large segment granularity. The VLFS compactor, however, can take advantage of short idle intervals. Finally, reads can interfere with LFS writes by forcing the disk head away from free space and/or disturbing the track buffer (which can be sometimes used to absorb writes without accessing the disk platters). VLFS can efficiently perform intervening writes near the data being read.

VLFS and LFS also share some common disadvantages. For example, data written randomly may have poor sequential read performance. In some of these situations, reorganization techniques that can improve LFS performance [22] should be equally applicable to VLFS. In some other situations, aggressive prefetching [24] and ``disk-directed I/O'' [16] can also serve the virtual log well.



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