Making Data Prefetch Smarter: Adaptive Prefetching on POWER7
Hardware data prefetch engines are integral parts of many general purpose server-class microprocessors in the eld to- day. Some prefetch engines allow the user to change some of their parameters. The prefetcher, however, is usually enabled in a default conguration during system bring-up and dynamic reconguration of the prefetch engine is not an autonomic feature of current machines. Conceptually, however, it is easy to infer that commonly used prefetch algorithms, when applied in a xed mode will not help per- formance in many cases. In fact, they may actually de- grade performance due to useless bus bandwidth consump- tion and cache pollution. In this paper, we present an adap- tive prefetch scheme that dynamically modies the prefetch settings in order to adapt to the workload requirements. We implement and evaluate adaptive prefetching in the con- text of an existing, commercial processor, namely the IBM POWER7. Our adaptive prefetch mechanism improves per- formance with respect to the default prefetch setting up to 2.7X and 30% for single-threaded and multiprogrammed workloads, respectively. Categories