International Journal of Parallel Programming

, Volume 36, Issue 4, pp 361–385

The Impact of Speculative Execution on SMT Processors

Article

DOI: 10.1007/s10766-007-0052-3

Cite this article as:
Kang, D., Liu, C. & Gaudiot, JL. Int J Parallel Prog (2008) 36: 361. doi:10.1007/s10766-007-0052-3

Abstract

By executing two or more threads concurrently, Simultaneous MultiThreading (SMT) architectures are able to exploit both Instruction-Level Parallelism (ILP) and Thread-Level Parallelism (TLP) from the increased number of in-flight instructions that are fetched from multiple threads. However, due to incorrect control speculations, a significant number of these in-flight instructions are discarded from the pipelines of SMT processors (which is a direct consequence of these pipelines getting wider and deeper). Although increasing the accuracy of branch predictors may reduce the number of instructions so discarded from the pipelines, the prediction accuracy cannot be easily scaled up since aggressive branch prediction schemes strongly depend on the particular predictability inherently to the application programs. In this paper, we present an efficient thread scheduling mechanism for SMT processors, called SAFE-T (Speculation-Aware Front-End Throttling): it is easy to implement and allows an SMT processor to selectively perform speculative execution of threads according to the confidence level on branch predictions, hence preventing wrong-path instructions from being fetched. SAFE-T provides an average reduction of 57.9% in the number of discarded instructions and improves the instructions per cycle (IPC) performance by 14.7% on average over the ICOUNT policy across the multi-programmed workloads we simulate.

Keywords

Simultaneous multithreading Thread scheduling Speculation control Confidence estimator 

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  1. 1.Department of Electrical EngineeringUniversity of Southern CaliforniaLos AngelesUSA
  2. 2.Department of Electrical Engineering & Computer ScienceUniversity of California, IrvineIrvineUSA

Personalised recommendations