Write policies for host-side flash caches

Host-side flash-based caching offers a promising new direction for optimizing access to networked storage. Current work has argued for using host-side flash primarily as a read cache and employing a write-through policy which provides the strictest consistency and durability guarantees. However, write-through requires synchronous updates over the network for every write. For write-mostly or write-intensive workloads, it significantly under-utilizes the high-performance flash cache layer. The write-back policy, on the other hand, better utilizes the cache for workloadswith significantwrite I/O requirements. However, conventional write-back performs out-of-order eviction of data and unacceptably sacrifices data consistency at the network storage. We develop and evaluate two consistent write-back caching policies, ordered and journaled, that are designed to perform increasingly better than write-through. These policies enable new trade-off points across performance, data consistency, and data staleness dimensions. Using benchmark workloads such as PostMark, TPC-C, Filebench, and YCSB we evaluate the new write policies we propose alongside conventional write-through and write-back. We find that ordered write-back performs better than write-through. Additionally, we find that journaled write-back can trade-off staleness for performance, approaching, and in some cases, exceeding conventional write-back performance. Finally, a variant of journaled write-back that utilizes consistency hints from the application can provide straightforward application-level storage consistency, a stricter form of consistency than the transactional consistency provided by write-through.

[1]  R. S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[2]  Margo I. Seltzer,et al.  Disk Scheduling Revisited , 1990 .

[3]  Wilson C. Hsieh,et al.  The logical disk: a new approach to improving file systems , 1994, SOSP '93.

[4]  Garth A. Gibson,et al.  RAID: high-performance, reliable secondary storage , 1994, CSUR.

[5]  Randy H. Katz,et al.  Patterson: "raid: high-performance, reliable secondary storage , 1994 .

[6]  John Wilkes,et al.  An introduction to disk drive modeling , 1994, Computer.

[7]  Robert Grimm,et al.  Atomic recovery units: failure atomicity for logical disks , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[8]  Jeffrey Katcher,et al.  PostMark: A New File System Benchmark , 1997 .

[9]  Thomas E. Anderson,et al.  A Comparison of File System Workloads , 2000, USENIX Annual Technical Conference, General Track.

[10]  Steve R. Kleiman,et al.  SnapMirror: File-System-Based Asynchronous Mirroring for Disaster Recovery , 2002, FAST.

[11]  John Wilkes,et al.  Seneca: remote mirroring done write , 2003, USENIX Annual Technical Conference, General Track.

[12]  Nimrod Megiddo,et al.  ARC: A Self-Tuning, Low Overhead Replacement Cache , 2003, FAST.

[13]  Dirk Beyer,et al.  Designing for Disasters , 2004, FAST.

[14]  Ming Zhao,et al.  IBM Research Report Dynamic Policy Disk Caching for Storage Networking , 2006 .

[15]  E. Hensbergen Dynamic Policy Disk Caching for Storage Networking , 2006 .

[16]  Diego R. Llanos Ferraris,et al.  TPCC-UVa: an open-source TPC-C implementation for global performance measurement of computer systems , 2006, SGMD.

[17]  Vagelis Hristidis,et al.  BORG: Block-reORGanization and Self-optimization in Storage Systems , 2007 .

[18]  Shankar Pasupathy,et al.  Measurement and Analysis of Large-Scale Network File System Workloads , 2008, USENIX Annual Technical Conference.

[19]  Antony I. T. Rowstron,et al.  Write off-loading: Practical power management for enterprise storage , 2008, TOS.

[20]  Adam Leventhal,et al.  Flash storage memory , 2008, CACM.

[21]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[22]  Lakshmi Ganesh,et al.  Smoke and Mirrors: Reflecting Files at a Geographically Remote Location Without Loss of Performance , 2009, FAST.

[23]  JacobBruce,et al.  The performance of PC solid-state disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization , 2009 .

[24]  Bruce Jacob,et al.  The performance of PC solid-state disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization , 2009, ISCA '09.

[25]  Irfan Ahmad,et al.  PARDA: Proportional Allocation of Resources for Distributed Storage Access , 2009, FAST.

[26]  Raju Rangaswami,et al.  I/O Deduplication: Utilizing content similarity to improve I/O performance , 2010, TOS.

[27]  Akshat Verma,et al.  SRCMap: Energy Proportional Storage Using Dynamic Consolidation , 2010, FAST.

[28]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[29]  Himabindu Pucha,et al.  Cost Effective Storage using Extent Based Dynamic Tiering , 2011, FAST.

[30]  Steve Byan,et al.  Mercury: Host-side flash caching for the data center , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).