多核处理器中改进的动态缓存优化技术
时间:2015-10-21 10:13 文章来源:http://www.lunwenbuluo.com 作者:田进华,魏长宝 点击次数:
【摘要】:为提高多核处理器中缓存资源池效率并降低芯片总面积,设计三维多核结构,同时给出在线应用感知作业分配和缓存共享策略。通过分析应用程序性能特征预测资源需求量,将相邻层中具有不同缓存特点的作业分配给三维多核结构内核,使应用程序与缓存用途相匹配,同时根据应用程序对缓存需求度分配缓存资源,实现缓存资源利用率的最大化。实验结果表明,该策略可提高系统性能,降低能耗和芯片面积,与基于静态缓存的三维多核存储器相比,该三维多核结构的能量延迟乘积和能量延迟面积乘积分别提高了36.9%和57.2%。
【关键词】:缓存资源池;缓存共享;多核处理器;三维多核结构;作业分配
1概述
三维集成技术可以实现不同技术的异构集成,
提高单位芯片的晶体管密度和系统性能m。先前对于三维多核系统的大部分研究主要是通过考察固定且同质的计算和内存资源来考虑三维系统能效0。
然而,异构多核设计可显著降低能耗和成本。这是因为不同应用有不同的资源需求(比如不同的缓存使用量),通过在单个芯片内集成具有不同结构性资源的内核可以解决这_问题。
目前,研究人员已经为多核系统提出多内核之间的资源池共享及相应的缓存优化技术M。如文献5]提出一种重用感知的缓存块迁移(RABM)策略,采用缓存块的历史迁移信息来预测将来的缓存块迁移,从而降低整个缓存系统的功耗。文献6]提出一种共享缓存分配方法,通过将并行应用时对共享缓存访问未命中的情况进行分类与追踪,并根据建立的性能增益模型在行粒度上进行动态分配共享缓存,使系统得到整体性能改善。文献7]提出一种创建动态异构缓存区域的分子缓存概念。文献8]引入一种低开销在线机制,根据缓存丢失率在多个应用间分配缓存。文献9]证明若考虑互通开销,则L2缓存的多核共享效果会显著下降。
然而以上方法仍存在不足:(1)没有解决应用对缓存的实时需求问题;(2)关于三维缓存和内存的研究,要么在三维结构内集成了异构静态随机存取存储器(StaticRandomAccessMemory,SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)层,要么需要对传统缓存设计进行重大改动,成本较高"3)主要考虑基于静态缓存资源的三维系统,对于动态缓存优化不具有适用性。为此,本文对缓存资源池技术进行研究,设计三维多核结构与在线应用感知作业分配和缓存共享策略,通过实现缓存资源的多样性,提高三维多核处理器的能效。该策略将作业动态分配给三维多核系统内核,使应用与缓存用途相匹配,同时根据应用对缓存的需求度分配缓存资源。
2基于缓存资源共享的三维多核结构
本节描述可以实现缓存资源共享的三维结构。图1表示每层均有_个私有L2缓存和_个内核的4层三维系统组成。其中,图1(a)和图1(b)分别是带有2MB和1MB静态私有L2缓存的基准三维结构。图1(c)给出的本文三维结构设计中,每个内核均有_个1MBL2缓存,垂直相邻缓存利用硅通孔技术(Through~silicon-da,TSV)相连实现缓存资源共享。
2.1三维多核系统
相比传统缓存结构,本文实现的三维多核系统缓存资源共享允许三维多核系统中的内核,通过利用其他层的缓存资源(访问延时忽略不计)来增加自身私有L2缓存规模。该设计的目的如下:(1)通过在需要时增加缓存规模来提升性能;(2)通过关闭未被使用的缓存区来节约能耗。因为不同应用的L2缓存使用特点区别较大,所以本文重点讨论L2缓存的共享问题,可以将获得的策略拓展到其他数据缓存层。缓存尺寸取决于块尺寸、集合数量和结合性水平。本文通过改变缓存的结合性来调整缓存尺寸。使用文献10中的选择性通道缓存结构,该结构通过关闭不必要的缓存通道来节约二维系统能耗。每个缓存通道称为缓存区。每个区均可被某_个相邻层独立共享。为维持设计的可拓展性并使访问不同区时访问时间相等,不允许跨层内核共享缓存。同时不允许内核同时共享上层或下层的缓存区,以降低设计复杂度。
2.2三维缓存数据通道管理
为实现三维系统缓存资源共享,对缓存状态寄存器和缓存控制逻辑进行变动。对三维缓存资源共享,内核需要能够与不同层的缓存区进行交互。为每个本地L2缓存区引入_种本地缓存状态寄存器(LocalCacheStatusRegister,LCSR)(比如本文设计中的1MB缓存有4个区),以记录缓存区的状态。本文为L2缓存引入远程缓存状态寄存器(RemoteCacheStatusRegister,RCSR),因此,L1缓存可感知到其远程缓存区。图2(a)、图2(b)和图2(c)描述了RCSR和LCSR逻辑,通过在线管理策略确定寄存器数值。每个本地缓存区可能有4种情形:关闭,由本地层使用,由上层或下层使用。每个LCSR保存2个比特来表示对应缓存区的当前状态,如图2(d)所示。
此外,还在L1缓存中为每个内核维护2个单比特RCSR,以感知其远程缓存区。L1的I和D缓存可以使用相同的RCSR比特,因为2个缓存的丢失均朝向L2。如果L1缓存的2个RCSR均被设为0,则表示没有远程缓存区正被使用。相反,如果内核正在使用对应相邻层上的缓存区,则RCSR位设为1。RCSR_0表示下层,RCSR_1表示上层。
内核利用来自LCSR和RCSR的信息可以与多个层上的缓存区通信。如果有L2请求,则内核根据RCSR数值发送该请求及被请求的地址。_旦请求和地址到达缓存块,则比较被请求地址的标签与标签数组。同时,根据索引来选择每个通道的入口。数据的输出目的地和命中信号由缓存命中之后对应缓存区的LCSR数值确定。本文添加一个多路复用器来选择输出目的地,如图2(c)所示。当有一次L2缓存命中时,命中信号根据LCSR数值返回给输出目的地处的缓存。当本地命中信号和远程命中信号均为0时,表明L2未命中。
因为在线策略可以动态分配缓存区,所以需要维护所有缓存的数据完整性。如果重新分配缓存区(比如,选择为远程层提供服务的分区来为本地缓存提供服务),则需要在重新分配前清洗缓存通道下的所有缓存块。本文使用与传统二维缓存相同的缓存-致性协议,如果有缓存行失效,则LCSR和RCSR均重设为0,使其无法对远程层进行访问,并且删除本地缓存中的数据项。
2.3面积和性能开销
每个单比特寄存器需要多达12个晶体管,每个单比特多路复用器需要多达24个晶体管。因此,本文设计中额外的寄存器和逻辑器需要的晶体管总数量为2568个(10x1-比特寄存器+2x64-比特解复用器+1x30-比特复用器+1x2-比特复用器+1x1-比特解复用器)。假设缓存间的双通道数据传输有128个TSV,内存地址比特有64个TSV,在垂直相邻层上的缓存间传输L2请求和命中比特有额外4个TSV。TSV功耗低于芯片总功耗。因此,在仿真时没有考虑TSV功耗。假设TSV的直径为10中心到中心间距为20pm。TSV的总体面
积开销低于0.1mm2,与芯片总面积开销10.9mm2相比可以忽略不计。已有研究表明,TSV导致的层-层延时为1.26pSE1,远小于1GHz的CPU时钟周期,因此对性能没有影响。
3在线应用感知作业分配和缓存共享策略
图3给出在线作业分配和缓存资源共享策略的流程。该策略包括2个阶段:(1)作业分配,确定每个作业应运行于哪个内核上;(2)缓存资源共享,在_对应用间分配_组可以共享的缓存区。其中,只有o/,和为同一分区展开竞争时才检测条件。
- 论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
- 论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
-
- 论文投稿客服QQ:
2863358778、
2316118108
-
- 论文投稿电话:15380085870
-
- 论文投稿邮箱:lunwenbuluo@126.com