Title :
Runahead execution vs. conventional data prefetching in the IBM POWER6 microprocessor
Author :
Cain, Harold W. ; Nagpurkar, Priya
Author_Institution :
IBM T.J. Watson Res. Center, Yorktown Heights, NY, USA
Abstract :
After many years of prefetching research, most commercially available systems support only two types of prefetching: software-directed prefetching and hardware-based prefetchers using simple sequential or stride-based prefetching algorithms. More sophisticated prefetching proposals, despite promises of improved performance, have not been adopted by industry. In this paper, we explore the efficacy of both hardware and software prefetching in the context of an IBM POWER6 commercial server. Using a variety of applications that have been compiled with an aggressively optimizing compiler to use software prefetching when appropriate, we perform the first study of a new runahead prefetching feature adopted by the POWER6 design, evaluating it in isolation and in conjunction with a conventional hardware-based sequential stream prefetcher and compiler-inserted software prefetching. We find that the POWER6 implementation of runahead prefetching is quite effective on many of the memory intensive applications studied; in isolation it improves performance as much as 36% and on average 10%. However, it outperforms the hardware-based stream prefetcher on only two of the benchmarks studied, and in those by a small margin. When used in conjunction with the conventional prefetching mechanisms, the runahead feature adds an additional 6% on average, and 39% in the best case (GemsFDTD).
Keywords :
microprocessor chips; program compilers; storage management; IBM POWER6 commercial server; IBM POWER6 microprocessor; compiler-inserted software prefetching; data prefetching; hardware-based sequential stream prefetcher; sequential based prefetching algorithms; software-directed prefetching; stride-based prefetching algorithms; Application software; Context modeling; Hardware; Java; Microprocessors; Optimizing compilers; Performance evaluation; Prefetching; Proposals; Software performance;
Conference_Titel :
Performance Analysis of Systems & Software (ISPASS), 2010 IEEE International Symposium on
Conference_Location :
White Plains, NY
Print_ISBN :
978-1-4244-6023-6
Electronic_ISBN :
978-1-4244-6024-3
DOI :
10.1109/ISPASS.2010.5452021