同步多线程(SMT)是一种硬件多线程技术,可以在一个CPU时钟周期内执行来自多个线程的指令。同步多线程本质上是一种将线程级并行处理(多CPU)转化为指令级并行处理(同一CPU)的方法。同步多线程是单个物理处理器同时调度来自多个硬件线程上下文的指令的能力。同步多线程用于在商业环境和具有高周期/指令(CPI)计数的工作负载中创造性能优势。处理器采用超标量结构,最适合并行读取和运行指令。同步多线程允许您同时在同一处理器上调度两个应用程序,从而利用处理器的超标量结构。
摘要
没有一个应用程序可以完全加载处理器。当一个线程遇到长延迟事件时,同步多线程还允许另一个线程中的指令使用所有执行单元。例如,当一个线程缓存未命中时,另一个线程可以继续执行。同步多线程是POWER5和POWER6处理器的一项功能,可用于共享处理器。
SMT业务事务处理负载的性能优化可以达到30%。当系统的总吞吐量比单个线程的吞吐量更重要时,SMT是一个很好的选择。
但是并不是所有的应用都可以通过SMT进行优化。那些性能受到执行单元限制的应用程序,或者那些耗尽所有处理器的内存带宽的应用程序,不会通过在同一处理器上执行两个线程来提高性能。