The Design and Implementation of a DCD Device Driver for Unix

Recent research results [1, 2] using simulation have demonstrated that Disk Caching Disk (DCD), a new disk I/O architecture, has the potential for drastically improving disk write performance besides its higher reliability than traditional disk systems. To validate whether DCD can live up to its promise in the real world environment, we have designed and implemented a DCD device driver for the Sun's Solaris operating system. Measured performance results are very promising. For metadata intensive benchmarks, our DCD driver outperforms the traditional system by a factor of 2-6 in terms of program execution speeds. The driver also guarantees file system integrity in the events of system crashes or failures. Moreover, unlike other approaches such as Log-structured File Systems or Soft Updates, the DCD driver is completely transparent to the OS. It does not require any changes to the OS or the on-disk data layout. As a result, it can be used as a "drop-in" replacement for the traditional disk device driver in an existing system to obtain immediate performance improvement. Our multi-layered device-driver approach significantly reduces the implementation overhead and improves portability.

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

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

[3]  Qing Yang,et al.  DCD --- Disk Caching Disk: A New Approach for Boosting I/O Performance , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[4]  Uresh K. Vahalia UNIX Internals: The New Frontiers , 1995 .

[5]  Fred Douglis,et al.  Beating the I/O bottleneck: a case for log-structured file systems , 1989, OPSR.

[6]  Rudolf Bayer,et al.  A database cache for high performance and fast restart in database systems , 1984, TODS.

[7]  Margo I. Seltzer,et al.  Heuristic Cleaning Algorithms in Log-Structured File Systems , 1995, USENIX.

[8]  Yale N. Patt,et al.  Using System-Level Models to Evaluate I/O Subsystem Designs , 1998, IEEE Trans. Computers.

[9]  Yiming Hu,et al.  DCD—disk caching disk: a new approach for boosting I/O performance , 1996, ISCA '96.

[10]  A. Rossier Letter to the Editor , 1986, Paraplegia.

[11]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1988, TOCS.

[12]  Jeffrey C. Mogul,et al.  A Better Update Policy , 1994, USENIX Summer.

[13]  Qing Yang,et al.  A new hierarchical disk architecture , 1998, IEEE Micro.

[14]  T. S. West New Frontiers , 1968, Nature.

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