Informed Prefetching for Distributed Multi-Level Storage Systems

In this paper, we present an informed prefetching technique called IPODS that makes use of application-disclosed access patterns to prefetch hinted blocks in distributed multi-level storage systems. We develop a prefetching pipeline in IPODS, where an informed prefetching process is divided into a set of independent prefetching steps and separated among multiple storage levels in a distributed system. In the IPODS system, while data blocks are prefetched from hard disks to memory buffers in remote storage servers, data blocks buffered in the servers are prefetched through networks to the clients’ local cache. We show that these two prefetching steps can be handled in a pipelining manner to improve I/O performance of distributed storage systems. Our IPODS technique differs from existing prefetching schemes in two ways. First, it reduces applications’ I/O stalls by keeping hinted data in clients’ local caches and storage servers’ fast buffers (e.g., solid state disks). Second, in a prefetching pipeline, multiple informed prefetching mechanisms coordinate semi-dependently to fetch blocks (1) from low-level (slow) to high-level (fast) storage devices in servers and (2) from high-level devices in servers to the clients’ local cache. The prefetching pipeline in IPODS judiciously hides network latency in distributed storage systems, thereby reducing the overall I/O access time in distributed systems. Using a wide range of real-world I/O traces, our experiments show that IPODS can noticeably improve I/O performance of distributed storage systems by 6%.

[1]  Wonyong Sung,et al.  A multi-level block priority based instruction caching scheme for multimedia processors , 2001, 2001 IEEE Workshop on Signal Processing Systems. SiPS 2001. Design and Implementation (Cat. No.01TH8578).

[2]  Garth A. Gibson,et al.  Exposing I/O concurrency with informed prefetching , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[3]  Jason Lee,et al.  Distributed parallel data storage systems: a scalable approach to high speed image servers , 1994, MULTIMEDIA '94.

[4]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

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

[6]  Kenneth P. Birman,et al.  Deceit: a flexible distributed file system , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

[7]  Alan L. Cox,et al.  The Hadoop distributed filesystem: Balancing portability and performance , 2010, 2010 IEEE International Symposium on Performance Analysis of Systems & Software (ISPASS).

[8]  Joseph F. Murray,et al.  Reliability and security of RAID storage systems and D2D archives using SATA disk drives , 2005, TOS.

[9]  Yannis Manolopoulos,et al.  A Data Mining Algorithm for Generalized Web Prefetching , 2003, IEEE Trans. Knowl. Data Eng..

[10]  Mahadev Satyanarayanan,et al.  Coda: A Highly Available File System for a Distributed Workstation Environment , 1990, IEEE Trans. Computers.

[11]  Mary Baker,et al.  Measurements of a distributed file system , 1991, SOSP '91.

[12]  Gordon S. Blair,et al.  A generic component model for building systems software , 2008, TOCS.

[13]  Surendra Byna,et al.  Data access history cache and associated data prefetching mechanisms , 2007, Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC '07).

[14]  Steven A. Moyer,et al.  PIOUS: a scalable parallel I/O system for distributed computing environments , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[15]  John H. Hartman,et al.  The Zebra striped network file system , 1995, TOCS.

[16]  Darrell D. E. Long,et al.  Swift: Using Distributed Disk Striping to Provide High I/O Data Rates , 1991, Comput. Syst..

[17]  Xiao Qin,et al.  An automatic prefetching and caching system , 2010, International Performance Computing and Communications Conference.

[18]  Andrew Tomkins,et al.  Informed multi-process prefetching and caching , 1997, SIGMETRICS '97.

[19]  Chandramohan A. Thekkath,et al.  Frangipani: a scalable distributed file system , 1997, SOSP.

[20]  Mahadev Satyanarayanan,et al.  Scalable, secure, and highly available distributed file access , 1990, Computer.

[21]  J. Hennessy,et al.  Characteristics of performance-optimal multi-level cache hierarchies , 1989, ISCA '89.

[22]  Cyril U. Orji,et al.  Write-only disk caches , 1990, SIGMOD '90.

[23]  Mahadev Satyanarayanan,et al.  A status report on research in transparent informed prefetching , 1993, OPSR.

[24]  Garth A. Gibson,et al.  Prefetching over a network: early experience with CTIP , 1997, PERV.

[25]  Gerhard Weikum,et al.  Integrated document caching and prefetching in storage hierarchies based on Markov-chain predictions , 1998, The VLDB Journal.

[26]  Susanne Albers,et al.  Integrated prefetching and caching in single and parallel disk systems , 2003, SPAA '03.

[27]  Haengrae Cho,et al.  A prefetching Web caching method using adaptive search patterns , 2003, 2003 IEEE Pacific Rim Conference on Communications Computers and Signal Processing (PACRIM 2003) (Cat. No.03CH37490).

[28]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[29]  Surendra Byna,et al.  Exploring Parallel I/O Concurrency with Speculative Prefetching , 2008, 2008 37th International Conference on Parallel Processing.

[30]  Prasant Mohapatra,et al.  Performance study of RAID-5 disk arrays with data and parity cache , 1996, Proceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing.

[31]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[32]  Jason Lee,et al.  Using high speed networks to enable distributed parallel image server systems , 1994, Proceedings of Supercomputing '94.

[33]  Jason Fritts Multi-level memory prefetching for media and stream processing , 2002, Proceedings. IEEE International Conference on Multimedia and Expo.

[34]  Richard W. Watson,et al.  The parallel I/O architecture of the high-performance storage system (HPSS) , 1995, Proceedings of IEEE 14th Symposium on Mass Storage Systems.

[35]  Yale N. Patt,et al.  Disk arrays: high-performance, high-reliability storage subsystems , 1994, Computer.

[36]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1988, TOCS.

[37]  Sanam Shahla Rizvi,et al.  Flash SSD vs HDD: High performance oriented modern embedded and multimedia storage systems , 2010, 2010 2nd International Conference on Computer Engineering and Technology.

[38]  Mahadev Satyanarayanan,et al.  An empirical study of a wide-area distributed file system , 1996, TOCS.

[39]  Garth A. Gibson,et al.  Automatic I/O hint generation through speculative execution , 1999, OSDI '99.

[40]  Xiao Qin,et al.  Eco-Storage: A Hybrid Storage System with Energy-Efficient Informed Prefetching , 2013, J. Signal Process. Syst..

[41]  Anna R. Karlin,et al.  A study of integrated prefetching and caching strategies , 1995, SIGMETRICS '95/PERFORMANCE '95.

[42]  Mais Nijim Modelling Speculative Prefetching for Hybrid Storage Systems , 2010, 2010 IEEE Fifth International Conference on Networking, Architecture, and Storage.

[43]  Dorota M. Huizinga,et al.  Implementation of informed prefetching and caching in Linux , 2000, Proceedings International Conference on Information Technology: Coding and Computing (Cat. No.PR00540).

[44]  Surendra Byna,et al.  Parallel I/O prefetching using MPI file caching and I/O signatures , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[45]  Mahadev Satyanarayanan,et al.  Using Transparent Informed Prefetching (TIP) to reduce file read latency , 1993 .

[46]  Xiao Qin,et al.  Thermal Modeling of Hybrid Storage Clusters , 2013, J. Signal Process. Syst..

[47]  Tulika Mitra,et al.  A Decoupled Architecture for Application-Specific File Prefetching , 2002, USENIX Annual Technical Conference, FREENIX Track.

[48]  Yunnan Wu,et al.  Network coding for distributed storage systems , 2010, IEEE Trans. Inf. Theory.

[49]  María Engracia Gómez,et al.  Analysis of self-similarity in I/O workload using structural modeling , 1999, MASCOTS '99. Proceedings of the Seventh International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[50]  Howard Gobioff,et al.  The Google file system , 2003, SOSP '03.

[51]  Yuanyuan Zhou,et al.  PFC: Transparent Optimization of Existing Prefetching Strategies for Multi-Level Storage Systems , 2008, 2008 The 28th International Conference on Distributed Computing Systems.

[52]  S. Narayan,et al.  Parity Redundancy in a Clustered Storage System , 2007, Fourth International Workshop on Storage Network Architecture and Parallel I/Os (SNAPI 2007).

[53]  Christos Faloutsos,et al.  Informed prefetching of collective input/output requests , 1999, SC '99.

[54]  Gabriel Antoniu,et al.  Improving the Hadoop map/reduce framework to support concurrent appends through the BlobSeer BLOB management system , 2010, HPDC '10.

[55]  Carlos Maltzahn,et al.  Ceph: a scalable, high-performance distributed file system , 2006, OSDI '06.

[56]  Daniel A. Reed,et al.  ARIMA time series modeling and forecasting for adaptive I/O prefetching , 2001, ICS '01.

[57]  Sanjay Ghemawat,et al.  MapReduce: a flexible data processing tool , 2010, CACM.

[58]  Anna R. Karlin,et al.  Integrated parallel prefetching and caching , 1996, SIGMETRICS '96.

[59]  Chandramohan A. Thekkath,et al.  Petal: distributed virtual disks , 1996, ASPLOS VII.

[60]  Darrell D. E. Long,et al.  Swift/RAID: A Distributed RAID System , 1994, Comput. Syst..

[61]  Alexander Thomasian,et al.  Multi-level RAID for very large disk arrays , 2006, PERV.

[62]  Randy H. Katz,et al.  Striped tape arrays , 1993, [1993] Proceedings Twelfth IEEE Symposium on Mass Storage systems.

[63]  Hong Jiang,et al.  A novel model for synthesizing parallel I/O workloads in scientific applications , 2008, 2008 IEEE International Conference on Cluster Computing.

[64]  Surendra Byna,et al.  Hiding I/O latency with pre-execution prefetching for parallel applications , 2008, HiPC 2008.

[65]  Xiao Qin,et al.  Multi-layer Prefetching for Hybrid Storage Systems: Algorithms, Models, and Evaluations , 2010, 2010 39th International Conference on Parallel Processing Workshops.

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

[67]  Mahadev Satyanarayanan,et al.  The ITC distributed file system: principles and design , 1985, SOSP 1985.

[68]  Toyohisa Kaneko Optimal Task Switching Policy for a Multilevel Storage System , 1974, IBM J. Res. Dev..