新方法缩短了多核芯片的执行时间并提高了效率

麻省理工学院的一项新研究描述了一种系统,该系统可以在多核芯片的存储库周围聪明地分配数据,平均可以将执行时间缩短18%,同时实际上可以提高能源效率。

电脑芯片的时钟已经停止增长。为了不断提高性能,芯片制造商为芯片提供了更多的处理单元或内核,它们可以并行执行计算。

但是,芯片精简计算的方式可能会对性能产生很大的影响。在2013年的一篇论文中,麻省理工学院电气工程和计算机科学系TIBCO创始人助理教授Daniel Sanchez和他的学生Nathan Beckmann描述了一种系统,该系统可以在多核芯片的存储库周围聪明地分配数据,将执行时间缩短了18%平均而言,实际上可以提高能源效率。

本月,在电气与电子工程师协会举行的国际高性能计算机体系结构国际研讨会上,桑切斯小组的成员被提名为最佳论文奖,这是因为该系统不仅可以控制数据的分布,而且还可以计算计算的扩展性。也一样在涉及64核芯片的仿真中,该系统将计算速度提高了46%,同时将功耗降低了36%。

桑切斯说:“现在,提高性能的方法是添加更多的内核并转移到大规模并行系统,我们真正看到了关键的瓶颈是通信和内存访问。”“在上一个项目中,我们所做的很大一部分是将数据放置在靠近计算的位置。但是,我们已经看到的是,如何放置计算对您将数据放置在附近的程度有重大影响。”

纠缠

联合分配计算和数据的问题与芯片设计中的规范问题之一(称为“布局和路线”)非常相似。布局布线问题始于一组逻辑电路的规范,其目标是将它们安排在芯片上,以使协同工作的电路元件之间的距离最小化。

这个问题就是所谓的NP难题,这意味着,就任何人而言,即使是中等大小的芯片,世界上所有的计算机都无法在宇宙的生命周期中找到最佳解决方案。但是芯片制造商已经开发出了许多算法,这些算法虽然不是绝对最优的,但在实践中似乎效果很好。

适应于在64核芯片中分配计算和数据的问题,这些算法将在几个小时的时间内得出解决方案。桑切斯(Sanchez)小组的另一位学生桑切斯(Sanchez),贝克曼(Beckmann)和蔡宝安(Po-An Tsai)开发了他们自己的算法,该算法可以找到比标准布局布线算法产生的解决方案高99%的解决方案。但是它以毫秒为单位。

桑切斯说:“我们要做的是首先将数据粗略放置。”“您以这样一种方式散布数据,即不会有过多的[内存]库过量使用,也不会在芯片的某个区域中存储所有数据。然后,您将了解如何放置[计算]线程,使其靠近数据,然后根据线程的位置来优化数据的位置。通过执行三步解决方案,您可以解决问题。”

Beckmann补充说,原则上可以重复该过程,并重新分配计算以适应数据放置,反之亦然。他说:“但是我们达到了1%,所以我们停了下来。”“实际上就是这样。”

保持标签

麻省理工学院的研究人员的系统监视芯片的行为,并每25毫秒重新分配一次数据和线程。听起来很快速,但是计算机芯片有足够的时间执行5000万次操作。

在该跨度期间,监控器会随机采样不同内核正在发送到内存的请求,并将其以缩写形式存储在其自己的内存电路中,以简化形式存储所请求的内存位置。

芯片上的每个内核都有自己的缓存-本地高速存储库,用于存储常用数据。监控器根据其样本估算每个内核将需要多少缓存空间,并跟踪哪些内核正在访问哪些数据。

显示器确实占据了芯片面积的大约1%,否则可以分配给其他计算电路。但是Sanchez认为,芯片制造商会考虑以很小的代价来获得显着的性能提升。

麦迪逊威斯康星大学计算机科学教授戴维·伍德说:“有一项大型的美国国家科学院研究,以及一项由DARPA赞助的(信息科学与技术)研究,它说明了通信主导计算的重要性。”“在其中一些研究中,您可以看到,将操作数移动到计算中所消耗的能量比实际计算本身要多一个数量级。在某些情况下,这是两个数量级。这意味着您不需要这样做。”

伍德说,麻省理工学院的研究人员“提出了一项似乎可以解决实际问题的建议,并且可以获得一些非常出色的结果。”“这是一个重要的问题,结果看起来很有希望。”

纸:通过计算和数据协同调度扩展分布式缓存层次结构

图像:麻省理工学院新闻办公室

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