Font Size: a A A

Using performance bounds to guide code compilation and processor desig

Posted on:2004-04-01Degree:Ph.DType:Thesis
University:North Carolina State UniversityCandidate:Zhou, HuiyangFull Text:PDF
GTID:2468390011967885Subject:Computer Science
Abstract/Summary:
Performance bounds represent the best achievable performance that can be delivered by target microarchitectures on specified workloads. Accurate performance bounds establish an efficient way to evaluate performance potentials of either code optimizations or architectural innovations.;We advocate using performance bounds to guide code compilation. In this thesis, we introduce a novel bound-guided approach to systematically regulate code-size related instruction level parallelism (ILP) optimizations including tail duplication, loop unrolling, and if-conversion. Our approach is based on the notion of code size efficiency, which is defined as the ratio of ILP improvement over code size increase. With such a notion, we (1) develop a general approach to selectively perform optimizations to maximize the ILP improvement while minimizing the cost in code size, (2) define the optimal tradeoff between ILP improvement and code size overhead, and (3) develop a heuristic to achieve this optimal tradeoff.;We extend our performance bound as well as code size efficiency computation to perform code size aware compilation for real-time applications. The profile independent performance bounds are proposed to reveal the criticality for each path in a task. Code optimizations can then focus on the critical paths (even at the cost of non-critical ones) to reduce the worst-case execution time, thereby improving the overall schedulability of the real-time system.;For memory intensive applications featuring heavy pointer chasing, we develop an analytical model based on performance bounds to evaluate memory latency hiding techniques. We model the performance potential of these techniques and use the analytical results to motivate an architectural innovation, called recovery-free value prediction, to enhance memory level parallelism (MLP). The experimental results show that our proposed technique improves MLP significantly and achieves impressive speedups.
Keywords/Search Tags:Performance bounds, Code, ILP improvement, Compilation
Related items