{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,5]],"date-time":"2026-03-05T15:38:54Z","timestamp":1772725134390,"version":"3.50.1"},"reference-count":36,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2014,5,1]],"date-time":"2014-05-01T00:00:00Z","timestamp":1398902400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"BSC"},{"DOI":"10.13039\/501100003329","name":"Ministerio de Econom\u00eda y Competitividad","doi-asserted-by":"publisher","award":["JCI-2008-3688"],"award-info":[{"award-number":["JCI-2008-3688"]}],"id":[{"id":"10.13039\/501100003329","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100004316","name":"International Business Machines Corporation","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100004316","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["ACM Trans. Parallel Comput."],"published-print":{"date-parts":[[2014,10,3]]},"abstract":"<jats:p>Hardware data prefetch engines are integral parts of many general purpose server-class microprocessors in the field today. Some prefetch engines allow users to change some of their parameters. But, the prefetcher is usually enabled in a default configuration during system bring-up, and dynamic reconfiguration 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 fixed mode---will not help performance in many cases. In fact, they may actually degrade performance due to useless bus bandwidth consumption and cache pollution, which in turn, will also waste power. We present an adaptive prefetch scheme that dynamically modifies the prefetch settings in order to adapt to workloads' requirements. We use a commercial processor, namely the IBM POWER7 as a vehicle for our study. First we characterize---in terms of performance and power consumption---the prefetcher in that processor using microbenchmarks and SPEC CPU2006. We then present our adaptive prefetch mechanism showing performance improvements with respect to the default prefetch setting up to 2.7X and 1.3X for single-threaded and multiprogrammed workloads, respectively. Adaptive prefetching is also able to reduce power consumption in some cases. Finally, we also evaluate our mechanism with SPECjbb2005, improving both performance and power consumption.<\/jats:p>","DOI":"10.1145\/2588889","type":"journal-article","created":{"date-parts":[[2014,6,10]],"date-time":"2014-06-10T12:50:17Z","timestamp":1402404617000},"page":"1-25","source":"Crossref","is-referenced-by-count":7,"title":["Adaptive Prefetching on POWER7"],"prefix":"10.1145","volume":"1","author":[{"given":"V\u00edctor","family":"Jim\u00e9nez","sequence":"first","affiliation":[{"name":"Barcelona Supercomputing Center and Universitat Polit\u00e8cnica de Catalunya"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Francisco J.","family":"Cazorla","sequence":"additional","affiliation":[{"name":"Barcelona Supercomputing Center and Spanish National Research Council"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Roberto","family":"Gioiosa","sequence":"additional","affiliation":[{"name":"Pacific Northwest National Laboratory"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alper","family":"Buyuktosunoglu","sequence":"additional","affiliation":[{"name":"IBM T. J. Watson Research Center"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pradip","family":"Bose","sequence":"additional","affiliation":[{"name":"IBM T. J. Watson Research Center"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Francis P.","family":"O'Connell","sequence":"additional","affiliation":[{"name":"IBM Systems and Technology Group"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bruce G.","family":"Mealey","sequence":"additional","affiliation":[{"name":"IBM Systems and Technology Group"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,5]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"J. Abeles L. Brochard L. Capps etal 2010. Performance guide for HPC applications on IBM POWER 755 system. https:\/\/www.power.org\/events\/Power7\/Performance_Guide_for_HPC_Applications_on_Power_755-Rel_1.0.1.pdf.  J. Abeles L. Brochard L. Capps et al. 2010. Performance guide for HPC applications on IBM POWER 755 system. https:\/\/www.power.org\/events\/Power7\/Performance_Guide_for_HPC_Applications_on_Power_755-Rel_1.0.1.pdf."},{"key":"e_1_2_1_2_1","doi-asserted-by":"crossref","unstructured":"B. Abraham and J. Ledolter. 1983. Statistical Methods for Forecasting. Wiley.  B. Abraham and J. Ledolter. 1983. Statistical Methods for Forecasting . Wiley.","DOI":"10.1002\/9780470316610"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/125826.125932"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2008.8"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306797"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2006.108"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2006.25"},{"key":"e_1_2_1_8_1","unstructured":"A. C. de Melo. 2010. Performance counters for Linux.http:\/\/www.linux-kongress.org\/2010\/slides\/lk2010-perf-acme.pdf.  A. C. de Melo. 2010. Performance counters for Linux.http:\/\/www.linux-kongress.org\/2010\/slides\/lk2010-perf-acme.pdf."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/363095.363141"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2000064.2000081"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the 15th International Symposium on High-Performance Computer Architecture. 7--17","author":"Ebrahimi E.","unstructured":"E. Ebrahimi , O. Mutlu , and Y. N. Patt . 2009. Techniques for bandwidth-efficient prefetching of linked data structures in hybrid prefetching systems . In Proceedings of the 15th International Symposium on High-Performance Computer Architecture. 7--17 . E. Ebrahimi, O. Mutlu, and Y. N. Patt. 2009. Techniques for bandwidth-efficient prefetching of linked data structures in hybrid prefetching systems. In Proceedings of the 15th International Symposium on High-Performance Computer Architecture. 7--17."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.491.0127"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2011.29"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1186736.1186737"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2006.32"},{"key":"e_1_2_1_16_1","unstructured":"IBM. 2010. Power ISATM Version 2.06 Revision B.https:\/\/www.power.org\/wp-content\/uploads\/2012\/07\/PowerISA_V2.06B_V2_PUBLIC.pdf.  IBM. 2010. Power ISATM Version 2.06 Revision B.https:\/\/www.power.org\/wp-content\/uploads\/2012\/07\/PowerISA_V2.06B_V2_PUBLIC.pdf."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2005.93"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2370816.2370837"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/264107.264207"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/325164.325162"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2008.4771791"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICAC.2007.35"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1654059.1654116"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993744.1993749"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the Annual Linux Symposium.","author":"Mochel P.","year":"2005","unstructured":"P. Mochel . 2005 . The sysfs filesystem . In Proceedings of the Annual Linux Symposium. P. Mochel. 2005. The sysfs filesystem. In Proceedings of the Annual Linux Symposium."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1531793.1531806"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/191995.192014"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2006.49"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/291069.291034"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1147\/JRD.2011.2127330"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the 29th Annual International Symposium on Computer Architecture. ACM, 171--182","author":"Solihin Y.","unstructured":"Y. Solihin , J. Lee , and J. Torrellas . 2002. Using a user-level memory thread for correlation prefetching . In Proceedings of the 29th Annual International Symposium on Computer Architecture. ACM, 171--182 . Y. Solihin, J. Lee, and J. Torrellas. 2002. Using a user-level memory thread for correlation prefetching. In Proceedings of the 29th Annual International Symposium on Computer Architecture. ACM, 171--182."},{"key":"e_1_2_1_32_1","unstructured":"SPEC. 2005. SPECjbb2005. http:\/\/www.spec.org\/jbb2005\/.  SPEC. 2005. SPECjbb2005. http:\/\/www.spec.org\/jbb2005\/."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2004.1261824"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2011.5762710"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/216585.216588"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/335231.335248"}],"container-title":["ACM Transactions on Parallel Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2588889","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2588889","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T19:04:00Z","timestamp":1750273440000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2588889"}},"subtitle":["Improving Performance and Power Consumption"],"short-title":[],"issued":{"date-parts":[[2014,5]]},"references-count":36,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2014,10,3]]}},"alternative-id":["10.1145\/2588889"],"URL":"https:\/\/doi.org\/10.1145\/2588889","relation":{},"ISSN":["2329-4949","2329-4957"],"issn-type":[{"value":"2329-4949","type":"print"},{"value":"2329-4957","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,5]]}}}