A continuum of disk scheduling algorithms
ACM Transactions on Computer Systems (TOCS)
Beating the I/O bottleneck: a case for log-structured file systems
ACM SIGOPS Operating Systems Review
VLDB '89 Proceedings of the 15th international conference on Very large data bases
The design and implementation of a log-structured file system
ACM Transactions on Computer Systems (TOCS)
Trace driven analysis of write caching policies for disks
SIGMETRICS '93 Proceedings of the 1993 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Performance of RAID5 disk arrays with read and write caching
Distributed and Parallel Databases - Special issue on disk arrays
Destage Algorithms for Disk Arrays with Nonvolatile Caches
IEEE Transactions on Computers
ACM Transactions on Database Systems (TODS)
Operating Systems Theory
Simulation study of cached RAID5 designs
HPCA '95 Proceedings of the 1st IEEE Symposium on High-Performance Computer Architecture
An Adaptive High-Low Water Mark Destage Algorithm for Cached RAID5
PRDC '02 Proceedings of the 2002 Pacific Rim International Symposium on Dependable Computing
Rules of Thumb in Data Engineering
ICDE '00 Proceedings of the 16th International Conference on Data Engineering
Second-Level Buffer Cache Management
IEEE Transactions on Parallel and Distributed Systems
SARC: sequential prefetching in adaptive replacement cache
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms
IEEE Transactions on Computers
Matrix-Stripe-Cache-Based Contiguity Transform for Fragmented Writes in RAID-5
IEEE Transactions on Computers
Optimal multistream sequential prefetching in a shared cache
ACM Transactions on Storage (TOS)
On multi-level exclusive caching: offline optimality and why promotions are better than demotions
FAST'08 Proceedings of the 6th USENIX Conference on File and Storage Technologies
AWOL: an adaptive write optimizations layer
FAST'08 Proceedings of the 6th USENIX Conference on File and Storage Technologies
Prefetching with adaptive cache culling for striped disk arrays
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
Use of operation semantics for parallel iSCSI protocol
SEPADS'08 Proceedings of the 7th WSEAS International Conference on Software Engineering, Parallel and Distributed Systems
DARAW: a new write buffer to improve parallel I/O energy-efficiency
Proceedings of the 2009 ACM symposium on Applied Computing
Impact of NVRAM write cache for file system metadata on I/O performance in embedded systems
Proceedings of the 2009 ACM symposium on Applied Computing
SOPA: Selecting the optimal caching policy adaptively
ACM Transactions on Storage (TOS)
STOW: a spatially and temporally optimized write caching algorithm
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Management of Multilevel, Multiclient Cache Hierarchies with Application Hints
ACM Transactions on Computer Systems (TOCS)
ACM Transactions on Storage (TOS)
An adaptive write buffer management scheme for flash-based SSDs
ACM Transactions on Storage (TOS)
GHOST: GPGPU-offloaded high performance storage I/O deduplication for primary storage system
Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores
What is a good buffer cache replacement scheme for mobile flash storage?
Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE joint international conference on Measurement and Modeling of Computer Systems
Hi-index | 0.01 |
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 so as 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 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.