WINDOWS程序的设计
第23章 多核并行编程
本章先介绍超线程和多核处理器技术,再给出并行编程的基本概念和内容,重点讨论基于多核CPU的并行计算的若干具体编程方法,包括通用的OpenMP和微软公司的PPL、TPL和PLINQ。
23.1 超线程与多核处理器
Intel公司的超线程(Hyper-Threading,HT)技术将一个物理处理器核模拟成两个逻辑核,可并行执行两个线程,从而能有效提高处理器的运行效率。
一直以来,处理器芯片厂商都是通过不断提高主频来提高处理器的性能(例如Intel于 2004年12月12日推出的Pentium 4 HT 570J处理器的主频就达到了3.8GHz)。但是随着单个芯片上集成的晶体管数越来越多(如Intel于2007年11月11日推出的Core 2 Extreme QX9650处理器包含8.2亿个晶体管),传统处理器体系结构技术面临瓶颈,很难单纯通过提高主频来提升性能。而且在主频的提高同时,带来的功耗猛增和散热困难等问题非常严重,这些也是直接促使单核转向多核的深层次原因。从应用需求来看,日益复杂的多媒体、科学计算、虚拟化等多个应用领域都呼唤更为强大的计算能力。在这样的背景下,各主流处理器厂商将产品战略从提高芯片的时钟频率转向多线程和多内核方面。
总之,不能永远靠加快频率的方法来提高处理器的性能,频率高到一定程度以后,必然要转向多核(multi-core)技术,这是由芯片的先天性质所决定的。
23.1.1 SMT与超线程
SMT(Simultaneous MultiThreading,同时多线程)使用硬件多线程来改善超标量CPU的整体性能,它允许执行多个(如2~16个或更多)独立的线程来更好地利用现代处理器架构所提供的资源。超线程是Intel公司研发的一种在一个实体处理器核中提供两个逻辑线程的技术,是SMT技术的特例。
1.超标量与流水线
超标量(superscalar)CPU架构,使用单颗核心来实现一种被称为指令集并行(instruction-level parallelism)的并行运算形式,它能够在相同的时钟频率下增加CPU的吞吐量。超标量处理器,通过同时分派多条指令给处理器上的冗余功能单元,可以在一个时钟周期内执行一条以上的指令。每个功能单元(functional unit)不是单独的CPU核,而是在单个CPU内的一个执行资源,例如一个ALU(Arithmetic Logic Unit,算术逻辑单元)、一个位移器(bit shifter)或一个乘法器(multiplier)。
在典型情况下,超标量CPU同时也是流水线的,它们是两种不同的性能增强技术。非流水线的超标量CPU或流水线的非超标量CPU在理论上也是可能的。
流水线(pipeline,管道/管线),是一个串连在一起的数据处理元素的集合,其中的一个元素的输出是下一个元素的输入。流水线中的元素常常以并行或时间片方式执行,在这种情况下,在元素之间常常插入一些数量的缓冲存储器。
指令流水线(instruction pipelines)是与计算机相关的流水线(其他流水线有图形流水线和软件流水线等)中的一种,它被用于处理器中,允许在同一时钟周期(circuitry)内重叠执行多个指令。时钟周期通常分割成阶段,包括指令解码、算术和寄存器读取阶段,其中每个阶段每次处理一条指令,参见图23-1。
图23-1 简单的超标量流水线 图23-2 超线程
通过每次读取和分派两个指令,在每个指令周期可以完成最多两个指令
2.超线程
Intel的超线程(HT,Hyper-Threading,早期曾叫Super-Threading)技术利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器核都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。参见图23-2。
采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
Intel表示,超线程技术让(P4)处理器在只增加5%的芯片面积的情况下,就可以换来15%~30%的效能提升。但实际上,在某些程序或未对多线程编译的程序而言,超线程反而会降低效能。除此之外,超线程CPU技术也需要主板芯片组和操作系统的配合,才能充分发挥超线程的效能。Intel公司的i865PE和i875P及更新的芯片组。微软公司的Windows XP、Windows Vista和Windows 7等操作系统都能较好地支持Intel的超线程CPU。
2002年2月Intel公司在其推出的代号为Prestonia的130nm新款至强(Xeon
您可能关注的文档
最近下载
- 【部编统编版语文】四下语文 全册教材分析(解析)PPT课件合集.pptx VIP
- 泄密事件应急预案(通用版).docx VIP
- 一元二次方程十字相乘法练习100题及答案.docx VIP
- 2025圆锥曲线中档题100道(试题版).pdf VIP
- 2025年演出经纪人演出项目广告投放策略与效果评估专题试卷及解析.pdf VIP
- 2023年广州育才实验学校小升初入学数学真卷附参考答案 .pdf VIP
- 环境科学与工程专业英语第四版(有道文档翻译版).docx VIP
- 2025年特许金融分析师ESG在大宗商品与基础设施投资中的应用专题试卷及解析.pdf VIP
- 2025年江西新能源科技职业学院单招职业技能测试题库及完整答案1套.docx VIP
- 2025年演出经纪人国际演出结算中的国际保险费用处理专题试卷及解析.pdf VIP
原创力文档

文档评论(0)