APP下载

线程还是频率多线程应用待普及

2017-04-27

CHIP新电脑 2017年4期
关键词:线程处理器数量

处理器的核心数以及倍增的线程数,一直是标识其档次的重要指標,至少从双核出现的那一天开始就是如此。要问为什么,结论无他,唯性能可解。

早在双核产品物理上出现之前,多处理器,特别是SMP(对称式多处理器)平台就早已出现,而其CPU及平台价格,可不是核心数增加那么“低廉”,单处理器到双处理器如此,双处理器到4处理器更是如此。今天的多核处理器,可以说是多处理器的廉价解决方案,但显然增加核心数量比增加处理器数量简单得多,但坏处也非常的明显,即多核心解决方案的内存和I/O带宽没有增加,而多处理器则不然,I/O带宽与处理器数量同步甚至更高幅度地增长。

回到现实生活中,多线程的应用优化并非始于多核心处理器,多处理器平台早就跑上了多线程操作系统和应用。不过,多线程优化对指令及数据调度机制有着严格的约束,通常考虑到效率因素以及分支预测因素,指令并行性逊色于数据并行性。如同CPU与GPU的差异,前者优先满足串行应用和通用任务,简单的说就是十项全能,而后者则为并行优化、专用性越强。于是乎就有了GPU专门用来加速图形应用,即便近年来流行的GPGPU应用,也需要专门优化并行性和数据结构,以确保并行计算的高度流水化。

在PC应用领域,近十多年来多线程应用的优化进度始终缓于核心数量增加,其根本原因是考虑到兼容性和效率因素,多线程应用通常会将带有负载的并行线程数量控制在4个以内——当年x86 SMT(对称式多线程,SMP衍生而来)+Windows平台处理器数量最多4个,再往上就是RISC+UNIX的世界了。同时,OS也会严格控制应用“控制”线程的数量,或者适当降低该应用资源获取的优先级,以防止它锁死资源,影响其他应用。想一想,系统假死是使用者最不能接受的状态,除了跑分之外,有谁能面对“死机”不用Reset大法呢。

无论是出于市场的考虑还是从实际出发,主流PC平台很有节操地保持了四核的规模,英特尔8/10的LGA 2011平台实质是阉割了Xeon E3部分可靠性设计到PC市场摆形象来了,若非具有原生高并行性的渲染类和密集计算类应用,都难有超越同门四核高频处理器的表现。

随着AMD新一代处理器Ryzen 7上市,新一轮有关频率和线程的争论又开始了。Ryzen 7放弃了此前AMD在推土机(Bulldozer)架构上使用的CMT(Cluster-Based Multi-threading,集群化多线程)架构,其直接好处就是每核心双线程及简单线程并行效率提升,在实际测试中,最高端的Ryzen 7 1800X在极高并行度优化的Cinebench R15等应用中并行效率接近11x,略优于其对标产品Core i7-6900K,总成绩1800X也略优于6900K,但单线程状态下情势翻转了,而且反转不仅是出现在同样有着8核和低频率的6900K,核心及线程数更少的Core i7-7700K在1~8线程、Core i3-7350K在1~4线程上更是大幅度领先!要知道后者只有1250元左右,只有1800X的1/4,而且还是带散热器又超频潜力巨大的哟。

核心数量和频率的对比,巨大反差也出现在不同测试中。

SMT架构的另一优势是如果不出现数据瓶颈,单线程处理性能与频率线性相关。由此不难看出,如果没有完全为5~8核心优化,并且能跑满16线程的应用,1800X空有多核心却难有用武之地,在专业领域如此,在主流桌面领域更是如此。不仅7700K频率领先超频潜力有限的的Ryzen 7 1800X 10%以上,而且7350K也有频率上的优势,因此在主流桌面应用上挑翻1800X也在情理之中。根据有关统计数据显示,目前PC应用以使用强度负载(Σ应用强度×优化线程数)计,线程数量约为2.4个,以数量计单双线程应用更是占据绝大多数,多线程普及任重道远呀。

这也不难理解,为什么从英特尔到AMD,都在增加核心数量的同时,不断使用超频、Turbo Boost、XFR等技术提升核心运行频率,哪怕一个核心频率搞上去,也能带来相当不错的性能提升感受。

猜你喜欢

线程处理器数量
统一数量再比较
浅谈linux多线程协作
我国博物馆数量达4510家
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
基于上下文定界的Fork/Join并行性的并发程序可达性分析*
Linux线程实现技术研究
么移动中间件线程池并发机制优化改进
AItera推出Nios II系列软核处理器