|
Write caches using fast, non-volatile storage are now widely used in modern storage controllers since
they enable hiding latency on writes. Effective algorithms for write cache management are extremely
important since (i) in RAID-5, due to read-modify-write and parity updates, each write may cause up to
four separate disk seeks while a read miss causes only a single disk seek; and (ii) typically, write
cache size is much smaller than the read cache size—a proportion of 1 : 16 is typical.
A write caching policy must decide: what data to destage. On one hand, to exploit temporal locality,
we would like to destage data that is least likely to be re-written soon with the goal of minimizing
the total number of destages. This is normally achieved using a caching algorithm such as LRW (least
recently written). However, a read cache has a very small uniform cost of replacing any data in the
cache, whereas the cost of destaging depends on the state of the disk heads. Hence, on the other hand,
to exploit spatial locality, we would like to destage writes to minimize the average cost of each
destage. This can be achieved by using a disk scheduling algorithm such as CSCAN, that destages data in
the ascending order of the logical addresses, at the higher level of the write cache in a storage
controller. Observe that LRW and CSCAN focus, respectively, on exploiting either temporal or spatial
locality, but not both simultaneously. We propose a new algorithm, namely, Wise Ordering for Writes (WOW),
for write cache management that effectively combines and balances both temporal and spatial locality.
Our experimental set-up consisted of an IBM xSeries 345 dual processor server running Linux that is
driving a (software) RAID-5 or RAID-10 array using a workload akin to Storage Performance Council's
widely adopted SPC- 1 benchmark. In a cache-sensitive configuration on RAID-5, WOW delivers peak
throughput that is 129% higher than CSCAN and 9% higher than LRW. In a cache-insensitive configuration
on RAID-5, WOW and CSCAN deliver peak throughput that is 50% higher than LRW. For a random write
workload with nearly 100% misses, on RAID-10, with a cache size of 64K, 4KB pages (256MB), WOW and
CSCAN deliver peak throughput that is 200% higher than LRW. In summary, WOW has better or comparable
peak throughput to the best of CSCAN and LRW across a wide gamut of write cache sizes and workload
configurations. In addition, even at lower throughputs, WOW has lower average response times than CSCAN
and LRW.
Related Caching Technology Research
IBM Almaden Research - Advanced Storage Systems
|