Title :
The predictability of branches in libraries
Author :
Calder, Brad ; Grunwald, Dirk ; Srivastava, Amitabh
Author_Institution :
Dept. of Comput. Sci., Colorado Univ., Boulder, CO, USA
fDate :
29 Nov-1 Dec 1995
Abstract :
Profile-based optimizations are being used with increasing frequency. Profile information can be used to improve instruction scheduling, code layout, and to increase instruction level parallelism. These optimizations have been shown to be effective when they are applied to the same program from which the profile was gathered. However it is an open question how profile-based optimizations should be applied to library subroutines. If many programs use libraries in the same way, it may be possible to “preoptimize” a library or to use an optimized shared library. This study examines the use of commonly used libraries among 43 C and FORTRAN programs to see if the libraries have common behavior across different programs. We examine the behavior of the most commonly used Unix libraries on Digital Unix. We found that libraries have very predictable behavior between applications. This implies that profile-based compiler optimizations may be effective far libraries across different applications. Therefore, one can use profile optimizations on shared and non-shared libraries before they are shipped, allowing a program using those libraries to take advantage of profile-based optimizations without having to gather any profiles. All results in this study are shown using branch misprediction rates. We feel this metric indicates the likelihood that programs have similar behavior and allows comparison to earlier branch prediction studies
Keywords :
optimisation; scheduling; software libraries; software metrics; software performance evaluation; subroutines; Unix libraries; branch prediction; branches in libraries; library subroutines; optimized shared library; predictability; profile optimizations; profile-based optimizations; Accuracy; Algorithms; Application software; Computer science; Frequency; Optimizing compilers; Parallel processing; Processor scheduling; Programming profession; Software libraries;
Conference_Titel :
Microarchitecture, 1995., Proceedings of the 28th Annual International Symposium on
Conference_Location :
Ann Arbor, MI
Print_ISBN :
0-8186-7349-4
DOI :
10.1109/MICRO.1995.476810