Abstract

Simultaneous multithreading (SMT) provides a method to improve resource uti-lization and performance of superscalar CPUs by sharing key data-path components among multiple independent threads. As threads have unstable behavior, Effective use of critical resources among threads is a challenge to SMT. One of most critical shared resources in the pipeline is Issue Queue (IQ) so putting a limit on its occupation by each thread leads improving in the overall throughput; however, to accommodate the transient behavior of each thread, setting a limit (cap) should be done properly in real time in order to preclude under-utilization (thus, under-achieving) due to over-capping, or starvation for some threads due to under- capping. In this paper, a simple dynamic algorithm is proposed to adjust the cap value for each thread in real time according to the number of memory instructions of each thread. The simulation results show a considerable improvement in IPC over the regular no-capping technique and even a performance superior to the fixed capping approach by using the proposed method.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call