- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
当前典型多核处理器的cache结构分析
当前典型多核处理器的cache结构分析
摘要:对多核处理器发展中高速缓存 Cache 存储层所出现的问题进行分析与研究,主要是多核结构采用的多级分布式 Cache 引发的存储一致性问题。最早的 NUCA研究了对单处理器环境下 NUCA 效应给处理器性能带来的影响。后来针对 NUCA 提出了一种称为动态非一致性访问(Dynamic Non-Uniform Cache Access, DNUCA )的设计来管理大容量 Cache。多核架构下的另一种管理片上大容量 Cache 的思路是采用分布式管理,将片上的 Cache 资源分布到各个处理器内核结点,通过设计划分强调连线的局部性,避免频繁长距离 Cache 通信的产生。
1 背景
高速缓冲存储器 Cache 是计算机存储系统中最重要的部分,最早由 Wilkes 于1951 年构想出来。Cache 技术的出现正是为了弥补处理器与存贮器之间的速度差异。目前,多核处理器芯片普遍采用在片内集成大容量 Cache 的方式来提高存储系统的性能。大容量 Cache 可以直接增加处理器芯片内 Cache 命中率,减少片外访存的频率,但由于 Cache 面积过大,又分散在芯片的不同位置,在线延迟的影响下,同一层次但不同距离 Cache 的访问呈现出不同的通讯延迟,即所谓的非一致性缓存访问 NUCA (Non-Uniform Cache Access)。
2 多核中Cache结构综述
2.1多核芯片上的Cache技术
多处理器核组织结构主要有UCA(UniformCache Access)和NUCA(Non-Uniform Cache Access)
当一块芯片上集成了多个处理器核时,各个处理器核之间通过共享Cache数据单元实现数据的交换与同步,多核争用Cache中的数据是多核芯片需要解决的一个重要问题。
2.2 多核架构对处理器Cache技术的影响
最早的 NUCA研究了对单处理器环境下 NUCA 效应给处理器性能带来的影响。后来针对 NUCA 提出了一种称为动态非一致性访问(Dynamic Non-Uniform Cache Access, DNUCA )的设计来管理大容量 Cache。DNUCA 是将大容量 Cache 分为很多小的 Bank,允许 Cache块动态地进行物理位置上的迁移,运行时的热点数据将逐渐集中到离处理器内核较近位置的 Bank 中,以此来降低访问 Cache 的延迟。
基于片上Cache行迁移的DNUCA技术在实现时主要应解决三个问题:①映射(Mapping):是 Cache 地址与可寻址 Cache 体之间的对应关系,根据映射策略的不同,DNUCA 的三种实现方式如图3所示,即“简单映射”策略是根据几何位置将每一列的 Cache 体编为一个体组,地址与体组具有简单固定的一一对应关系,但是对应 Cache 行在体组内位置是任意的。简单映射实现方式的硬件代价最小,但是由于几何分布的不均,不同体组之间访问延时会不均衡;第二种“公平映射”方式是解决体组访问延迟的非均衡问题,通过对体进行几何位置上的均匀分组使得各体组的平均体访问延迟近似相等,但由此会导致同一体组内复杂的路由管理,增大了硬件实现的开销;第三种“共享映射”设计是为所有体组共享离核最近体的方式,由于需要在不同组间进行容量空间的共享和 Cache 块的交换,组相联方式会受到一定限制。②查找(search):是因为 DNUCA 中 Cache 块不具有固定宿主体位置(home),查找解决如何定位 Cache 块所存分组的问题。DNUCA 设计了增量查找和广播查找两种方式:增量查找每次查找一个体,缺失后将查找请求传送到下一个体,这种方式的网络流量和功耗开销较小,但查找时间较长;广播方式是一次将查找请求发送到体组内所有的体,可以在最短时间内完成定位,但会增大网络流量和功耗开销。③迁移(Movement):如何在体之间进行 Cache 行的迁移管理。DNUCA 的设计目标是使命中尽可能地在物理距离较近的 Cache 体上发生,理想的迁移策略应该是采用最近最少使用 LRU (Least Recently Used)机制对体组内的Cache 行进行排序。但使用这种策略,Cache 行迁移将带来较大的交换传送开销。在 DNUCA 中采用了一种思想类似于冒泡排序的升级替换算法来解决这个问题,使迁移只在相邻的 Bank 间发生,以此来降低替换时的开销,经过动态预热后,可以获得近似于 LRU 算法的效果。在 NUCA 之后,Beckmann 曾等将单处理器环境下的 DNUCA 技术扩展到多核处理器中,然而性能并不理想。原因在于多核环境中的多线程应用程序存在大量的核间数据共享,在多个处理器内核来回拖动效应下,共享数据将会迁移到距离所
文档评论(0)