Effective Dispatching for Simultaneous Multi-Threading (SMT) Processors by Capping Per-Thread Resource Utilization

Tilak K. D. Nagaraju, Caleb Douglas, Wei-Ming Lin, Eugene B John · 2011

Simultaneous multithreading (SMT) provides a technique to improve resource utilization by sharing key datapath components among multiple independent threads. When critical resources are shared by multiple threads, effective use of these resources proves to be the most important factor in fully exploiting the system potential. Allowing any of the threads to overwhelm these shared resources not only leads to unfair thread processing but may also result in severely degraded overall performance. How to prevent idling threads from clogging the critical resources in the pipeline becomes a must in sustaining system performance. In this paper, we show that, by simply setting a cap on the number of the critical Issue Queue (IQ) entries each thread is allowed to occupy, the system performance is easily enhanced by a significant margin. An even more pronounced advantage of the proposed technique over other advanced dispatching algorithms is that the performance gain is obtained with very minimal additional hardware required.

Read the paper · More papers on PaperTik