Confidence estimation for speculation control

  • Authors:
  • Dirk Grunwald;Artur Klauser;Srilatha Manne;Andrew Pleszkun

  • Affiliations:
  • Department of Computer Science, Campus Box 430, University of Colorado, Boulder, CO;Department of Computer Science, Campus Box 430, University of Colorado, Boulder, CO;Department of Electrical and Computer Engineering, Campus Box 425, University of Colorado, Boulder, CO;Department of Electrical and Computer Engineering, Campus Box 425, University of Colorado, Boulder, CO

  • Venue:
  • Proceedings of the 25th annual international symposium on Computer architecture
  • Year:
  • 1998

Quantified Score

Hi-index 0.01

Visualization

Abstract

Modern processors improve instruction level parallelism by speculation. The outcome of data and control decisions is predicted, and the operations are speculatively executed and only committed if the original predictions were correct. There are a number of other ways that processor resources could be used, such as threading or eager execution. As the use of speculation increases, we believe more processors will need some form of speculation control to balance the benefits of speculation against other possible activities.Confidence estimation is one technique that can be exploited by architects for speculation control. In this paper, we introduce performance metrics to compare confidence estimation mechanisms, and argue that these metrics are appropriate for speculation control. We compare a number of confidence estimation mechanisms, focusing on mechanisms that have a small implementation cost and gain benefit by exploiting characteristics of branch predictors, such as clustering of mispredicted branches.We compare the performance of the different confidence estimation methods using detailed pipeline simulations. Using these simulations, we show how to improve some confidence estimators, providing better insight for future investigations comparing and applying confidence estimators.