Presentation on theme: "Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and."— Presentation transcript:
Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and Quinn Jacobson Presented by Chih-Cheng Chen
introduction Every write request to the array that does not update an entire stripe must now update parity by reading the old data and the old parity, and exclusive-ORing them with the new data.This overhead can degrade the performance of a RAID-5 considerably in the environments where small requests dominate the workload. One solution is to use a nonvolatile write cache to reduce write latency. Writes can now be deemed complete after writing the new data into the cache. Both the data and the parity blocks on the disks can then be updated in the background. The process of updating data or parity in the disks from the write cache is referred to as destaging.
Introduction Advantages in the use of a nonvolatile write cache: –The substantially lower service time by write requests to the array. –Can exploit temporal and spatial locality in writes. –Lower the response time for read requests serviced by the disks. New problems in the use of a nonvolatile write cache: –Must be at least as reliable as the redundancy used for the disks. –Data losses could still occur while updating the disks from cache. –How to handle the scheduling of the destages.
induction Introduce a new algorithm for scheduling destages in a RAID-5 system, called linear threshold scheduling, that adaptively varies the rate of destages to disks based on the instantaneous occupancy of the write cache. Compare with –Least-cost scheduling –High/low mark –Linear threshold scheduling
Destage algorithm The workload seen consist of –Reads from host system that cannot be serviced from the read or write caches. (host read) –Read and write requests generated by the array controller as part of destage operations. (destage) A disk scheduling algorithm for host requests must make a trade-off between maximizing throughput and providing fairness to user requests. The scheduling algorithm must strike a compromise between the conflicting goals of being able to exploit maximum locality and scheduling flexibility for destages, and preventing frequent overflows of the write cache
Destage algorithm Parameters used by the destage algorithm to determine the block to be destaged next –The likelihood of the block being written in the near future. –The number of blocks to be read/updated on the same track (or cylinder) to take advantage of spatial locality. –Service times of the requests in the destage queue. –The current level of occupancy of the cache
Least-Cost Scheduling This is modeled after the well-known shortest seek-time first disk scheduling algorithm, called shortest access-time first (SATF). In addition, to exploit spatial locality, if there are pending spatial locality, if there are pending destage requests to the other blocks on the same track, these are also performed as one large read or write.
High/Low mark algorithm Designed after the cache purging algorithm. In this algorithm, two cache-occupancy thresholds are used to enable and disable destages. Destage requests were selected using the least- cost policy to minimize the service time of individual disk access. Once a block is selected for destage, all pending destage requests to the same track on the same disk are scheduled together.
Linear Threshold scheduling The principle is to match the rate of destages from the cache to the current level of utilization of the cache. High/Low mark is on/off threshold, nevertheless this is changed gradually as a function of cache utilization. The linear threshold scheduling algorithm uses the cache occupancy, service time of destage, and spatial locality as its decision-making criteria.
Simulation results Cache utilization Mean utilization of the write cache for the four scheduling algorithms (size of write cache = 1 Mbyte)
Simulation results Disk utilization Mean utilization of the disk for the four scheduling algorithms (size of write cache = 1 Mbyte)
Simulation results write/read Performance Ratio of disk writes to host writes for the four scheduling algorithms Performance of disk reads for the four scheduling algorithms
Simulation results Burst tolerate Minimum burst duration to cause write cache overflow under various scheduling algorithm
Conclusion Propose 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. Simulation results show that linear threshold scheduling has better read performance than others, while its burst tolerance is moderate.