Check out the new USENIX Web site.

A Better Update Policy


Jeffrey C. Mogul
Digital Equipment Corporation Western Research Laboratory

Abstract

Some file systems can delay writing modified data to disk, in order to reduce disk traffic and overhead. Prudence dictates that such delays be bounded, in case the system crashes. We refer to an algorithm used to decide when to write delayed data back to disk as an update policy. Traditional UNIX(R) systems use a periodic update policy, writing back all delayed-write data once every 30 seconds. Periodic update is easy to implement but performs quite badly in some cases. This paper describes an approximate implementation of an interval periodic update policy, in which each individual delayed-write block is written when its age reaches a threshold. Interval periodic update adds little code to the kernel and can perform much better than periodic update. In particular, interval periodic update can avoid the huge variances in read response time caused by using periodic update with a large buffer cache.


Download the full text of this paper in PDF, ASCII (53,375 bytes) and POSTSCRIPT (187,472 bytes) form.

To Become a USENIX Member, please see our Membership Information.