摘要
- 同时多线程允许来自多个独立硬件上下文的指令在同一周期进入一个宽超标量核心的不同执行单元。它借助线程级并行补足单线程无法提供的指令级并行,并不等于增加物理核心。
- 1995 年论文中的高倍数是特定模型与负载的吞吐结果:以 Alpha 21164 为基础的加宽模拟、最多八个上下文和多程序 SPEC92 组合。它没有承诺单线程提速,也没有消除公平、缓存争用、能耗或安全边界。
宽核心为什么仍会留下黑格子
超标量处理器试图在一个周期发射多条指令。但一条程序流会遇到真正的数据依赖、分支和缓存未命中;并非每个周期都有足够多的就绪指令。Dean Tullsen、Susan Eggers 与 Henry Levy 在 1995 年的 ISCA 论文里把未填满一行发射槽称为“水平浪费”,把整个周期都没有指令发射称为“垂直浪费”。
他们的办法是保留多个硬件上下文,并让不同线程的指令同时参与选择。执行单元仍然属于一个核心,寄存器、队列、缓存与预测器也仍在共享;改变的是候选指令池。一个线程停在缓存未命中上时,另一个线程的整数或浮点指令可能正好能利用空位。
这也划清了几个概念。指令级并行是在一条线程内部找独立操作;线程级并行提供多条独立程序流;硬件上下文保存这些流的体系结构状态。SMT 在一个核心内动态分配资源,而片上多处理器把资源静态分到多个核心。把“八个上下文”读成“八个核心”,会在概念起点就高估容量。
1995 年实验究竟证明了什么
首篇论文是一项模拟研究,不是一颗已经出货的芯片。典型模型从 300 MHz Alpha 21164 风格的机器出发,扩大到十个功能单元、每周期最多发射八条指令,并支持最多八个上下文。研究者把不同的 SPEC92 程序组合成多程序负载,以便观察原始吞吐,而不把应用并行化或线程同步的效果混入结果。
他们还使用了追求单线程最佳表现的编译选项,避免用一个偏弱的基线抬高 SMT 增益。在论文模拟的配置中,SMT 相对宽超标量基线获得 3.2 至 4.2 倍加速,最高达到每周期 6.3 条指令。论文将其概括为:在所研究模型下,吞吐可达到宽超标量的约四倍、细粒度多线程的约两倍。
这些数字回答“同一段时间总共完成多少工作”,而不是“一个任务快了多少”。它们也不能脱离 1990 年代的发射宽度、缓存结构、频率与程序组合,直接变成现代所有机器上的普遍保证。
共享资源必然带来分配政策
只要多个线程争夺同一组发射槽,调度政策就会改变可观察结果。1995 年论文比较了严格优先与更公平的方案。总吞吐可能相近,但各程序得到的进展差异很大。在一个八线程实验中,最低优先级程序的运行速度只有最高优先级程序的 55%;就连优先线程也因共享缓存、TLB 与分支预测器而慢了约 35%。
因此,SMT 的控制面不只是一个开关。取指政策决定哪些线程把指令送进流水线;队列、寄存器、执行单元和内存带宽决定谁能继续;缓存与预测器里的相互干扰则把一个负载的行为传给另一个负载。平均吞吐可以上升,同时某项请求的尾时延恶化。
从理想模型到可实现组织
1996 年的后续论文由 Tullsen、Eggers、Joel Emer、Levy、Jack Lo 与 Rebecca Stamm 共同署名。它把理想化设计推进到可在传统宽超标量上实现的组织,其中一个关键是按在机指令数选择取指线程:优先照顾当前占用较少的上下文,防止一个线程灌满共享窗口。
该模型在八线程下达到每周期 5.4 条指令,是可比超标量的 2.5 倍,同时报告的单线程减速低于 2%。1997 年华盛顿大学报告又用 SPEC95 多程序负载和 SPLASH-2 并行程序测试这一平台,在八线程时分别得到约 6.2 与 6.1 IPC,并再次记录共享缓存、TLB 和预测器的冲突。
这些结果把问题从“共享发射是否可能”推进到“取指、寄存器和队列应怎样治理”。与模拟片上多处理器的比较也揭示了真正取舍:动态共享更容易回收闲置资源,静态分区则提供另一种隔离边界。
贡献应当归给一支团队
华盛顿大学项目页把 Eggers 与 Levy 列为教师,把 Tullsen 与 Lo 列为学生,并注明 Emer 与 Stamm 来自 Digital Equipment Corporation。Eggers 对 SMT 体系结构作出了关键贡献,但这不是一位孤立发明者的故事。论文序列本身也体现集体工作:先识别机会,再提出可实现结构,随后扩展负载与比较范围。
后来 Intel 以 Hyper-Threading 将这一基本原理带入商用处理器。1995 年论文在 2010 年获得 ISCA Test of Time 认可;Eggers 又因对同时多线程处理器体系结构以及多处理器共享与一致性的贡献,获得 2018 年 Eckert-Mauchly Award。这些荣誉证明影响力,却不能替代今天每一类负载的实测。
SMT 最耐久的结论不是“线程越多越快”,而是它改变了核心内部的分配边界:把原本空闲的执行机会变成可竞争的共享容量。价值取决于机器、负载组合与真正要优化的指标。
资料来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
