MIT缓存管理方案新研究:选择性存储器Banshee

科技
亿欧
申达
2017-10-23 19:07
[ 亿欧导读 ] 随着处理器晶体管数量的增加,处理器和主存储器之间缓慢的连接已经成为提高计算机性能的主要障碍。最近,来自麻省理工学院、英特尔和苏黎世ETH的研究人员提出了一种新的缓存管理方案,将DRAM缓存的数据速率提高了33%到50%。
芯片处理器,芯片,处理器,DRAM,微处理器,电路板 图片来自网络

在传统的计算机中,微处理器安装在一个小的电路板上,其底部有一个电导线。这个芯片会嵌在电脑的主板上,以使数据在处理器和电脑的主要存储库之间穿梭。

随着处理器晶体管数量的增加,处理器和主存储器之间的相对缓慢的连接已经成为提高计算机性能的主要障碍。因此,在过去的几年里,芯片制造商开始将传统上作为主存储器的动态随机存取存储器(DRAM)封装在芯片上。

这种存储器是一种高容量缓存,能够快速地存储本地常用数据。但是DRAM从根本上不同于通常用于芯片缓存的内存类型,而且现有的缓存管理计划并没有有效地使用它。

在最近的IEEE/ACM国际微结构研讨会上,来自麻省理工学院、英特尔和苏黎世ETH的研究人员提出了一种新的缓存管理方案,该方案将内包DRAM缓存的数据速率提高了33%到50%。

麻省理工学院计算机科学与人工智能实验室的博士后、及该论文的第一作者Xiangyao Yu说:“这个封装的DRAM的带宽可能比非封装的DRAM高5倍。且事实证明,以前的缓存管理计划花费了太多的流量来访问元数据或移动数据,但却不是真正想要的数据,而且它们浪费了大量的带宽。”

缓存散列

在现代计算机芯片中,当处理器需要特定的数据块时,它就会检查其本地缓存,以查看数据是否已经存在。这些缓存数据都会被标记其所来源数据的地址,即元数据。

一个典型的芯片缓存可能有足够的空间用于64000个数据项,且每个数据都会贴上元数据变迁。显然,一个处理器并不想每次都从64000个条目中搜索自己感兴趣的数据。因此,缓存系统通常使用所谓的“哈希表”来组织数据。当一个处理器使用特定的标签来寻找数据时,它首先将标签反馈给一个哈希函数,该函数以制定的方式处理,并产生一个新的数字,而这个数字正是用于指定数据表中所查找数据的位置。

哈希函数的意义在于,非常相似的输入产生截然不同的输出。这样,即使处理器严重依赖于来自狭窄地址范围的数据,比如在一个大图像的一个部分执行复杂的操作,数据也会在缓存中间隔开来,这样就不会在单个位置造成数据阻塞。

此外,哈希函数也可以为不同的输入产生相同的输出,即如果用户想处理各种可能的输入,正如缓存方案一样,那么就更有可能产生相同的输出。因此,缓存的哈希表通常会在相同的散列索引下存储两个或三个数据项,且搜索一个给定标记的两个或三个条目要比搜索64000条目便捷得多。

DRAM和SRAM

DRAM和SRAM(静态随机存储器)在标准缓存中使用的技术有哪些区别呢?SRAM对于其存储的每一个数据都会使用6个晶体管,而DRAM只使用一个,这意味着其空间效率更高。但SRAM有一些内置的处理能力,而DRAM则没有。如果处理器想要在SRAM缓存中搜索一个数据项,该处理器会将标签发送到缓存中,然后,SRAM电路本身将标签与存储在响应的散列位置的数据项标记进行对比,如果匹配,则返回相关数据。

相比之下,DRAM支撑传输请求的数据。因此,处理器将请求存储在给定的散列位置的第一个标记,如果匹配则发送第二个请求以获取相关数据。如果不匹配,它将请求第二个存储标记,如果还不匹配,将发送给第三个,知道找到它想要的数据,或者放弃,然后进入主内存。

封装的DRAM可能有很多带宽,但这个过程会占用其带宽。Xiangyao Yu及其同事通过对大多数现在芯片中内存管理系统的微小修改,从而避免了所有的元数据传输。

任何运行在计算机芯片上的程序都必须管理自己的内存使用,而且通常让程序像拥有袭击的专用内存存储一样方便。但实际上,多个程序通常同时运行在同一芯片上,他们同时将数据发送到主内存。因此,芯片中的每一个核心或处理单元通常都有一个表,将单个程序所使用的虚拟地址映射到存储在主内存中的数据的实际地址。

该新系统被称为Banshee,且在表格中的每个条目中添加了3 bits的数据。其中一个表示虚拟地址中的数据是否可以在DRAM缓存中找到,而另外两个则指示其位置相对于具有相同哈希索引的任何其他数据项。

Xiangyao Yu表示:“在条目中,你需要有物理地址,虚拟地址,以及一些其他数据。而这些加起来已经差不多100 bits了。所以三个额外的bits已经是非常小的了。”

标记缓冲区

但这种方法存在一个问题,这也是Banshee必须解决的问题。如果一个芯片的核心将一个数据项拖放到DRAM缓存中,那么其他的内核就不知道了。每次向芯片内核发送消息时,每次更新缓存都会消耗大量的时间和带宽。因此,Banshee引入了另一个称为标记缓冲区的小电路,在那里,任何给定的核心都可以记录它缓存的数据项的新位置。

任何核心的请求都通过标记缓冲区发送到DRAM缓存或主内存,这将检查所请求的标记是否已被重新映射。只有当缓冲区填满时,Banshee才会通知所有的芯片内核,它们需要更新其虚拟内存表。然后它清除缓冲区,并重新开始。

缓冲区很小,只有5千字节,因此它的增加不会占用太多芯片内存。研究人员的仿真结果显示,每次内存访问所需的额外地址查找所需的时间与Banshee所节省的带宽相比是微不足道的。


人工智能——2017年最火热的标签。对于众多AI试水者,你知道如何平衡技术与需求吗?你知道如何利用政策事半功倍吗?你知道如何寻找公司的投资伯乐吗?12月14日,「2017亿欧创新者年会·AI产业应用峰会」,我们将邀请众多投资人、创业者、AI领域精英共同探讨,不仅是AI+产业+应用,这里是需求方和技术提供方的沟通平台,是政策专家与企业方的交流平台,是投资人与企业方交流的互猎平台,是应届毕业生和企业方的对接平台。多维度,更深度,来这里实现属于你的AI!

AI产业应用峰会


【2017亿欧创新者年会暨第三届创新奖颁奖盛典】将于12月13日-14日在北京中国大饭店举行。来自全球的100+名国内外顶级大咖、300+家主流媒体、4000名合作伙伴与行业精英共同参会,共话产业创新的未来与发展。邀您共同参与!

猛戳链接查看活动详情:http://www.iyiou.com/post/ad/id/420

770-160.jpg


版权声明

凡来源为亿欧网的内容,其版权均属北京亿欧网盟科技有限公司所有。文章内容系作者个人观点,不代表亿欧对观点赞同或支持。

打赏支持

5
5
10
20
50
80
100
其它金额
任意赏:

参与评论

相关文章

关闭

申达

亿欧作者,关注黑科技,微信号:shendamila 

117篇文章  |  338,837次浏览

  • 精彩推荐
  • 全球移动营销峰会
  • 早稻
  • 宜和宜美链接未来家
  • TechCrunch上海2017国际创新峰会
  • 第十七届中国股权投资年度论坛
  • 创业邦100未来领袖峰会
  • 中国第十届高成长连锁行业峰会
  • 2017第二届全球投资大会

快来扫描二维码,参与话题讨论吧!

发送验证码
发送验证码
发送验证码
找回密码失败,请选择人工找回
如果你遇到下面的问题

我在注册/找回密码的过程中无法收到手机短信消

我先前用E-mail注册过亿欧网但是现在没有办法通过它登录,我想找回账号

其他问题导致我无法成功的登录/注册

请发送邮箱到service@iyiou.com,说明自己在登录过程中遇到的问题,工作人员将会第一时间为您提供帮助

账号密码登录

乐乐呵呵@微信昵称

该亿欧账号尚未关联亿欧网账户

关联已有账户

曾经使用手机注册过亿欧网账户的用户

创建并关联新账户

曾用微信登录亿欧网但没有用手机注册过亿欧的用户

没有注册过亿欧网的新用户

先前使用邮箱注册亿欧网的老用户,请点击这里进入特别通道
意见反馈
意见反馈
亿欧公众号 亿欧公众号
小程序-亿欧plus 小程序-亿欧plus
返回顶部