Black box to Gray box Using sequential prefetching to move toward file-aware storage

Storage software has not kept pace with storage hardware. The software implemented in disk array systems is limited by the lack of knowledge of storage data resulting from the minimal I/O interface. This paper shows that even without any information on files, storage software can extract significant information about storage data. Adding meaning to storage data has a two-fold benefit. Firstly, storage data placement can be based on data access patterns and secondly, smarter storage software techniques can be implemented. This paper demonstrates the extraction of workload information by standard sequential prefetching techniques. A prefetch and cache sizing technique that adapts to the workload is designed.

[1]  Wilhelm Anacker,et al.  Performance Evaluation of Computing Systems with Memory Hierarchies , 1967, IEEE Trans. Electron. Comput..

[2]  C. K. Chow,et al.  Determination of Cache's Capacity and its Matching Storage Hierarchy , 1976, IEEE Transactions on Computers.

[3]  Alan Jay Smith,et al.  Sequentiality and prefetching in database systems , 1978, TODS.

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

[5]  James Z. Teng,et al.  Managing IBM Database 2 Buffers to Maximize Performance , 1984, IBM Syst. J..

[6]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

[7]  Wen-Hann Wang,et al.  Characteristics Of Performance-Optimal Multi-level Cache Hierarchies , 1989, The 16th Annual International Symposium on Computer Architecture.

[8]  Compiler-directed data prefetching in multiprocessors with memory hierarchies , 1990 .

[9]  Anoop Gupta,et al.  Tolerating Latency Through Software-Controlled Prefetching in Shared-Memory Multiprocessors , 1991, J. Parallel Distributed Comput..

[10]  Stanley B. Zdonik,et al.  Fido: A Cache That Learns to Fetch , 1991, VLDB.

[11]  Jean-Loup Baer,et al.  An effective on-chip preloading scheme to reduce data access penalty , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[12]  Peter Honeyman,et al.  Multi-level Caching in Distributed File Systems or Your cache ain't nuthin' but trash , 1992 .

[13]  Harold S. Stone,et al.  A Model of Workloads and Its Use in Miss-Rate Prediction for Fully Associative Caches , 1992, IEEE Trans. Computers.

[14]  Jean-Loup Baer,et al.  Reducing memory latency via non-blocking and prefetching caches , 1992, ASPLOS V.

[15]  P. Krishnan,et al.  Practical prefetching via data compression , 1993 .

[16]  James K. Archibald,et al.  Multiple Prefetch Adaptive Disk Caching , 1993, IEEE Trans. Knowl. Data Eng..

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

[18]  Jean-Loup Baer,et al.  A performance study of software and hardware data prefetching schemes , 1994, ISCA '94.

[19]  Jim Griffioen,et al.  Reducing File System Latency using a Predictive Approach , 1994, USENIX Summer.

[20]  Jean-Loup Baer,et al.  Effective Hardware Based Data Prefetching for High-Performance Processors , 1995, IEEE Trans. Computers.

[21]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

[22]  Todd C. Mowry,et al.  Compiler-based prefetching for recursive data structures , 1996, ASPLOS VII.

[23]  Valery Soloviev Prefetching in segmented disk cache for multi-disk systems , 1996, IOPADS '96.

[24]  Anna R. Karlin,et al.  Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling , 1996, TOCS.

[25]  Hui Lei,et al.  An analytical approach to file prefetching , 1997 .

[26]  Sandy Irani,et al.  Cost-Aware WWW Proxy Caching Algorithms , 1997, USENIX Symposium on Internet Technologies and Systems.

[27]  Gregory R. Ganger,et al.  The DiskSim Simulation Environment Version 4.0 Reference Manual (CMU-PDL-08-101) , 1998 .

[28]  K. Kavi Cache Memories Cache Memories in Uniprocessors. Reading versus Writing. Improving Performance , 2022 .

[29]  Neal E. Young,et al.  On-Line File Caching , 2002, SODA '98.

[30]  Jim Zelenka,et al.  A cost-effective, high-bandwidth storage architecture , 1998, ASPLOS VIII.

[31]  Stavros Harizopoulos,et al.  Hierarchical Caching and Prefetching for High Performance Continuous Media Servers with Smart Disks , 2000 .

[32]  Todd C. Mowry,et al.  Compiler-based I/O prefetching for out-of-core applications , 2001, TOCS.

[33]  John Wilkes,et al.  My Cache or Yours? Making Storage More Exclusive , 2002, USENIX Annual Technical Conference, General Track.

[34]  David M. Mount,et al.  Algorithm Engineering and Experiments , 2002, Lecture Notes in Computer Science.

[35]  Ana Radovanovi,et al.  Least-recently-used caching with dependent requests , 2003 .

[36]  Chu-Ming Ng,et al.  Prefetching in Visual Simulation , 2003 .

[37]  Yuanyuan Zhou,et al.  Association Proceedings of the Third USENIX Conference on File and Storage Technologies San Francisco , CA , USA March 31 – April 2 , 2004 , 2004 .

[38]  Abraham Silberschatz,et al.  Operating Systems Concepts , 2005 .

[39]  Dharmendra S. Modha,et al.  SARC: Sequential Prefetching in Adaptive Replacement Cache , 2005, USENIX Annual Technical Conference, General Track.

[40]  Xuan Tang,et al.  Iteration Aware Prefetching for Large Multidimensional Datasets , 2005, SSDBM.

[41]  Kai Shen,et al.  Managing prefetch memory for data-intensive online servers , 2005, FAST'05.

[42]  Derek Bruening,et al.  Maintaining consistency and bounding capacity of software code caches , 2005, International Symposium on Code Generation and Optimization.

[43]  P. Jelenkovic,et al.  Critical sizing of LRU caches with dependent requests , 2006, Journal of Applied Probability.

[44]  Vijayalakshmi Srinivasan,et al.  Cache miss behavior: is it √2? , 2006, CF '06.

[45]  Luis Angel D. Bathen,et al.  Optimal multistream sequential prefetching in a shared cache , 2007, TOS.

[46]  Song Jiang,et al.  STEP: Sequentiality and Thrashing Detection Based Prefetching to Improve Performance of Networked Storage Servers , 2007, 27th International Conference on Distributed Computing Systems (ICDCS '07).

[47]  Kai Shen,et al.  Competitive prefetching for concurrent sequential I/O , 2007, EuroSys '07.

[48]  R. Daniel Bergeron,et al.  Spatial prefetching for out-of-core visualization of multidimensional data , 2007, Electronic Imaging.

[49]  Sung Hoon Baek,et al.  Prefetching with Adaptive Cache Culling for Striped Disk Arrays , 2008, USENIX Annual Technical Conference.

[50]  Arif Merchant,et al.  TaP: Table-based Prefetching for Storage Caches , 2008, FAST.