Issue No. 02 - February (1998 vol. 47)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.663770
<p><b>Abstract</b>—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 <it>linear threshold scheduling</it>, 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 <it>least-cost scheduling</it> and <it>high/low mark</it>. 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.</p>
Disk caching, disk scheduling, destaging algorithms, write caching in disk arrays.
Q. Jacobson and A. Varma, "Destage Algorithms for Disk Arrays with Nonvolatile Caches," in IEEE Transactions on Computers, vol. 47, no. , pp. 228-235, 1998.