2005 IEEE Published by the IEEE computer Society
1、主要特征
- 该处理器采用多线程架构(TLP),支持32个线程,显著提高吞吐量(数据中心、网络服务器)
- 系统性能几乎与线程数线性相关,设计不存在带宽瓶颈
On real commercial applications, we have observed the performance in lab systems to scale almost linearly with the number of threads, demonstrating that there are no bandwidth bottlenecks in the design
2、为什么提出这样架构的处理器
- 传统加速方式主要针对单线程(多发射和乱序这样的ILP,以及分支预测等方式),这些方法受限于内存访问的延迟以及代码本身的并行性,而且导致了微处理器的复杂度爆炸式的增长,功耗以及热耗增加。
- Commercial server 使用数量迅速增长,需要处理大量的RLP,保持客户端请求的持续吞吐量,多线程十分适用。
3、使用环境
Commercial sever environment
Solaris operating system
4、面临的主要挑战
- 32个线程需要存储系统提供高带宽的访问支持
——采用crossbar(数据交叉开关)互联(让32个线程共享内存) + 2-level cache+ 4 独立内存控制器(提供超过20GB/s的带宽)
5、架构优势
- 提高CPU性能无需增加主频,通过共享流水线的方式降低了芯片面积与能耗的消耗。
架构能耗目标是60w。在高密度计算场景比如计算中心,机架的供能通常不足以支持所有服务器全力计算,谷歌显示典型的高密度计算设施如机架式服务器集群能耗大约在 400 700 W / s q . f o o t 400~700 W/sq.foot 400 700W/sq.foot这远远超过了典型的商业数据中心支持的 70 150 W / s q . f o o t 70~150 W/sq.foot 70 150W/sq.foot
如何解决能耗过高?
(1)降低处理器频率,但同时也降低了性能。所以激励commercial server提高单位能耗性能,但是对于单线程处理器而言这样的优化很难实现。
commercial server有大量的工作任务以及稀缺的内存使用权限,这导致了大量的cache miss。数据依赖关系的分支难以被预测,load-load依赖关系也很难在发射阶段检查。
当commercial server降低ILP + High cache miss rate = Memory access time 成为了瓶颈。
所以ILP优化的处理器相比于单发射处理器带来的性能提升已经不足以抵消其高复杂度和能耗损失。
(2)内存共享的机器将各个单线程处理器共连从而实现TLP。但是用这样的方式实现SMP,既不节能也不经济。
(3)在单个芯片上聚集多个核,共享片上缓存与片外高带宽存储器,从而实现片上SMP,保证数据共享以及低延迟的通信。