Dealing with the Functional Units Starvation in SMT

Yannan Liu,Chen Tianzhou,Tiefei Zhang,Jinming Yue
DOI: https://doi.org/10.1109/hpcc.2012.36
2012-01-01
Abstract:Simultaneous Multithreading(SMT) technology is designed for using the hardware resources more efficiently by implementing Thread Level Parallelism. Usually, an SMT processor fetches instructions from different threads each cycle and fulfills shared instruction queues. Hence, the quality of the instruction sequence which is mainly constructed by the fetch unit would heavily affect the SMT processor's performance.Recently, the fetch policy has attracted many scientists' attention, and also a lot of work has been done in this field. These new designed fetch policies concentrate on improving the throughput by monitoring the status of pipeline to decide which threads to be fetched, such as the instruction count and the cache miss rate. The goal of this paper is to involve the functional units resources into the fetch policy, which has never been carefully studied. We simplify the inefficient use problem of the functional units in SMT, propose a new metric to reflect the degree of the inefficient use and design a new fetch policy to increase the throughput by reliving it. Finally, we evaluate the new policy and the throughput can be improved up to 22% and 3.25% on average.
What problem does this paper attempt to address?