DocumentCode
2533034
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
fYear
1995
fDate
29 Nov-1 Dec 1995
Firstpage
24
Lastpage
34
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Microarchitecture, 1995., Proceedings of the 28th Annual International Symposium on
Conference_Location
Ann Arbor, MI
ISSN
1072-4451
Print_ISBN
0-8186-7349-4
Type
conf
DOI
10.1109/MICRO.1995.476810
Filename
476810
Link To Document