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.