| A. Roth, A. Moshovos, and G. Sohi. Improving Virtual Function Call Target Prediction via Dependence-Based Pre-Computation. In Proc. |
.... work we consider pre executing computations that contain control flow (loops and if converted general purpose control flow) Three earlier works provide more restricted implementations of pre execution, including support for linked data structures [10] virtual function call target computation [11], and conditional branches in local loops [7] Farcy, et al. describe a simple prediction correlator that supports mis speculation and late predictions, but not conditionally executed branches [7] The prediction correlation technique proposed by Roth, et al. 11] is, in some sense, the ....
.... function call target computation [11] and conditional branches in local loops [7] Farcy, et al. describe a simple prediction correlator that supports mis speculation and late predictions, but not conditionally executed branches [7] The prediction correlation technique proposed by Roth, et al. [11] is, in some sense, the complement of the one described here; it uses the path through the program to attempt to determine when a prediction should be used, while we use the path to invalidate predictions. Sundaramoorthy, et al. propose a different approach to producing a reduced version of the ....
A. Roth, A. Moshovos, and G. Sohi. Improving Virtual Function Call Target Prediction via Dependence-Based Pre-Computation. In Proc.
.... the potential of operation prediction) Several recent proposals have shown that slice based precomputation (the mechanism operation prediction uses for predicting outcomes) can be used to successfully prefetch memory data, and may potentially be used to pre compute hard to predict branches [4,9,15,16,10,11,12,17]. In this work, we study program behavior to understand why operation prediction works or may work for predicting otherwise hard to predict program events. We build on the experience with outcome history based dynamic prediction and study whether typical programs exhibit the behavior necessary ....
....early example where the actual computation is built in the design. Roth at al. proposed an operation predictor for recursive data structures [10] while Mehrotra et al. proposed operation predictors for linked lists and arrays [7] Roth at al. proposed an operation predictor for indirect jumps [11]. In all aforementioned proposals, the class of predictable operations is fixed in the design. Slipstream Processors also use a helper thread to run ahead of the main sequential thread in effect pre executing instructions [14] The helper thread is formed by removing predictable computations from ....
A. Roth, A. Moshovos, and G. S. Sohi. Improving virtual function call target prediction via dependence-based precomputation. In Proc. Intl. Conference on Supercomputing, pages 356-364, June 1999.
....these slices and annotate the code to trigger them at appropriate points. These threads use physical registers to store their results and they are integrated into the main program thread when it catches up. There have also been a couple of attempts at improving branch resolution by pre execution [11, 27], where the slice determining the branch is duplicated and made to run in a separate window. Farcy et al. [11] notice regularity in the branch condition computations and use value prediction to accelerate the second thread. Simultaneous Subordinate Microthreading (SSMT) 5] and Assisted Execution ....
A. Roth, A. Moshovos, and G. Sohi. Improving Virtual Function Call Target Prediction via Dependencebased Pre-computation. In Proceedings of ICS, 1999.
....to a PHT) that actually makes the prediction. Stark s scheme can be used to predict both conditional and indirect branches. Recently, Roth et.al. suggested using a dataflow engine, to complement conventional path based predictors, in order to improve the predictability of virtual function calls [134]. Their solution detects the dispatch code sequence implementing a virtual function call. The engine records the corresponding dependencies and launches computations via a dataflow engine, in the order object references are made, in an attempt to predict the next target before the indirect call is ....
....65] 6.3 Future Research on Indirect Branch Prediction There are several future avenues of research in the field of indirect branch prediction. First, we could investigate the synergy between an indirect branch predictor and an engine that prefetches ib loads, similar to the one described in [134]. Early execution of ib loads can assist branch predictability when prefetching the register value used by the indirect branch to form its target. An additional approach would be to combine a victim buffer with a DTBL and a TLR register. The victim buffer could hold data accessed by ib loads when ....
A. Roth, A. Moshovos, and G. Sohi. Improving Virtual Function Call Target Prediction via Dependence-based Pre-Computation. In Proceedings of the International Conference on Supercomputing, June 1999.
....The index that goes through the multiplexer drives a 2nd level table (similar to a PHT) that actually makes the prediction. Recently, Roth et.al. suggested using a dataflow engine as a complement to conventional pathbased predictors in order to improve the predictability of virtual function calls [25]. Their solution detects the instruction sequence implementing a virtual function call 3 , records the corresponding dependencies and launches precomputations via a dataflow engine, in the order object references are made, in an attempt to predict the next target before the indirect call is ....
A. Roth, A. Moshovos, and G. Sohi. Improving Virtual Function Call Target Prediction via Dependence-based Pre-Computation. In Proceedings of the International Conference on Supercomputing, June 1999.
....obvious approach to tolerating latency is to initiate long latency operations early. Software memory pre fetching has been successfully practiced for decades, especially in scientific applications. Techniques for pre computing branch outcomes (including prepare to branch, and hardware techniques [10, 20]) have likewise been proposed. The general term pre execution applies to all of these techniques, although the exact manifestation depends upon the particular technique. The composition of the slice used by a pre execution technique depends both on the technique in use as well as the event being ....
....compute the input operands of the branch in order to evaluate the branch. Unlike the previous two cases, this pre executed branch outcome (and perhaps target) needs to be bound to a particular dynamic branch instance to fully benefit from the pre execution. This process of binding is non trivial [5, 10, 20, 22]. In general, it may be necessary to have a very accurate existence sub slice to correctly correlate pre executed branch outcomes with branches as they are fetched. In addition, since pre executed branch outcomes override predicted outcomes, mis speculations in pre execution can translate into ....
[Article contains additional citation context not shown here]
A. Roth, A. Moshovos, and G. Sohi. Improving Virtual Function Call Target Prediction via Dependence-Based Pre-Computation. In Proc. 1999 International Conference on Supercomputing, pages 356--364, Jun. 1999.
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