您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 多核众核处理器的关键技术---首页-中国计算机学会信息网
专题12第5卷第11期2009年11月第过去数十年中,大规模集成电路制程工艺得到了飞速发展,单个硅芯片上集成的晶体管数量也在快速增长,如何有效利用这些不断增长的、数以亿计的晶体管资源,推动微处理器芯片性能的持续提升已成为信息工业界与学术界高度关注的关键问题之一。1996年,斯坦福大学研制出世界上第一款多核处理器(ChipMultiprocessor,CMP)的原型系统Hydra。此后,多核/众核处理器的相关研究与商业应用开始蓬勃发展。短短十几年时间,双核处理器芯片成为通用微处理器市场的主流产品。近年,四核处理器芯片也已上市。工业界与学术界继续探讨含有更多微处理器内核的单芯片系统。微处理器开始迈入多核/众核时代。从结构上看,与传统微处理器的显著区别在于,多核/众核处理器在单芯片上集成了多个处理器内核。多核/众核处理器具有更强的扩展能力和更高的功耗/性能比。为了优化性能,传统单核处理器采取了充分利用和提高软件代码中的指令级并行度的技术,包括超标量超流水线微体系结构以及引入程序执行部件等。其中,超长指令字(VeryLongInstructionWord,VLIW)体系结构将指令并行优化方法推向了极致。在现代微处理器设计过程中,由于涉及众多微处理器内部的系统部件,因此增加运算部件数量、加大指令发射宽度以及加深流水级等方法都会使微处理器的设计和测试工作变得十分复杂。而多核/众核微处理器本身是通过增加单芯片上处理器内核多核/众核处理器的关键技术关键词:多核处理器片上网络存储层次结构编程模型王海霞汪东升清华大学数量来提高性能的,特别是在同构多核/众核处理器上,每个处理器内核的结构完全相同,且可以复用已有单核微处理器IP(IntellectualProperty),因此避免了传统性能优化方法所引入的各种复杂问题,同时也有利于在芯片上增加更多的微处理器内核数量。从这个角度看,与单核处理器相比,多核/众核处理器的结构具有更强的扩展能力。与单核处理器相比,多核/众核处理器还具有更高的功耗/性能比。一方面,多核/众核处理器的结构能有效地利用现代网络和服务器等应用中较高的线程并行度,虽然多核/众核处理器的芯片面积和功耗会随着内核数量的增加而增加,但其性能也能随之有效地增加;另一方面,对于单核处理器,增加运算部件和指令发射宽度等技术在增大芯片面积的同时,会拉长信号传输线路,显著增加线延迟。在深亚微米及纳米工艺下,线延迟对处理器性能的影响将远大于门延迟的影响。相比之下,多核处理器的每个内核结构更简单,可有效地减少处理器内核面积,减少处理器核内部的线延迟,有利于提高处理器内核运行频率,从而达到优化性能的目的。从结构上看,多核/众核处理器与传统对称多处理器系统存在许多相似之处,但是仍有一些本质差别。首先,多核/众核处理器所集成的片上网络与传统多处理器系统中互连网络的对应关键参数,如网络延迟和带宽等,存在数量级上的差异。因此片上网络(非经典的共享总线或处理器板间网络)成为多核处理器的关键13第5卷第11期2009年11月部件之一;其次,单芯片中多个处理器内核对片外内存的高速并发访问,使本来就已经成为瓶颈的内存系统面临更大的压力,如何降低或消除存储墙(MemoryWall)效应,为多个处理器内核连续提供高带宽低延迟的数据访问接口成为一个关键问题。此外,大型对称多处理器系统存在的一些问题在多核/众核时代显得更为突出,主要有两点:(1)如何为用户提供简单易用的并行编程模型;(2)如何支持系统软件来高效管理系统中的处理器内核资源,使之与未来计算模型更好地结合。本文将从多核/众核处理器内部结构(包括片上网络和存储层次结构与存储访问接口)和外部软件接口(包括编程模型与系统软件)等方面介绍多核/众核关键技术。片上网络——实现高速核间通信在多核/众核系统中,随着内核数量的增加,基于传统共享总线的互连结构受到扩展能力的制约,无法满足处理器内核间的高速通信需求。片上网络(NetworkonChip,NoC)[1~3]正在成为多核/众核处理器核间互连的有效组件,相关的研究包括提出高效的路由算法、交换技术和拓扑结构,减少片上网络的资源占用,确保服务质量(QualityofService,QoS)以及降低片上网络功耗等问题。片上网络路由器(其结构如图1)主要实现了虚通道[4]仲裁、包路由和交换等功能。片上网络路由算法与片外通信网络的算法不相同,主要表现在两个方面。首先,片上网络具有较低的互连延迟,并且运行在较高的时钟频率下,因此片上网络很难采用复杂耗时的通用片外网络路由算法,多采用简单的维序路由算法;其次,片上网络通常采用包交换技术,也有一些研究开始尝试使用电路交换方法。与包交换相关的有动态调整虚拟通道数[5]、虚拟通道快递[6]和分层交换[7]等技术。在网络拓扑结构研究方面,研究人员提出了集中式网格、层次化星型和扁平化蝴蝶等新型拓扑结构。研究还发现通过在原有拓扑结构图1片上网络路由器的典型结构(取自ThomasMoscibroda,MicrosoftResearch)vc1vc2vcv输入端口1输入端口N输入通道1输入通道N路由计算VC仲裁开关仲裁调度程序N×N交叉开关输出通道1输出通道Nvc1vc2vcv基于信任的流控数据基于信任的流控数据专题14第5卷第11期2009年11月第中增加少量长距离连线,可以显著提高网络性能且不会带来明显的功耗。在IBM的“穿透硅通道”(Through-siliconVias)三维芯片堆叠技术发布之后,有关三维互连网络拓扑结构的研究也迅速发展起来,该结构可大幅缩短消息传输距离。质量服务方面的研究工作主要包括:(1)基于公平的原则为不同的消息流预留虚拟通道;(2)为不同消息分配不同的优先级;(3)采用基于质量服务的拥塞控制算法避免网络负载饱和。降低片上网络功耗方面的技术包括动态电压调节(DynamicVoltageScaling,DVS)、全局异步局部同步(GloballyAsynchronousLocallySynchronous,GALS)以及任务调度等。近期有一项研究尝试去掉路由器中的缓存队列[8],以降低片上网络的功耗。存储层次结构——缓解存储系统压力根据摩尔定律,处理器的性能每18个月增加1倍,而主存访问速度每年仅增长7%~10%,远远落后于处理器性能增长的速度。处理器和存储器之间不断扩大的速度差异导致了阻碍整个系统性能提升的“存储墙”。与单核处理器相比,多核/众核处理器的内存访问请求数随并行执行线程数线性增加,加剧了内存访问压力。为了解决该问题,存储层次结构(包括各级片上缓存(Cache)和主存)的设计通常需要考虑三个方面:(1)通过多级片内缓存,尽可能减少处理器内核对片外主存的访问;(2)减少缓存访问延迟和缓存缺失时的响应延迟;(3)尽可能提高内存访问带宽,减少内存访问延迟。减少对片外主存的访问次数通过片内缓存减少对片外内存访问的最直接有效办法是设法提高片内缓存命中率。片内缓存命中率与缓存组织方式和替换策略等有密切关系。缓存组织的管理包括片内缓存级数,每级缓存大小、私有或共享方式,每级缓存组相连度以及块大小等配置。替换策略决定哪些数据被替换出缓存,缓存数据的变动会影响后续数据访问命中率。单核处理器主要研究上述各种配置策略缓存对缓存命中率的影响,而多核/众核处理器侧重研究容量最大的最后一级片上缓存的设计。多核/众核处理器采用私有缓存时,缓存访问延迟较低,但是每个处理器内核可使用的缓存容量较小(等于片上缓存总容量除以内核数);采用共享缓存时,缓存访问延迟较长,但每个处理器内核可使用全部共享缓存空间。那些可供每个处理器内核使用的缓存容量在一定程度上决定了缓存命中率。无论私有缓存还是共享缓存,都无法同时保证既有较高的缓存命中率,又有较短的缓存访问延迟。目前,有些研究尝试在私有缓存和共享缓存中间寻找一个平衡点,旨在获得接近私有缓存的访问延迟和共享缓存的缓存容量。此外,许多降低单核处理器片外内存访问次数方面的研究成果,比如增加读写缓冲区(Buffer)、写数据合并等,也都适用于多核处理器。减少缓存访问延迟减少缓存访问延迟需要考虑多核/众核处理器缓存的内部组织结构。通常多核/众核处理器在片上集成两级或者三级缓存。其中,最后一级缓存一般采用共享方式,它的前一级或前两级缓存采用私有方式。私有缓存容量较小,与处理器内核直接相连,访问延迟较短;而共享缓存容量较大,访问延迟较长。因此,减少缓存访问延迟主要是减少最后一级共享缓存的访问延迟。早期的片上共享缓存设计采用单一均匀缓15第5卷第11期2009年11月存访问延迟结构(UniformCacheArchitecture,UCA),每个处理器内核访问所有缓存模块的延迟都一样。随着线延迟的不断增大,片上共享缓存的结构从均匀缓存访问延迟结构转变为非均匀缓存访问延迟结构(NonUniformCacheArchitecture,NUCA)[9],处理器内核到不同缓存模块的访问延迟不再相等,而是与处理器内核到缓存模块的线长相关。目前,多核处理器设计中常采用的“瓦片”(Tile)结构也是一种非均匀缓存访问延迟结构(如图2所示),处理器内核和一级缓存、二级缓存块和路由器等组成一个“瓦片”,多个“瓦片”通过片上网络连接成为一个多核处理器。“瓦片”处理器的二级缓存在逻辑上的共享,但物理分布到各个“瓦片”节点中,此时访问临近缓存模块的延迟较短,而访问远程缓存模块的延迟仍然较长。为减少非均匀缓存访问延迟结构中缓存的平均访问延迟,提高多核处理器性能,研究人员提出了一些优化技术,如D-NUCA(DynamicNUCA,动态非均匀缓存访问延迟结构)[9]、NuRAPID(Non-uniformaccesswithReplacementAndPlacementusIngDistanceassociativity)[10]、受损复原(VictimReplication)[11]、ASR[12]和R-NUCA(ReactiveNUCA)[13]等。这些优化技术试图将频繁访问的数据复制或迁移到临近处理器内核的缓存块中,从而减少对这些数据的后续访问延迟。当数据被多个处理器内核连续访问时,从临近节点中获取数据的速度往往要比从宿主节点读取要快。数据复制与迁徙技术最初是为了优化处理器对数据的连续访问,未考虑到上述情况。基于树的目录协议(DirectoryTree)[14]是对处理器内核节点进行分区管理,为每个子区域建立目录,使大多数缓存访问请求在子区域内得到响应,从而有效减少缓存平均访问延迟。传输中优化(In-transitOptimization)方法[15~16]是在请求消息发送到宿主节点的传输过程中,判断每个途经节点是否包含数据副本。如果节点存在副本,则读请求可直接从该节点获得响应,而将写请求直接置成无效或更新该节点。缓存缺失时的响应延迟主要由采用的缓存图2“瓦片”处理器结构示意图核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器核L1$L2$路由器专题16第5卷第11期2009年11月第一致性协议决定。多核/众核处理器常采用基于目录的协议,其运作方式为:首先,发起请求的处理器内核将请求发送到全局目录;然后,根据目录内容将请求转发到包含该数据有效副本的处理器内核;最后,拥有有效副本的处理器内核将数据返回到请求节点,或者使其私有副本无效。显然,这种所谓“三次跳跃”的缓存缺失请求响应过程的延迟较长。目的集预测技术是通过预测目的节点集合而非目录查找来减少目录协议响应延迟。令牌(Token)协议则以广播方式发送消息,避免了目录查找的过程。虽然该协议减少了目录协议响应延迟,但是增加了网络消息量。提高内存访问带宽和速度目前,提高内存带宽和减少内存访问延迟的一个有效手段是在处理器片内集成1个或多个内存控制
本文标题:多核众核处理器的关键技术---首页-中国计算机学会信息网
链接地址:https://www.777doc.com/doc-7348834 .html