计算机芯片速度越来越快 因为晶体管不断变小芯片本身和往常一样大, 数据环片移动, 芯片和主内存间移动, 需要远行至远晶体管变快后,移动数据成本成比例地成为更为严格的限制
芯片设计师通过使用小内存库即存储常用数据处理器处理器-或芯片-数也在增加,这使缓存管理更加困难。并随着核心扩散,它们必须更频繁地分享数据,因此连接核心的通信网络也成为更频繁日志网站
在最近论文中,MIT和康涅狄格大学研究者开发出一套新缓存策略 大规模多核芯片模拟中显著提高芯片性能并同时实际减少耗能
第一篇论文在最近ACM/IEE计算机架构国际座谈会上提交,报告执行时间平均增益15%,节能增益25%第二论文描述一套辅助缓存策略,并提交IEE国际高性能计算机架构专题讨论会,报告增益分别为6%和13%
多核芯片缓存通常按层次排列每一核心自有私密缓存,它本身可能有数级,而所有核心分享所谓的最后级缓存或LLC
芯片缓存协议通常坚持简单但出人意料有效原理-即“空间局部性”。时空局部性表示,如果核心请求特定数据,它可能再次请求数据空间局部性表示,如果核心请求特定数据,它很可能请求在主内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内的其他数据
每一个请求数据项都存储在私密缓存中, 并存紧邻数据项如果它闲置,它最终会被最近请求的数据挤出,从私密缓存到LLC主内存下降层次-直到它再次请求
不同的纹理
有一些案例时空定位原理分解应用数千字节或兆字节数据长期工作, 即工作集,MIT电气工程计算机科学系研究生George Kurian说,假设应用不显示良好的时空位置 工作集超出私机容量 库里安解释道 芯片会浪费大量时间 循环交换数据
库里安去年论文Srini Devadas顾问 EdwinSeblyWebster教授MIT电气工程计算机科学康涅狄格大学电气计算机工程助理教授Omer Khan和前Devadas实验室后台博士介绍硬件设计以缓解这一问题当应用工作集超出私用缓存容量时,MIT研究芯片简单划分私用缓存和LLC存储于两地的数据都原封不动, 不论最近请求量多高, 防止大量无果互换
反之,如果用同一数据工作的两个核心持续通信以保持缓存副本一致性,芯片将把共享数据存储到LLC单地址核心取旋转访问数据, 而不是堵塞网络更新
新论文审查两个核心正研究同一种数据,但很少通信的情况LLC通常作为单大存储库处理:存储数据只存储一次物理上它分布在离散块芯片上库里安、德瓦达斯和汗开发出第二路 将这些块作为私有缓存扩展如果两个核心对同一数据展开工作,则每个核心将在邻近的LLC块内接收自己的拷贝,使数据访问速度快得多。
哨兵盒
双论文中显示的系统要求主动监控芯片运算-例如确定工作集超出某些约束值或多核访问相同数据时在每个案例中,监控需要多点电路,约相当于LLC面积的5%晶体管持续缩水 通信无法跟上 芯片空间不如数据传输最小化重要库里安、德瓦达斯和汗目前还合用两种监控电路,这样单片可部署两报所报缓存管理策略
详情访问http://web.mit.edu/newsoffice/
文件基础:M2M(机器对机)





