190 likes | 350 Views
Destage Algorithms for Disk Arrays with Non-Volatile Caches. Anujan Varma Quinn Jacobson. Presentation Outline. Introduction Write- Cache Purpose of Scheduling algorithm Parameters determining destages Different Scheduling algorithms Performance Evaluation Conclusion. Introduction.
E N D
Destage Algorithms for Disk Arrays with Non-Volatile Caches Anujan Varma Quinn Jacobson
Presentation Outline • Introduction • Write- Cache • Purpose of Scheduling algorithm • Parameters determining destages • Different Scheduling algorithms • Performance Evaluation • Conclusion
Introduction • Parity logging only attempts to reduce the overhead of parity updates. • A non-volatile write cache is used to reduce write latency. • The process of updating data or parity in the disks from the write cache is called destaging.
Non-Volatile Write Cache(Advantages) • Lower service time seen by write requests to an array. • Locality in writes in the work load can be exploited: temporal & spatial. • Lowers the response time for read requests serviced by the disks.
Non-Volatile Write Cache(Disadvantages) • Reliability • Data Loss can occur. • Scheduling destages.
How a scheduling algorithm improves disk performance • Can reduce the number of destages by capturing most of the re-writes in the write cache. • Can reduce the number of destages by aggregating blocks that lie physically close on a disk & destage them as a large read and/or write. • Can reduce the average time for a destage by ordering destage requests to the disk such that the service times in the individual disks are minimized.
Parameters to determine the block to destage next • The probability of the block to be re-written in the near future. • Number of blocks to be read/updated on the same track. • Service time of the requests in the destage queue. • Current level of cache occupancy.
Least-Cost Scheduling • Modeled after the shortest seek-time first disk scheduling algorithm. • Each disk scheduled independently. • Request that takes the shortest access time is performed. • Exploits spatial locality.
High/Low Mark Algorithm • Designed after the cache purging algorithm. • Each disk scheduled independently. • Two cache-occupancy thresholds are used to enable & disable destages. • Least-cost scheduling used to minimize the service time of individual disk accesses. • Exploits spatial locality.
Linear Threshold Scheduling • Matches the rate of the destage from the cache to the current level of occupancy for the cache. • Each disk scheduled independently. • Parity & data destages are treated in a similar manner. • Least-cost scheduling used. • Trade-off exists in the choice of the threshold. • Spatial locality implemented. • Temporal Locality is not maximized explicitly.
Approximation to Linear threshold scheduling • Linear threshold faces the problem of scanning an entire queue of destage request to select the minimum-cost request. • Divides the disk into regions. • Maintains separate queue of requests in each region. • Queues searched from the closest to farthest from the current position of head. • Uses function to specify the maximum destage cost for each level of cache occupancy. • Regions searched for destages are selected using the function: Th(w) >= cost(i,j)
The Model • Read cache has unmodified copies of disk blocks. • Write cache holds newer information. • Request from host is FCFS. • Host request has higher priority than destage request. • Write access never bypasses the write cache.
Performance Metrics • Response time of host reads - this is the average delay experienced by a read request from the host. • Disk utilization - it is the fraction of time the disk is busy servicing a request. • Burst Tolerance - the ability to tolerate short bursts in the workload without causing a write cache overflow.
Response time of host reads • Linear Threshold has the best read-to-disk response times for moderate to heavy loads. • High/Low drops in performance at high workloads. • Linear & Least-Cost converge at high I/O.
Burst Tolerance • FCFS & Least-cost show the best burst-tolerance. • Linear threshold recovers from burst tolerance with higher background loads than other algorithms.
Disk Utilization • High/Low mark & Linear threshold algorithms perform minimum work for destaging.
Conclusion • Scheduling algorithm for destaging blocks from the write cache in a RAID –5 are presented. • Linear threshold scheduling provides the best read performance and still maintains a high degree of burst tolerance. • Approximation to Linear threshold maintains performance of Linear but can be implemented at a lower overhead.
Questions • What are the characteristics of the Linear threshold scheduling algorithm? • Compare the performance of Linear threshold algorithm with others on the following criterions: Response time of host reads, Burst tolerance, and Disk Utilization?