Skip to Main Content
Simultaneous-multithreading (SMT) is widely used to improve the overall efficiency of superscalar CPUs with hardware multi-threading. With SMT processors, it is challenging to guarantee the performance of each individual thread because resources are shared across the threads. In this paper, we study the scenario where user applications need to guarantee a certain level of performance for a primary thread. We present a hardware-software integrated method to control thread priority to achieve this objective. This method combines hardware thread priority control (which is currently available on IBM POWER processor series) and performance monitoring unit, and dynamically adjusts CPU resource allocations according to current thread workloads. Effectiveness of the proposed method is demonstrated through extensive experimental results.