Reducing misspeculation penalty in trace-level speculative multithreaded architectures

  • Authors:
  • Carlos Molina;Jordi Tubella;Antonio González

  • Affiliations:
  • Dept. Eng. Informàtica i Matemàtiques, Universitat Rovira i Virgili, Tarragona, Spain;Dept. d'Arquitectura de Computadors, Universitat Politècnica de Catalunya, Barcelona, Spain;Dept. d'Arquitectura de Computadors, Universitat Politècnica de Catalunya, Barcelona, Spain and Intel Barcelona Research Center, Intel Labs-UPC, Barcelona, Spain

  • Venue:
  • ISHPC'05/ALPS'06 Proceedings of the 6th international symposium on high-performance computing and 1st international conference on Advanced low power systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Trace-Level Speculative Multithreaded Processors exploit trace-level speculation by means of two threads working cooperatively. One thread, called the speculative thread, executes instructions ahead of the other by speculating on the result of several traces. The other thread executes speculated traces and verifies the speculation made by the first thread. Speculated traces are validated by verifying their live-output values. Every time a trace misspeculation is detected, a thread synchronization is fired. This recovery action involves flushing the pipeline and reverting to a safe point in a program, which results in some performance penalties. This paper proposes a new thread synchronization scheme based on the observation that a significant number of instructions whose control and data are independent of the mispredicted instruction. This scheme significantly increases the performance potential of the architecture at less cost. Our experimental results show that the mechanism cuts the number of executed instructions by 8% and achieves on average speed-up of almost 9% for a collection of SPEC2000 benchmarks.