摘要
同时多线程处理器同时执行来自不同线程的指令,兼顾了线程内和线程间的指令并行,使处理器的性能得以大幅提升。然而这种对资源的共享方式,可能带来对关键资源(包括重命名寄存器、指令队列等)的恶性竞争,从而出现"饿死"现象,甚至影响处理器的吞吐率。这主要是由于某些线程遇到长延迟指令,并长期占据关键资源,从而导致其他线程对资源的需求无法得到满足,同时这也降低了资源的利用率。降低竞争带来的负面影响,主要有3种方法:线程调度——在取指段,决定从哪些线程取指令;指令调度——决定哪些指令进入关键资源;关键资源划分——为每个线程分配独立的关键资源。主要对这些调度策略进行综述。
Simultaneous Multithreading Processors boost performance by executing instructions from different threads simultaneously, which explore both inter-thread and intra-thread parallelism. Sharing critical resources (including rename register file, instruction queue and so on) among different threads may also bring vicious competition,which may resultin starvation,even degrade the performance.This is mainly due to long delays encountered by some thread,and the threads take a lot of key resources for long time,while the demand of the other threads for key resources cannot be met.This may reduce the utilization of resources.There are three methods to reduce the negative impact of competition:thread scheduling decides which threads to fetch instructions from in the fetch stage;instruction scheduling determine which instructions to enter the key resource in the dispatch stage;Partitions of the key resources allocate the key resources among threads.These scheduling strategies were reviewed in the paper.
出处
《计算机科学》
CSCD
北大核心
2010年第3期256-261,共6页
Computer Science
基金
国家科技部"九七三"计划项目(2005CB321604)资助
关键词
同时多线程
线程调度
指令调度
资源划分
SMT, Thread scheduling, Instruction scheduling, Resources partitions