您当前的位置:首页 > 指南 > 正文

多核芯片中的每个核心通常都有两级私有缓存

导读: 几十年来,计算机芯片通过使用高速缓存,小型本地存储库来存储经常使用的数据,并减少与片外存储器的时间和能量消耗通信,从而提高了效率。...

几十年来,计算机芯片通过使用“高速缓存”,小型本地存储库来存储经常使用的数据,并减少与片外存储器的时间和能量消耗通信,从而提高了效率。

今天的芯片通常有三个甚至四个不同级别的缓存,每个缓存都比上一个更宽敞但更慢。缓存的大小代表了不同类型程序需求之间的折衷,但它们很少适合任何一个程序。

麻省理工学院计算机科学与人工智能实验室的研究人员设计了一个系统,可以即时重新分配缓存访问,创建适合特定程序需求的新“缓存层次结构”。

研究人员在模拟具有36个核心或处理单元的芯片上测试了他们的系统。他们发现,与性能最佳的前辈相比,该系统将处理速度提高了20%至30%,同时将能耗降低了30%至85%。

“你想要的是采用这些分布式物理内存资源并构建特定于应用程序的层次结构,以最大限度地提高特定应用程序的性能,”电气工程和计算机科学系(EECS)助理教授Daniel Sanchez说。集团开发了新系统。

“这取决于应用程序中的许多内容。它访问的数据大小是多少?它是否具有分层重用,以便从逐渐变大的内存层次结构中受益?或者是通过数据结构进行扫描,所以我们拥有单一但非常大的水平会更好吗?它多久访问一次数据?如果我们只让数据下降到主内存,它的性能会受到多大影响?所有这些都有不同的权衡。“

桑切斯和他的合着者 - 麻省理工学院EECS的研究生Po-An Tsai和工作完成时是麻省理工学院研究生的Nathan Beckmann,现在是卡内基梅隆大学的计算机科学助理教授 - 介绍了新的系统,称为Jenga,上周在计算机体系结构国际研讨会上。

留在当地

在过去10年左右的时间里,计算机芯片处理能力的提高来自于增加更多内核。今天大多数台式电脑的芯片都有四个核心,但是几家主要的芯片制造商已经宣布计划在明年左右转向六核,而16核处理器在高端服务器中并不少见。大多数行业观察家认为核心数量将继续攀升。

多核芯片中的每个核心通常都有两级私有缓存。所有内核共享第三个缓存,实际上它被分解为散布在芯片周围的独立存储体。一些新芯片还包括所谓的DRAM缓存,其被蚀刻到安装在第一芯片顶部的第二芯片上。

对于给定的核心,访问共享高速缓存的最近存储库比访问更远的核更有效。与今天的缓存管理系统不同,Jenga区分构成共享缓存的独立内存库的物理位置。对于每个核心,Jenga知道从任何片上存储器组中检索信息需要多长时间,这一措施称为“延迟”。

Jenga建立在Sanchez集团的早期系统之上,称为Jigsaw,它也可以动态分配缓存访问权限。但是Jigsaw没有构建缓存层次结构,这使得分配问题变得更加复杂。

对于在每个核心上运行的每个任务,Jigsaw必须计算延迟空间曲线,该曲线表示核心可以通过大小的缓存预期的延迟。然后,它必须聚合所有这些曲线,以找到最小化整个芯片延迟的空间分配。

表面曲线

但是,Jenga必须同时评估两层缓存的延迟和空间之间的权衡,这将二维延迟空间曲线转换为三维表面。幸运的是,这个表面看起来相当平滑:它可能起伏不定,但它通常不会有突然的,狭窄的尖峰和下降。

这意味着表面上的采样点可以很好地了解整个表面的外观。研究人员开发了一种巧妙的采样算法,适用于缓存分配问题,系统地增加了采样点之间的距离。“这里的见解是具有相似容量的缓存 - 比如100兆字节和101兆字节 - 通常具有相似的性能,”Tsai说。“因此,几何增加的序列可以很好地捕捉到全部图像。”

一旦推断出表面的形状,Jenga就会找到最小化延迟的路径。然后它提取由第一级缓存贡献的该路径的组件,这是一条二维曲线。那时,它可以重用Jigsaw的空间分配机制。

在实验中,研究人员发现这种方法产生的总空间分配平均在3-D表面全面分析产生的空间分配的1%之内,这将是非常耗时的。采用计算捷径使Jenga能够每100毫秒更新一次内存分配,以适应程序内存访问模式的变化。

结束

由于DRAM缓存的日益普及,Jenga还具有数据放置过程。由于它们接近访问它们的核心,因此大多数缓存几乎没有带宽限制:它们可以提供和接收与核心需求一样多的数据。但是发送更长距离的数据需要更多的能量,并且由于DRAM高速缓存是片外的,因此它们具有较低的数据速率。

如果多个内核从同一个DRAM缓存中检索数据,这可能会导致引入新延迟的瓶颈。因此,在Jenga提出一组缓存分配之后,内核不会简单地将所有数据转储到最近的可用内存库中。相反,Jenga一次只能分析数据,然后估计对带宽消耗和延迟的影响。因此,即使在芯片级高速缓存重新分配之间的100毫秒间隔内,Jenga也会调整每个内核为分配给它的内存库提供的优先级。

“多年来,在设计缓存层次结构的正确方法上已经做了大量工作,”威斯康星大学麦迪逊分校计算机科学教授戴维伍德说。“以前的一些方案试图对层次结构进行某种动态创建.Jenga的不同之处在于它真正使用软件来试图描述工作负载是什么,然后在两者之间进行资源的最佳分配。竞争过程。我认为,这基本上比人们以前做过的更强大。这就是为什么我认为它真的很有趣。“


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 验车时间规定最新 验车时间规定

下一篇: 魔兽世界阴影世界 阴影世界任务)



推荐阅读