Storage-Aware Caching: Revisiting Caching for Heterogeneous Storage Systems

Modern storage environments are composed of a variety of devices with different performance characteristics. In this paper, we explore storage-aware caching algorithms, in which the file buffer replacement algorithm explicitly accounts for differences in performance across devices. We introduce a new family of storageaware caching algorithms that partition the cache, with one partition per device. The algorithms set the partition sizes dynamically to balance work across the devices. Through simulation, we show that our storageaware policies perform similarly to LANDLORD, a costaware algorithm previously shown to perform well in Web caching environments. We also demonstrate that partitions can be easily incorporated into the Clock replacement algorithm, thus increasing the likelihood of deploying cost-aware algorithms in modern operating systems.

[1]  Chris J. Scheiman,et al.  LogGP: incorporating long messages into the LogP model—one step closer towards a realistic model for parallel computation , 1995, SPAA '95.

[2]  David E. Culler,et al.  WebOS: operating system services for wide area applications , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

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

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

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

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

[7]  Yannis Smaragdakis,et al.  EELRU: simple and effective adaptive page replacement , 1999, SIGMETRICS '99.

[8]  Luigi Rizzo,et al.  Replacement policies for a proxy cache , 2000, TNET.

[9]  Terence Kelly,et al.  Biased Replacement Policies for Web Caches: Differential Quality-of-Service and Aggregate User Value , 1999 .

[10]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

[11]  David B. Lomet,et al.  AlphaSort: a RISC machine sort , 1994, SIGMOD '94.

[12]  David A. Goldberg,et al.  Design and Implementation of the Sun Network Filesystem , 1985, USENIX Conference Proceedings.

[13]  Andrea C. Arpaci-Dusseau,et al.  Fail-stutter fault tolerance , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

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

[15]  John A. Hoffnagle,et al.  A one-megapixel reflective spatial light modulator system for holographic storage , 1998, IBM J. Res. Dev..

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

[17]  Jesús Labarta,et al.  Extending Heterogeneity to RAID Level 5 , 2001, USENIX Annual Technical Conference, General Track.

[18]  Stanley B. Zdonik,et al.  Dissemination-based data delivery using broadcast disks , 1995, IEEE Wirel. Commun..

[19]  Jonathan L. Bertoni Understanding Solaris TM Filesystems and Paging , 1998 .

[20]  Marek Chrobak,et al.  New results on server problems , 1991, SODA '90.

[21]  BabaogluÖzalp,et al.  Converting a swap-based system to do paging in an architecture lacking page-referenced bits , 1981 .

[22]  Ben Y. Zhao,et al.  OceanStore: an architecture for global-scale persistent storage , 2000, SIGP.

[23]  Marc Abrams,et al.  Proxy Caching That Estimates Page Load Delays , 1997, Comput. Networks.

[24]  David L. Black,et al.  Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures , 1987, IEEE Trans. Computers.

[25]  Todd C. Mowry,et al.  Taming the memory hogs: using compiler-inserted releases to manage physical memory intelligently , 2000, OSDI.

[26]  Brian C. Forney,et al.  Manageable storage via adaptation in WiND , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[27]  Rafael Alonso,et al.  Broadcast disks: data management for asymmetric communication environments , 1995, SIGMOD '95.

[28]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[29]  Margo I. Seltzer,et al.  Isolation with Flexibility: A Resource Management Framework for Central Servers , 2000, USENIX Annual Technical Conference, General Track.

[30]  Neal Young,et al.  The K-Server Dual and Loose Competitiveness for Paging , 1991, On-Line Algorithms.

[31]  L. Richard Carley,et al.  MEMS-based integrated-circuit mass-storage systems , 2000, CACM.

[32]  Azer Bestavros,et al.  Popularity-aware greedy dual-size Web proxy caching algorithms , 2000, Proceedings 20th IEEE International Conference on Distributed Computing Systems.

[33]  Michael N. Nelson,et al.  Virtual Memory vs. The File System , 1999 .

[34]  David L. Black,et al.  Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures , 1987, ASPLOS 1987.

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

[36]  Lyle A. McGeoch,et al.  Competitive algorithms for on-line problems , 1988, STOC '88.