destage algorithms for disk arrays with nonvolatile caches ieee transactions on computers, vol. 47,...

14
Destage Algorithms for Disk Destage Algorithms for Disk Arrays with Nonvolatile Caches Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and Quinn Jacobson Presented by Chih-Cheng Chen

Upload: anahi-cabbage

Post on 29-Mar-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

Destage Algorithms for Disk Destage Algorithms for Disk Arrays with Nonvolatile CachesArrays with Nonvolatile Caches

IEEE TRANSACTIONS ON COMPUTERS, IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998VOL. 47, NO. 2, JANUARY 1998

Anujan Varma, Member, IEEE, and Quinn Jacobson

Presented by Chih-Cheng Chen

Page 2: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

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.

Page 3: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

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.

Page 4: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

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

Page 5: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

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

Page 6: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

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

Page 7: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

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.

Page 8: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

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.

Page 9: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

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.

Page 10: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

Simulation results

• Cache utilization

Mean utilization of the write cache for the four scheduling Mean utilization of the write cache for the four scheduling algorithms (size of write cache = 1 Mbyte)algorithms (size of write cache = 1 Mbyte)

Page 11: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

Simulation results

• Disk utilization

Mean utilization of the disk for the four scheduling algorithms Mean utilization of the disk for the four scheduling algorithms (size of write cache = 1 Mbyte)(size of write cache = 1 Mbyte)

Page 12: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

Simulation results

• write/read Performance

Ratio of disk writes to host writes Ratio of disk writes to host writes for the four scheduling algorithmsfor the four scheduling algorithms

Performance of disk reads Performance of disk reads for the four scheduling algorithmsfor the four scheduling algorithms

Page 13: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

Simulation results

• Burst tolerate

Minimum burst duration to cause write cache overflow under various scheduling algorithm

Page 14: Destage Algorithms for Disk Arrays with Nonvolatile Caches IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 2, JANUARY 1998 Anujan Varma, Member, IEEE, and

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.