Title :
Better global scheduling using path profiles
Author :
Young, Cliff ; Smith, Michael D.
Author_Institution :
Lucent Technol., Bell Labs., Murray Hill, NJ, USA
fDate :
30 Nov-2 Dec 1998
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;
Conference_Titel :
Microarchitecture, 1998. MICRO-31. Proceedings. 31st Annual ACM/IEEE International Symposium on
Conference_Location :
Dallas, TX
Print_ISBN :
0-8186-8609-X
DOI :
10.1109/MICRO.1998.742774