An Empirical Study of Data Speculation Use on the Intel Itanium 2 Processor

  • Authors:
  • Markus Mock;Ricardo Villamarin;Jose Baiocchi

  • Affiliations:
  • University of Pittsburgh, Pittsburgh, PA;University of Pittsburgh, Pittsburgh, PA;University of Pittsburgh, Pittsburgh, PA

  • Venue:
  • INTERACT '05 Proceedings of the 9th Annual Workshop on Interaction between Compilers and Computer Architectures
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Intel Itanium architecture uses a dedicated 32-entry hardware table, the Advanced Load Address Table (ALAT) to support data speculation via an instruction set interface. This study presents an empirical evaluation of the use of the ALAT and data speculative instructions for several optimizing compilers. We determined what and how often compilers generated the different speculative instructions, and used the Itanium's hardware performance counters to evaluate their run-time behavior. We also performed a limit study by modifying one compiler to always generate data speculation when possible. We found that this aggressive approach significantly increased the amount of data speculation and often resulted in performance improvements, of as much as 10% in one case. Since it worsened performance only for one application and then only for some inputs, we conclude that more aggressive data speculation heuristics than those employed by current compilers are desirable and may further improve performance gains from data speculation.