Virtual log based file systems for a programmable disk

In this paper, we study how to minimize the latency of small transactional writes to disk. The basic approach is to write to free sectors that are near the current disk head location by leveraging the embedded processor core inside the disk. We develop a number of analytical models to demonstrate the performance potential of this approach. We then present the design of a variation of a log-structured file system based on the concept of a virtual log, which supports fast small transactional writes without extra hardware support. We compare our approach against traditional update-in-place and logging systems by modifying the Solaris kernel to serve as a simulation engine. Our evaluations show that random synchronous updates on an unmodified UFS execute up to an order of magnitude faster on a virtual log than on a conventional disk. The virtual log can also significantly improve LFS in cases where delaying small writes is not an option or on-line cleaning would degrade performance. If the current trends of disk technology continue, we expect the performance advantage of this approach to become even more pronounced in the future.

[1]  Malcolm P. Atkinson,et al.  Algorithms for a persistent heap , 1983, Softw. Pract. Exp..

[2]  Robert B. Hagmann,et al.  Reimplementing the Cedar file system using logging and group commit , 1987, SOSP '87.

[3]  Alexander A. Stepanov,et al.  Loge: A Self-Organizing Disk Controller , 1991 .

[4]  Jack A. Orenstein,et al.  The ObjectStore database system , 1991, CACM.

[5]  Mary Baker,et al.  Non-volatile memory for fast, reliable file systems , 1992, ASPLOS V.

[6]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[7]  Sailesh Chutani,et al.  The Episode File System , 1992 .

[8]  Jai Menon,et al.  Floating Parity and Data Disk Arrays , 1993, J. Parallel Distributed Comput..

[9]  Mahadev Satyanarayanan,et al.  Lightweight Recoverable Virtual Memory , 1993, SOSP.

[10]  Carl Staelin,et al.  An Implementation of a Log-Structured File System for UNIX , 1993, USENIX Winter.

[11]  Wilson C. Hsieh,et al.  The logical disk: a new approach to improving file systems , 1994, SOSP '93.

[12]  Yale N. Patt,et al.  Metadata update performance in file systems , 1994, OSDI '94.

[13]  Liuba Shrira,et al.  Opportunistic log: efficient installation reads in a reliable storage server , 1994, OSDI '94.

[14]  James Lau,et al.  File System Design for an NFS File Server Appliance , 1994, USENIX Winter.

[15]  David Kotz,et al.  A Detailed Simulation Model of the HP 97560 Disk Drive , 1994 .

[16]  John Wilkes,et al.  An introduction to disk drive modeling , 1994, Computer.

[17]  David Kotz,et al.  Disk-directed I/O for MIMD multiprocessors , 1994, OSDI '94.

[18]  Sara McMains,et al.  File System Logging versus Clustering: A Performance Comparison , 1995, USENIX.

[19]  John H. Hartman,et al.  The Zebra striped network file system , 1995, TOCS.

[20]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

[21]  Wei Hu,et al.  Scalability in the XFS File System , 1996, USENIX Annual Technical Conference.

[22]  Garret Swart,et al.  The Echo Distributed File System , 1996 .

[23]  Carl Staelin,et al.  The HP AutoRAID hierarchical storage system , 1995, SOSP.

[24]  E. Grochowski,et al.  Future trends in hard disk drives , 1996 .

[25]  Alexander A. Stepanov,et al.  Mime: a high performance parallel storage device with strong recovery guarantees , 1997 .

[26]  Jeanna Neefe Matthews,et al.  Improving the performance of log-structured file systems with adaptive methods , 1997, SOSP.

[27]  Lyle Adams,et al.  Processor integration in a disk controller , 1997, IEEE Micro.

[28]  Peter M. Chen,et al.  Free transactions with Rio Vista , 1997, SOSP.