Check out the new USENIX Web site.

Opportunistic Log: Efficient Installation Reads in a Reliable Storage Server

James O'Toole and Liuba Shrira
Laboratory for Computer Science
Massachusetts Institute of Technology
Cambridge, MA 02139


In a distributed storage system, client caches managed on the basis of small granularity objects can provide better memory utilization then page-based caches. However, object servers, unlike page servers, must perform additional disk reads. These installation reads are required to install modified objects onto their corresponding disk pages. The opportunistic log is a new technique that significantly reduces the cost of installation reads. It defers the installation reads, removing them from the modification commit path, and manages a large pool of pending installation reads that can be scheduled efficiently.

Using simulations, we show that the opportunistic log substantially enhances the I/O performance of reliable storage servers. An object server without the opportunistic log requires much better client caching to outperform a page server. With an opportunistic log, only a small client cache improvement suffices.

Our results imply that efficient scheduling of installation reads can substantially improve the performance of large-scale storage systems and therefore introduces a new performance tradeoff between page-based and object-based architectures.

Download the full text of this paper in ASCII (50,628 bytes) and POSTSCRIPT (150,537 bytes) form.

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