| D. Tullsen and B. Calder. Computing along the critical path. Technical report, University of California, San Diego, Oct 1998. |
....cannot provide. Calder et al. 5] guide value prediction by identifying the longest dependence chain in the instruction window, as an approximation of the critical path, without proposing a hardware implementation. We contribute a more precise model and an efficient predictor. Tullsen and Calder [20] proposed a method for softwarebased profiling of the program s critical path. They identified the importance of microarchitectural characteristics for a more accurate computation of the true critical path and expressed some of them (such as branch mispredictions and instruction window stalls) in ....
D. Tullsen and B. Calder. Computing along the critical path. Technical report, University of California, San Diego, Oct 1998.
....which are satisfied later than any instruction which precedes them in the instruction stream. The predictor utilizes a table of saturating counters, like a branch predictor, to predict future criticality based on past behavior. By using a dynamic predictor rather than a static predictor [20], the technique uses no instruction space, adapts to the actual execution rather than depending on profiling with other input, and adapts to changes in the dynamic behavior of the program. The last point is important, because the dynamic behavior does change as critical path based optimizations ....
D. Tullsen and B. Calder. Computing along the critical path. Technical report, University of California, San Diego, Oct. 1998.
....the first instruction fetched this cycle. ffl RANDOM: Pick an instruction randomly each cycle from the instructions fetched. ffl STATIC: We precompute the critical path of the program by identifying the instructions which are on the longest chain of dependences in the program using profiling [27]. The profiler computes a dynamic critical path, accounting for cache and branch effects as well as a limited instruction window size. While a single, complete dynamic path is identified, the tool creates a static summary of each instruction s contribution to the dynamic critical path. The most ....
D. Tullsen and B. Calder. Computing along the critical path. Technical report, University of California, San Diego, Oct. 1998.
....conservative resetting counters with the threshold set at seven. Comparing the table with our performance results (Figure 6) we see that there is more correlation between coverage and performance than accuracy and performance. However, neither is a particularly good predictor of performance. In [15] it is shown that overall predictability of instructions is not necessarily highly correlated with the predictability of instructions on the critical path, the ones that impact performance. For both dynamic RVP techniques, we have shown that the low hardware cost of register based value prediction ....
....Remove LVR reuse before register reuse. LVR typically adds much more complexity to the graph. 2. Start at outer loops (particularly with LVR) and move inward. LVR instructions in outer loops are executed with less frequency and add more complexity than inner loop LVR. 3. Use critical path profiles [15] to gauge the importance of each instruction. This quantifies each instruction s contribution to the critical data dependence path through the entire program. Many instructions do not contribute at all to the critical path and are good candidates to be removed. By the time the register ....
D. Tullsen and B. Calder. Computing along the critical path. Technical report, University of California, San Diego, Oct. 1998.
....path for both squash and reexecute. The longest critical path scheduling algorithm is ideal, but would be difficult to build. For future work we are concentrating on using the compiler profiler to find critical path instructions, which will benefit from value prediction and other optimization [29]. In Figure 11, the performance benefit from using the path heuristic is smaller for the 1024 entry table than the 256 entry table. Prior research has shown that 60 to 80 of the instructions always produce very predictable or unpredictable values [5] Once there are no more capacity problems, the ....
....entry allocation. What is harder, and probably more important, is the need to concentrate on storing instructions that can potentially provide significant gains, even if those instructions are hard to predict. We are currently looking at using critical path profiling to find such instructions [29]. Determining which instructions should consume a predicted value is just as important as determining which instructions to store in the value table. An incorrectly predicted value does not cause any misspeculation unless that value is used by a dependent instruction. We showed that it is ....
D. Tullsen and B. Calder. Computing along the critical path. Technical report, University of California, San Diego, 1998.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC