消息

智能高速缓存

被称为“高速缓存”的本地记忆库的思考可以提高计算机芯片的性能,同时降低其能耗

拉里Hardesty · 2014年2月19日 · 麻省理工学院的新闻

电脑芯片继续变得更快,因为晶体管保持较小。但筹码本身就像以前一样大,因此数据在芯片周围移动,芯片和主记忆之间,必须立即旅行。随着晶体管获得更快,移动数据的成本变为比例,更严重的限制。

到目前为止,芯片设计人员通过使用“缓存” - 靠近存储常用数据的处理器的“缓存” - 小存储库来避免这种限制。但是处理器的数量 - 或“核心” - 每个芯片也在增加,这使得缓存管理更加困难。此外,随着核心的增殖,它们必须更频繁地共享数据,因此连接核心的通信网络也成为更频繁的LOGJams的站点。

在最近的两篇论文中,麻省理工学院和康涅狄格大学的研究人员为大规模多核芯片开发了一套新的缓存策略,在模拟中,显著提高了芯片性能,同时实际减少了能源消耗。

第一篇论文在最近的ACM/IEEE计算机体系结构国际研讨会上发表,报告平均提高了15%的执行时间和25%的能源节约。第二篇论文描述了一套互补的缓存策略,并将在IEEE高性能计算机体系结构国际研讨会上发表,报告显示分别提高了6%和13%。

多核芯片上的缓存通常按层次结构排列。每个核心都有自己的私有缓存,其本身可能有多个级别,而所有的核心共享所谓的最后一级缓存,即LLC。

芯片的缓存协议通常遵循简单但惊人有效的“时空局部性”原则。时间局部性意味着如果一个核心请求一个特定的数据块,它可能会再次请求它。空间局部性意味着如果一个核心请求一个特定的数据块,它可能会请求主存中存储在它附近的其他数据。

因此,每个请求的数据项都被存储在私有缓存中,以及与之相邻的数据项。如果它处于空闲状态,它最终会被最近请求的数据挤出,从私有缓存到LLC再到主存,直到再次被请求。

不同的笔画

然而,在某些情况下,时空局部性原则会失效。麻省理工学院电气工程和计算机科学系的研究生、两篇论文的第一作者乔治·库里安说:“一个应用程序可以长时间工作在几千字节或几兆字节的数据上,这就是工作集。”“应用程序没有表现出良好的时空局部性的一种情况是,工作集超过了私有缓存容量。”Kurian解释说,在这种情况下,芯片可能会浪费大量时间在缓存层次结构的不同级别之间循环交换相同的数据。

在去年介绍的论文中,Kurian;他的顾问Srini Devadas,MIT电气工程和计算机科学的Edwin Seribley Webster教授;康涅狄格大学电气电脑工程助理教授和Devadas实验室的前邮局的电气计算机工程助理教授卓越,提出了一种破坏该问题的硬件设计。当应用程序的工作组超出私有缓存容量时,MIT研究人员的芯片将在私有缓存和LLC之间拆分它。无论多久都被要求,它都会保持在任何一个地方的数据,但是防止了很多毫无终体的交换。

相反,如果在同一数据上工作的两个核心不断通信,以便保持其缓存的副本一致,则芯片将在LLC中的单个位置存储共享数据。然后,核心将进入访问数据,而不是通过更新堵塞网络。

新论文审查了相反,两个核心在相同的数据上工作但仅通信的情况。LLC通常被视为单个大存储库:存储在其中的数据仅存储一次。但在物理上,它在离散块中分布在芯片上。Kurian,Devadas和Khan开发了一个可以将这些块的第二个电路实际上,作为私人缓存的扩展。如果两个核心正在使用相同的数据,则每个核心将在LLC的附近块中收到自己的副本,从而实现更快的数据访问。

岗亭

两篇论文中呈现的系统需要主动监视芯片的操作 - 例如,当工作集超过一些绑定时,或者当多个核心访问相同的数据时。在每种情况下,该监控需要一点额外的电路,相当于LLC区域的约5%。但是,Kurian辩称,因为晶体管保持缩小,并且沟通不跟上,芯片空间并不像最小化数据传输那样关注的关注。Kurian,Devadas和Khan目前正在努力结合两个监控电路,使单个芯片可以部署两篇论文中报告的缓存管理策略。

“这是一项伟大的工作,”西北大学电子工程和计算机科学助理教授尼科斯·哈达维拉斯(Nikos Hardavellas)说。“它无疑推动了技术的进步。”Hardavellas解释说,现有的缓存方案确实区别对待不同类型的数据:例如,它们可能对程序指令和文件数据使用不同的缓存策略。“但如果你深入研究这些类别,你会发现数据的表现可能非常不同。在过去,我们不知道如何有效地监控数据的有用性。(新的)硬件设计让我们能够做到这一点。这是贡献的重要组成部分。”

此外,Hardavellas说,“两种不同的设计似乎是协同工作的,这将表明两者结合的最终结果将比单个部分的总和更好。”至于这项技术的商业化,“我看不出有什么根本理由不这样做,”他说。“它们看起来是可行的,它们看起来足够小,而且给我们带来了巨大的好处。”


能源效率
分享:
新闻查询:miteimedia@mit.edu.