This Article 
 Bibliographic References 
 Add to: 
Destage Algorithms for Disk Arrays with Nonvolatile Caches
February 1998 (vol. 47 no. 2)
pp. 228-235

Abstract—In a disk array with a nonvolatile write cache, destages from the cache to the disk are performed in the background asynchronously while read requests from the host system are serviced in the foreground. In this paper, we study a number of algorithms for scheduling destages in a RAID-5 system. We introduce a new scheduling algorithm, called linear threshold scheduling, that adaptively varies the rate of destages to disks based on the instantaneous occupancy of the write cache. The performance of the algorithm is compared with that of a number of alternative scheduling approaches, such as least-cost scheduling and high/low mark. The algorithms are evaluated in terms of their effectiveness in making destages transparent to the servicing of read requests from the host, disk utilization, and their ability to tolerate bursts in the workload without causing an overflow of the write cache. Our results show that linear threshold scheduling provides the best read performance of all the algorithms compared, while still maintaining a high degree of burst tolerance. An approximate implementation of the linear-threshold scheduling algorithm is also described. The approximate algorithm can be implemented with much lower overhead, yet its performance is virtually identical to that of the ideal algorithm.

[1] P. Biswas, K.K. Ramakrishnan, and D. Towsley, "Trace Driven Analysis of Write Caching Policies for Disks," Proc. 1993 ACM SIGMETRICS Conf. Measurement and Modeling of Computer Systems, pp. 13-23,Santa Clara, Calif., May 1993.
[2] P.M. Chen, E.K. Lee, G.A. Gibson, R.H. Katz, and D.A. Patterson, "RAID: High-Performance Reliable Secondary Storage," ACM Computing Surveys, vol. 36, no. 3, pp. 145-185, Aug. 1994.
[3] P.J. Denning, "Effect of Scheduling on File Memory Operations," Proc. AFIPS Spring Joint Computer Conf., pp. 9-21, Apr. 1967.
[4] G.R. Ganger, "Disk Arrays: High-Performance, High-Reliability Storage Subsystems," Computer, vol. 27, no. 3, pp. 30-36, Mar. 1994.
[5] R. Geist and S. Daniel, "A Continuum of Disk Scheduling Algorithms," ACM Trans. Computer Systems, pp. 77-92, Feb. 1987.
[6] R. Golding et al., "Idleness Is Not Sloth," Proc. Winter USENIX Conf., pp. 201-212, Jan. 1995.
[7] D.M. Jacobson and J. Wilkes, "Disk Scheduling Algorithms Based on Rotational Position," Technical Report HPL-CSP-91-7, Hewlett-Packard Laboratories, Feb. 1991.
[8] A. Varma and Q. Jacobson, "Destage Algorithms for Disk Arrays with Non-Volatile Caches," Proc. 22nd Ann. Int'l Symp. Computer Architecture, ACM Press, 1995, pp. 83-95.
[9] J. Menon and D. Mattson, “Performance of Disk Arrays in Transaction Processing Environments,” Proc. 12th Int'l Conf. Distributed Computing Systems, pp. 302-309, 1992.
[10] J. Menon and J. Cortney, "The Architecture of a Fault-Tolerant Cached RAID Controller," Proc. 20th Int'l Symp. Computer Architecture, pp. 76-86,San Diego, Calif., May 1993.
[11] J. Menon, J. Roche, and 0J. Kasson, "Floating Parity and Data Disk Arrays," J. Parallel and Distributed Computing, vol. 17, pp. 129-139, 1993.
[12] J. Menon, "Performance of RAID5 Disk Arrays with Read and Write Caching," Distributed and Parallel Databases, vol. 11, no. 3, pp. 261-293, July 1994.
[13] D.A. Patterson, G. Gibson, and R.H. Katz, “A Case for Redundant Arrays of Inexpensive Disks (RAID),” Proc. ACM SIGMOD Conf., pp. 109–116, 1988.
[14] C. Ruemmler and J. Wilkes, "UNIX Disk Access Patterns," Proc. Winter 1993 USENIX Conf., pp. 405-420, Jan. 1993.
[15] C. Ruemmler and J. Wilkes, "An Introduction to Disk Drive Modeling," Computer, vol. 27, no. 3, pp. 17-28, Mar. 1994.
[16] M. Seltzer, P. Chen, and J. Ousterhout, "Disk Scheduling Revisited," Proc. Winter 1990 USENIX Conf., pp. 313-324, Jan. 1990.
[17] D. Stodolsky,G. Gibson,, and M. Holland,“Parity logging overcoming the small write problem in redundant disk array,” Proc. ISCA’20 1993, pp. 64-75,San Diego, May 1993.
[18] B. Worthington, G. Ganger, and Y. Patt, "Scheduling Algorithms for Modern Disk Drives," Proc. ACM Sigmetrics Conf., pp. 241-251, May 1994.
[19] The RAIDBook,Lino Lakes, Minn.: The RAID Advisory Board, June 1993.

Index Terms:
Disk caching, disk scheduling, destaging algorithms, write caching in disk arrays.
Anujan Varma, Quinn Jacobson, "Destage Algorithms for Disk Arrays with Nonvolatile Caches," IEEE Transactions on Computers, vol. 47, no. 2, pp. 228-235, Feb. 1998, doi:10.1109/12.663770
Usage of this product signifies your acceptance of the Terms of Use.