同时多线程
概述 :
本论文研究了同时多线程,这种方法允许多个公正的线程在单个周期内对超标量处理器的实际设备执行困难命令。并发多线程会在每个冗长的训练延迟面前显着增加处理器使用率,并根据线程限制为具有并行性。
特征 :
- 这些研究提供了多种同步多线程方式,并将它们与机会组进行比较:巨大的超标量、细粒度的多线程处理器和单芯片、几个难度较大的多处理架构。
- 结果表明,每个(单线程)超标量和细粒度多线程架构都受到限制,无法利用难度巨大的超标量处理器的资产。
- 并发多线程能够将超标量的吞吐量提高四个实例,并将细粒度多线程的吞吐量提高一倍。
- 同时多线程对于单芯片多处理器来说同样是一个吸引人的机会。具有大量组的同步多线程处理器优于具有可比执行资产的相应传统多处理器。
- 本论文还表明,无需对传统的高难度超标量进行大量调整,无论是在硬件系统还是规模上,都可以实现同步多线程带来的吞吐量收益。
目标:
提供了实现以下 3 个目标的同时多线程架构。
- 它最大限度地减少了对传统超标量设计的架构影响。
- 它对单独执行的单个线程具有最小的整体性能影响。
- 它在走几个线程的同时实现了广泛的吞吐量利润。
同步多线程基础:
- 我们的同步多线程结构实现了 5 的吞吐量。根据周期的四个命令,在具有可比硬件资产的未修改超标量上的 2.5 倍发展。
- 这种加速是通过以前在不同架构中未开发的多线程的好处而获得的:需要获取的能力和困难的线程能够在每个周期最大程度地正确使用处理器,从而向处理器呈现“最佳”命令.
- 一个分析响应时间版本表明,在多程序环境中同时多线程的好处并不限于成倍增加的吞吐量。
- 吞吐量的增加将导致可运行进程的排队时间出现广泛的折扣,主要是响应时间的增强在许多情况下明显超过吞吐量增强本身。
- 同时多线程 (SMT) 是一种将硬件多线程与超标量处理器技术混合在一起的处理器布局。同时多线程可以使用多个线程在每个周期发出命令。
- 在积极的硬件多线程体系结构中,单个硬件上下文或线程在任何循环中都是活跃的。 SMT 帮助所有线程上下文并发竞争和百分比处理器资源。与传统的超标量处理器不同,后者受到每线程指令度并行度损失的困扰,同时多线程利用多个线程来弥补单线程指令度并行度低的问题。
- 同时多线程通过使用主线程留下的过程小工具的方式使用多个线程在同一时钟周期内运行唯一的命令。
基本处理器结构:
对于同时多线程,可能需要对基本处理器结构进行如下修改。
- 在一个循环中从几个线程获取命令的能力。
- 一个大型签入文档,用于保存来自几个线程的记录。
整体表现祝福:
可以同时运行多线程的设备的整体性能祝福如下。
- 更高的练习吞吐量
- 对于由工业数据库、互联网服务器和每个多程序并行环境中的医疗程序组成的众多工作负载,程序运行速度更快。
为什么 SMT 好:
SMT 实施在芯片长度和强度消耗方面可能非常有效,与绝对重复的处理器资源相比,最低限度。芯片长度的增长远低于 5%,英特尔声称,借助将 SMT 用于多线程工作负载,您可以获得 30% 的整体性能提升。
SMT 是否会提高性能:
在这种情况下,SMT 提供了与瓦特增加保持一致的巨大整体性能。但平均而言,可以获得很小的利润(MT 上 +22%),并且游戏整体性能并不总是受到干扰,因此在 Zen 3 上启用它真的很值得保持。