1996 · 31 citations · 11 references
ComputingComputer EngineeringComputer ScienceCompilersDesign OptimizationSchedulingControl-flow AnalysisCpu SchedulingCritical Path AnalysisInstruction-level ParallelismPerformance OptimizationSpeculative ExecutionCompile-time OptimizationDependence AnalysisExecution Time AnalysisExecution Time PredictionSpeculation DetectionSpeculative SchedulingTrace Scheduling
Path-oriented scheduling methods, such as trace scheduling and hyperblock scheduling, use speculation to extract instruction-level parallelism from control-intensive programs. These methods predict important execution paths in the current scheduling scope using execution profiling or frequency estimation. Aggressive speculation is then applied to the important execution paths, possibly at the cost of degraded performance along other paths. Therefore, the speed of the output code can be sensitive to the compiler's ability to accurately predict the important execution paths. Prior work in this area has utilized the speculative yield function by Fisher, coupled with dependence height, to distribute instruction priority among execution paths in the scheduling scope. While this technique provides more stability of performance by paying attention to the needs of all paths, it does not directly address the problem of mismatch between compile-time prediction and run-time behavior. The work pre...
11
B. Ramakrishna Rau · 1994 · 708 citations · Full text
Pohua P. Chang, Scott Mahlke, William Y. Chen et al. · 1991 · 309 citations