DocumentCode
2518258
Title
Better global scheduling using path profiles
Author
Young, Cliff ; Smith, Michael D.
Author_Institution
Lucent Technol., Bell Labs., Murray Hill, NJ, USA
fYear
1998
fDate
30 Nov-2 Dec 1998
Firstpage
115
Lastpage
123
Abstract
Path profiles record the frequencies of execution paths through a program. Until now, the best global instruction schedulers have relied upon profile-gathered frequencies of conditional branch directions to select sequences of basic blocks that only approximate the frequently-executed program paths. The identified sequences are then enlarged using the profile data to improve the scope of scheduling. Finally, the enlarged regions are compacted so that they complete in a small number of cycles. Path profiles remove the need to approximate the frequently-executed paths that are so important to the success of the compaction phase. In this paper, we describe how one can modify a trace-based instruction scheduler and in particular a superblock schedule; to use path profiles in both the selection and enlargement phases of global scheduling. As our experimental results demonstrate, the use of more detailed profile data allows the scheduler to construct superblocks that are more likely to avoid early exits. This effect leads to more useful speculative code motions and an overall improvement in program performance. We also describe how a path-profile based approach can simplify the engineering of a trace-based scheduler by unifying several trace-enlargement heuristics into a single general mechanism
Keywords
computer architecture; program compilers; scheduling; global scheduling; instruction scheduler; path profiles; program performance; scheduling; speculative code motions; Compaction; Frequency; Hardware; Maintenance engineering;
fLanguage
English
Publisher
ieee
Conference_Titel
Microarchitecture, 1998. MICRO-31. Proceedings. 31st Annual ACM/IEEE International Symposium on
Conference_Location
Dallas, TX
ISSN
1072-4451
Print_ISBN
0-8186-8609-X
Type
conf
DOI
10.1109/MICRO.1998.742774
Filename
742774
Link To Document