Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors

  • Authors:
  • R. Rakvic;Q. Cai;J. González;G. Magklis;P. Chaparro;A. González

  • Affiliations:
  • United States Naval Academy, Annapolis, MD;Intel Labs-UPC, Barcelona, Spain;Intel Labs-UPC, Barcelona, Spain;Intel Labs-UPC, Barcelona, Spain;Intel Labs-UPC, Barcelona, Spain;Intel Labs-UPC, Barcelona, Spain

  • Venue:
  • ACM Transactions on Architecture and Code Optimization (TACO)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We provide an analysis of thread-management techniques that increase performance or reduce energy in multicore and Simultaneous Multithreaded (SMT) cores. Thread delaying reduces energy consumption by running the core containing the critical thread at maximum frequency while scaling down the frequency and voltage of the cores containing noncritical threads. In this article, we provide an insightful breakdown of thread delaying on a simulated multi-core microprocessor. Thread balancing improves overall performance by giving higher priority to the critical thread in the issue queue of an SMT core. We provide a detailed breakdown of performance results for thread-balancing, identifying performance benefits and limitations. For those benchmarks where a performance benefit is not possible, we introduce a novel thread-balancing mechanism on an SMT core that can reduce energy consumption. We have performed a detailed study on an Intel microprocessor simulator running parallel applications. Thread delaying can reduce energy consumption by 4% to 44% with negligible performance loss. Thread balancing can increase performance by 20% or can reduce energy consumption by 23%.