[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/1267903.1267929guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

AMP: adaptive multi-stream prefetching in a shared cache

Published: 13 February 2007 Publication History

Abstract

Prefetching is a widely used technique in modern data storage systems. We study the most widely used class of prefetching algorithms known as sequential prefetching. There are two problems that plague the state-of-the-art sequential prefetching algorithms: (i) cache pollution, which occurs when prefetched data replaces more useful prefetched or demand-paged data, and (ii) prefetch wastage, which happens when prefetched data is evicted from the cache before it can be used.
A sequential prefetching algorithm can have a fixed or adaptive degree of prefetch and can be either synchronous (when it can prefetch only on a miss), or asynchronous (when it can also prefetch on a hit). To capture these distinctions we define four classes of prefetching algorithms: Fixed Synchronous (FS), Fixed Asynchronous (FA), Adaptive Synchronous (AS), and Adaptive Asynchronous (AA). We find that the relatively unexplored class of AA algorithms is in fact the most promising for sequential prefetching. We provide a first formal analysis of the criteria necessary for optimal throughput when using an AA algorithm in a cache shared by multiple steady sequential streams. We then provide a simple implementation called AMP, which adapts accordingly leading to near optimal performance for any kind of sequential workload and cache size.
Our experimental set-up consisted of an IBM xSeries 345 dual processor server running Linux using five SCSI disks. We observe that AMP convincingly outperforms all the contending members of the FA, FS, and AS classes for any number of streams, and over all cache sizes. As anecdotal evidence, in an experiment with 100 concurrent sequential streams and varying cache sizes, AMP beats the FA, FS, and AS algorithms by 29-172%, 12-24%, and 21-210% respectively while outperforming OBL by a factor of 8. Even for complex workloads like SPC1-Read, AMP is consistently the best performing algorithm. For the SPC2 Video-on-Demand workload, AMP can sustain at least 25% more streams than the next best algorithm. Finally, for a workload consisting of short sequences, where optimality is more elusive, AMP is able to outperform all the other contenders in overall performance.

Cited By

View all
  • (2019)BPPProceedings of the 48th International Conference on Parallel Processing10.1145/3337821.3337904(1-10)Online publication date: 5-Aug-2019
  • (2019)Self-learnable Cluster-based Prefetching Method for DRAM-Flash Hybrid Main Memory ArchitectureACM Journal on Emerging Technologies in Computing Systems10.1145/328493215:1(1-21)Online publication date: 9-Jan-2019
  • (2017)Experience from Two Years of Visualizing Flash with SSDPlayerACM Transactions on Storage10.1145/314935613:4(1-24)Online publication date: 17-Nov-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
FAST '07: Proceedings of the 5th USENIX conference on File and Storage Technologies
February 2007
61 pages

Sponsors

  • USENIX Assoc: USENIX Assoc

Publisher

USENIX Association

United States

Publication History

Published: 13 February 2007

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2019)BPPProceedings of the 48th International Conference on Parallel Processing10.1145/3337821.3337904(1-10)Online publication date: 5-Aug-2019
  • (2019)Self-learnable Cluster-based Prefetching Method for DRAM-Flash Hybrid Main Memory ArchitectureACM Journal on Emerging Technologies in Computing Systems10.1145/328493215:1(1-21)Online publication date: 9-Jan-2019
  • (2017)Experience from Two Years of Visualizing Flash with SSDPlayerACM Transactions on Storage10.1145/314935613:4(1-24)Online publication date: 17-Nov-2017
  • (2016)FairRideProceedings of the 13th Usenix Conference on Networked Systems Design and Implementation10.5555/2930611.2930637(393-406)Online publication date: 16-Mar-2016
  • (2013)A Prefetching Scheme Exploiting both Data Layout and Access History on DiskACM Transactions on Storage10.1145/25080109:3(1-23)Online publication date: 1-Aug-2013
  • (2012)Compiler-directed file layout optimization for hierarchical storage systemsProceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis10.5555/2388996.2389052(1-11)Online publication date: 10-Nov-2012
  • (2012)On Urgency of I/O OperationsProceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012)10.1109/CCGrid.2012.40(188-195)Online publication date: 13-May-2012
  • (2011)Management of Multilevel, Multiclient Cache Hierarchies with Application HintsACM Transactions on Computer Systems10.1145/1963559.196356129:2(1-51)Online publication date: 1-May-2011
  • (2010)Improving host swapping using adaptive prefetching and paging notifierProceedings of the 19th ACM International Symposium on High Performance Distributed Computing10.1145/1851476.1851515(300-303)Online publication date: 21-Jun-2010
  • (2010)Cashing in on hints for better prefetching and caching in PVFS and MPI-IOProceedings of the 19th ACM International Symposium on High Performance Distributed Computing10.1145/1851476.1851499(191-202)Online publication date: 21-Jun-2010
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media