| M. H. Lipasti, C. B. Wilkerson, and J. P. Shen, "Value Locality and Data Speculation," in Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 138--147, October 1996. |
....value prediction accuracy and the overall processor performance for each of the different types of value predictors. 1. Introduction Many recent studies have shown that substantial performance gains may be made possible by predicting the data values that are likely to be produced by instructions [1 11]. This value prediction breaks true data dependences to reveal previously unavailable instruction level parallelism. A few previous studies [3,5,8] have shown, however, that the speedups obtained by using value predictions with realistic updates may drop significantly compared to those obtained ....
M. Lipasti, C. Wilkerson, and J. Shen. "Value Locality and Data speculation." 7 Conference on Architectural Support for Programming Languages and Operating System, pages 138147, October 1996. 26
....is for conditional branches [15, 18] Branch prediction is used in virtually every high performance processor being sold today. Recent results suggest that instructions exhibit data locality, that is, they tend to produce values from the same (often small) set a large fraction of the time [10]. Although locality by itself can be insufficient for predictability, its presence spurred the development of a number of value predictors that have accomplished increasingly higher prediction accuracy and demonstrated that values can be quite predictable [7, 9, 13, 14, 17] Value prediction thus ....
.... increasingly higher prediction accuracy and demonstrated that values can be quite predictable [7, 9, 13, 14, 17] Value prediction thus far has been used to enable the speculative execution of instructions, and its performance potential has been shown to be significant in a number of studies [7, 9, 10, 12]. However, for the potential to be realized, it is imperative to have high prediction accuracy and infrequent misspeculation. Misspeculation can be mitigated somewhat with the use of confidence mechanisms[8] these are probably essential for effective value prediction and speculation. Regarding ....
[Article contains additional citation context not shown here]
M. H. Lipasti, C. B. Wilkerson, and J. P. Shen. Value Locality and Data Speculation. In Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 138--147, October 1996.
....predicted. Although just about any program information can potentially be predicted, conditional branch outcomes are the only example that has been studied extensively. Empirical evidence suggest that data values is another dominant information type that should be predicted for higher performance[1, 2, 3, 4, 5]. It would at first appear that value prediction has little chance for success because data can take a large range of values. Recently it was shown, to the contrary, that values produced by instructions can be very predictable [1, 3, 6, 7] In [1] was shown that some values produced by ....
....type that should be predicted for higher performance[1, 2, 3, 4, 5] It would at first appear that value prediction has little chance for success because data can take a large range of values. Recently it was shown, to the contrary, that values produced by instructions can be very predictable [1, 3, 6, 7]. In [1] was shown that some values produced by instructions exhibit locality ; that is, they tend to repeat for a large fraction of time, and therefore may be predicted correctly if an appropriate mechanism is used. In [7] value predictors were classified as computational and context based. A ....
[Article contains additional citation context not shown here]
M. H. Lipasti, C. B. Wilkerson, and J. P. Shen, "Value locality and data speculation," in Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 138--147, October 1996. 21
....Another dominant information type that should be predicted is data values. It would appear that value prediction has little chance for success because data can take a large range of values. Recently it was shown, to the contrary, that values produced by instructions can be very predictable [1, 2]. In [1] was shown that some values produced by instructions exhibit locality ; that is, they tend to repeat for a large fraction of time, and therefore may be predicted correctly if an appropriate mechanism is used. In [2] value predictors were classified as computational and context based. A ....
....dominant information type that should be predicted is data values. It would appear that value prediction has little chance for success because data can take a large range of values. Recently it was shown, to the contrary, that values produced by instructions can be very predictable [1, 2] In [1] was shown that some values produced by instructions exhibit locality ; that is, they tend to repeat for a large fraction of time, and therefore may be predicted correctly if an appropriate mechanism is used. In [2] value predictors were classified as computational and context based. A context ....
[Article contains additional citation context not shown here]
M. H. Lipasti, C. B. Wilkerson, and J. P. Shen, "Value locality and data speculation," in Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 138--147, October 1996.
....dependency communication, the hardware will predict the values and later verify the predictions. Data value prediction is also used is to increase parallelism. A value produced late in a thread and consumed early in the next thread will sequentialize thread execution. Data value prediction [17] has been recognized as a way to break true data dependencies by predicting the value that an instruction will consume, and executing it in parallel with the producing instruction. The Atlas architecture has novel mechanisms to coordinate data value speculations in the context of a ....
.... Branch Predict dependency Predictor Speculative Data Cache Decode Active Ins Execution Units Write Buffer Recovery Queue Figure 6 Node Microarchitecture Inter thread data dependencies are handled using two mechanisms, data dependence speculation [21] and data value prediction [17]. Live register inputs are always value predicted. A hybrid global value predictor makes aggressive, 2 level, correlated value predictions. All value predictions are tracked within the processors via a small fully associative queue, called the Active Ins Queue. For memory dependencies, a ....
M.H. Lipasti, C.B. Wilkerson, and J.P. Shen, "Value locality and data speculation," in ASPLOS-7, pp. 138-147, October 1996
....to subsequent processors. Threads are issued and retired in order. Speculative threads buffer state until they become non speculative, at which time they commit results. Inter thread data dependencies are handled using two mechanisms, data dependence speculation [11] and data value prediction [9]. Live register inputs are always value predicted. A hybrid global value predictor makes aggressive, 2 level, correlated value predictions. All value predictions are tracked within the processors via a small fully associative queue, called the Active Ins Queue. For memory dependencies, a ....
M.H. Lipasti, C.B. Wilkerson, and J.P. Shen, "Value locality and data speculation," in ASPLOS-7, pp. 138-147, October 1996
....multiprocessor environment, as pioneered by the Multiscalar research [20] is to divide the program into threads and execute the threads speculatively. A primary drawback of this execution model is that inter thread data dependencies limit the amount of parallelism possible. Data value prediction [12] has been recognized as a way to break true data dependencies by predicting the value that an instruction will consume, and executing it in parallel with the producing instruction. To the extent that the value predictions are correct, true data dependencies are broken. If data value prediction can ....
M.H. Lipasti, C.B. Wilkerson, and J.P. Shen, "Value locality and data speculation," in ASPLOS-7, pp. 138-147, October 1996
....the program into threads and execute the threads speculatively. The execution model makes no requirement for threads to be data independent. As a result, ephemeral inter thread data dependencies can sequentialize thread execution and limit the amount of parallelism possible. Data value prediction [11] has been recognized as a way to break true data dependencies by predicting the value that an instruction will consume, and executing it in parallel with the producing instruction. If data value prediction can be used to predict the values that flow between threads in multiscalar type execution, ....
....and write buffer flush are often overlapped with the continued execution of the thread. 3.2. Value prediction This architecture is critically dependent on value predictor performance. Initial work was done with value predictors described in the literature, such as the Last Value predictor [11], Stride predictors [3] 8] and context predictors [21] These structures either perform poorly or require huge hardware budgets for adequate performance. A new, moderately sized, correlated value predictor was created specifically for aggressive interthread value prediction. The structure, call ....
M.H. Lipasti, C.B. Wilkerson, and J.P. Shen, "Value locality and data speculation," in ASPLOS-7, pp. 138-147, October 1996
....based on these data predictions. An important difference between conditional branch prediction and data value prediction is that data are taken from a much larger range of values. This would appear to severely limit the chances of successful prediction. However, it has been demonstrated recently [1] that data values exhibit locality where values computed by some instructions tend to repeat a large fraction of the time. We argue that establishing predictability limits for program values is important for determining the performance potential of processors that use value prediction. We ....
....5 5 5 5 5 5 5. Stride(S) 1 2 3 4 5 6 7 8. Non Stride(NS) 28 13 99 107 23 456. Constant sequences are the simplest, and result from instructions that repeatedly produce the same result. Lipasti and Shen show that this occurs surprisingly often, and forms the basis for their work reported in [1]. A stride sequence has elements that differ by some constant delta. For the example above, the stride is one, which is probably the most common case in programs, but other strides are possible, including negative strides. Constant sequences can be considered stride sequences with a zero delta. A ....
[Article contains additional citation context not shown here]
M. H. Lipasti, C. B. Wilkerson, and J. P. Shen, "Value locality and data speculation," in Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 138--147, October 1996.
....and the critical path is not decreased; execution time can in fact be increased in a real implementation by using resources needlessly. This technique has been used for branches (control dependences) for some time, but has also been proposed for memory addresses [5] and for data loaded from memory [9]. ffl The second method can reduce the latency by combining a dependence among multiple dependent instructions into a single instruction. Functionalityfor the collapsing of multiple operations has been advanced in a number of proposals for floating point and fixed point instructions [14, 16, ....
....studied in this paper. Section 4 addresses the experimental framework and assumptions. Section 5 contains the discussion of the obtained results. Section 6 will conclude the study. 2. Related Work Several schemes for reducing the effects of execution and memory dependences have been proposed [2, 5, 9, 19]. These techniques are claimed to have minimal or no impact on the clock cycle. Mechanisms for remedying the effects of memory dependences using early memory loads were introduced in [2, 5] In [5] the combination of three strategies is proposed. The first identifies data dependences required for ....
[Article contains additional citation context not shown here]
M. H. Lipasti, C. B. Wilkerson, and J. P. Shen. Value locality and data speculation. In Proceedingsof the 7th International Conferenceon Architectural Support for ProgrammingLanguages and Operating Systems, October 1996.
....the remainder of the design cycle. The experimental results obtained in this paper clearly highlight the difficulty in developing an accurate performance model. As microarchitecture complexity continues to increase, especially with the incorporation of very aggressive speculation techniques [8,9,10], accurate performance modeling and the validation of performance models will continue to be a great challenge. 8 Acknowledgments The research efforts presented here have been supported by NSF (CCR 9423272) and ONR (N00014 95 1 1112 and N00014 96 1 0347) We have also benefited from the generous ....
M. Lipasti, C. Wilkerson, and J.P. Shen, "Value Locality and Data Speculation," In Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems, October 1996.
No context found.
M. H. Lipasti, C. B. Wilkerson, and J. P. Shen, "Value Locality and Data Speculation," in Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 138--147, October 1996.
No context found.
M. H. Lipasti, C. B. Wilkerson, and J. P. Shen. Value locality and data speculation. In Proceedingsof the 7th International Conferenceon Architectural Support for ProgrammingLanguages and Operating Systems, October 1996.
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