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
Revised: July 23, 2014 |
Published: September 19, 2012
Citation
Jimenez V., R. Gioiosa, F. Cazorla, A. Buyuktosunoglu, P. Bose, and F. OConnell. 2012.Making Data Prefetch Smarter: Adaptive Prefetching on POWER7. In Proceedings of the 21st International Conference on Parallel Architectures and Compilation Techniques (PACT 2012), September 19-23, Minneapolis, Minnesota, 137-146. New York, New York:Association for Computing Machinery.PNNL-SA-90997.doi:10.1145/2370816.2370837