Proceedings of the USENIX Technical Conference, June 6 2000.
Journaling versus Soft Updates: Asynchronous Metadata Protection in File Systems
Margo I. Seltzer+, Gregory R. Ganger*, M. Kirk McKusick#, Keith A. Smith+,
Craig A. N. Soules*, Christopher A. Stein+
*Carnegie Mellon University,
#Author and Consultant
The UNIX Fast File System (FFS) is probably the most widely�used file system for performance comparisons. However, such comparisons frequently overlook many of the performance enhancements that have been added over the past decade. In this paper, we explore the two most commonly used approaches for improving the performance of meta�data operations and recovery: journaling and Soft Updates. Journaling systems use an auxiliary log to record meta�data operations and Soft Updates uses ordered writes to ensure meta�data consistency. The commercial sector has moved en masse to journaling file systems, as evidenced by their presence on nearly every server platform available today: Solaris, AIX, Digital UNIX, HP�UX, Irix, and Windows NT. On all but Solaris, the default file system uses journaling. In the meantime, Soft Updates holds the promise of providing stronger reliability guarantees than journaling, with faster recovery and superior performance in certain boundary cases. In this paper, we explore the benefits of Soft Updates and journaling, comparing their behavior on both micro�benchmarks and workload-based macrobenchmarks. We find that journaling alone is not sufficient to "solve" the meta�data update problem. If synchronous semantics are required (i.e., meta�data operations are durable once the system call returns), then the journaling systems cannot realize their full potential. Only when this synchronicity requirement is relaxed can journaling systems approach the performance of systems like Soft Updates (which also relaxes this requirement). Our asynchronous journaling and Soft Updates systems perform comparably in most cases. While Soft Updates excels in some meta�data intensive microbenchmarks, the macrobenchmark results are more ambiguous. In three cases Soft Updates and journaling are comparable. In a file intensive news workload, journaling prevails, and in a small ISP workload, Soft Updates prevails.