Performance analysis of disk cache write policies

Abstract Many different techniques for bridging the performance gap between CPUs and I O devices have been studied. Among these is data caching at the disk controller. Of interest is the effectiveness of a disk cache under the presence of a higher level cache, such as the UNIX file buffer cache. Disk activity logs from a UNIX workstation file server have been collected and analysed. Results have been used to guide the design of disk cache architectures, which are analysed using simulations driven by the activity logs. The primary focus is on disk cache write strategies. It is shown that write-through policies achieve the best read response time, with a 4MB cache performing approximately 30% better than no cache. Write-back policies do not achieve the performance of write-through policies (nor even the performance of a system with no disk cache) due to a phenomenon referred to as ‘head thrashing’. Scheduled write-back, a new write policy that utilizes disk idle time to write dirty lines from the cache efficiently, is examined as a solution to the problem and is shown to achieve performance equivalent to that of write-through under light to moderate loads. A variation of the pure LRU replacement algorithm, LRU over clean lines, is proposed for use with scheduled write-back, and is shown to achieve read response times significantly less than pure write-through under simulated heavier loads.

[1]  Robert Geist,et al.  A continuum of disk scheduling algorithms , 1987, TOCS.

[2]  Neil C. Wilhelm An anomaly in disk scheduling: a comparison of FCFS and SSTF seek scheduling using an empirical model for disk accesses , 1976, CACM.

[3]  David Hunter,et al.  Modeling Real DASD Configurations , 1982 .

[4]  Toby J. Teorey,et al.  A comparative analysis of disk scheduling policies , 1972, CACM.

[5]  Alan Jay Smith,et al.  Optimization of I/O systems by cache disks and file migration: A summary , 1981, Perform. Evaluation.

[6]  Michael N. Nelson,et al.  Caching in the Sprite network file system , 1988, TOCS.

[7]  Spencer W. Ng,et al.  Improving Disk Performance Via Latency Reduction , 1991, IEEE Trans. Computers.

[8]  Carol P. Grossman,et al.  Cache-DASD Storage Design for Improving System Performance , 1985, IBM Syst. J..

[9]  Sanjeev Setia,et al.  Analysis of the Periodic Update Write Policy For Disk Cache , 1990, IEEE Trans. Software Eng..

[10]  Maurice J. Bach The Design of the UNIX Operating System , 1986 .

[11]  Anneliese Amschler Andrews,et al.  BEST/1 Analysis of the IBM 3880-13 Cached Storage Controller , 1982, Int. CMG Conference.

[12]  John Kunze,et al.  A trace-driven analysis of the unix 4 , 1985, SOSP 1985.

[13]  Michelle Y. Kim,et al.  Synchronized Disk Interleaving , 1986, IEEE Transactions on Computers.

[14]  Dina Bitton,et al.  Disk Shadowing , 1988, VLDB.

[15]  Harold S. Stone,et al.  Improving Disk Cache Hit-Ratios Through Cache Partitioning , 1992, IEEE Trans. Computers.

[16]  Hector Garcia-Molina,et al.  Disk striping , 1986, 1986 IEEE Second International Conference on Data Engineering.

[17]  W. C. Lynch Do disk arms move? , 1972, PERV.

[18]  Spencer W. Ng,et al.  Trade-offs between devices and paths in achieving disk interleaving , 1988, ISCA '88.

[19]  Robert G. Reynolds,et al.  Disk scheduling in System V , 1987, SIGMETRICS '87.

[20]  Jai Menon,et al.  The IBM 3990 disk cache , 1988, Digest of Papers. COMPCON Spring 88 Thirty-Third IEEE Computer Society International Conference.

[21]  Gary M. King,et al.  Storage Hierarchies , 1989, IBM Syst. J..

[22]  John Wilkes,et al.  Improving the efficiency of UNIX buffer caches , 1989, SOSP '89.

[23]  K. K. Ramakrishnan,et al.  Analysis of file I/O traces in commercial computing environments , 1992, SIGMETRICS '92/PERFORMANCE '92.

[24]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

[25]  Alan Jay Smith,et al.  Disk cache—miss ratio analysis and design considerations , 1983, TOCS.

[26]  Richard P. King,et al.  Disk arm movement in anticipation of future requests , 1990, TOCS.

[27]  Miron Livny,et al.  Multi-disk management algorithms , 1987, SIGMETRICS '87.

[28]  Peter B. Danzig,et al.  High resolution timing with low resolution clocks and microsecond resolution timer for Sun workstations , 1990, OPSR.

[29]  W. Richard Stevens Heuristics for Disk Drive Positioning in 4.3 BSD , 1989, Comput. Syst..

[30]  Fred Douglis,et al.  Log-structured file systems , 1989, Digest of Papers. COMPCON Spring 89. Thirty-Fourth IEEE Computer Society International Conference: Intellectual Leverage.

[31]  Ivor P. Page,et al.  Empirical Analysis of a Moving Head Disc Model with two Heads Separated by a Fixed Number of Tracks , 1981, Comput. J..