内容提示:由于有限的内存带宽和不适合超级计算机的内存管理方案,采用更多内核的高性能计算机的性能没有提高,甚至还下降了,特别是对于信息学的数据密集型应用程序的性能更糟糕。
由于没有其它方法进一步改善处理器性能,芯片厂商把未来的赌注押在了在同一个芯片上放入越来越多的处理器内核。芯片厂商称多核处理器是行业未来。新墨西哥州的Sandia国家实验室的研究人员模拟了未来的配置8个内核、16个内核和32个内核的处理器的高性能计算机。这个模拟的结果令人难受。由于有限的内存带宽和不适合超级计算机的内存管理方案,采用更多内核的高性能计算机的性能没有提高,甚至还下降了,特别是对于信息学的数据密集型应用程序的性能更糟糕。对于这个实验室的国家安全功能来说,数据密集型应用程序越来越重要。高性能计算历史上重点用于解决解释物理系统的微分方程,如地球的大气层或者氢弹的裂变触发器。这些系统把自己分为许多网格,这样,物理系统在这种程度上就能够映射到处理器或者处理器内核的物理位置上,从而最大限度地减少移动数据中的延迟。
但是,重要的科学和工程问题(更不用说国家安全问题了)数量的增加是不同的。这些问题数据通用类型的信息学,并且包括计算在一个自然灾害期间运输网络可能发送什么事情,以及寻找预测恐怖主义袭击或者核扩散失败的方式。这些操作通常需要通过详审大量的信息数据库。
根据Sandia国家实验室的模拟,对于信息学来说,更多的内核并不意味着更好的性能。Sandia的计算、计算机、信息和数学主任James Peery说,超过8个内核之后,性能没有改善。在使用16个内核的时候,计算机看起来与2个内核的计算机一样。在过去的一年里,Sandia团队与芯片厂商、计算机设计者和高性能计算机用户广泛地讨论了这个结果。除非计算机设计师找到一个解决方案,否则,Peery和其他人都预计超级计算机程序员将关闭多余的内核或者使用多余的内核处理解决主要问题之外的辅助的事情。
这个难题的核心是所谓的内存墙:处理器能够操作数据的速度与处理器能够得到它需要的数据的速度之间的日益加大的差距。Sandia的高级技术人员Richard C. Murphy解释说,虽然每个处理器上的内核数量在增长,但是,芯片连接到计算机其它部分的连线数量没有增加。因此,让所有的内核都获得充足的数据是一个问题。在信息学应用中,问题更糟糕,因为处理器正在处理的数据和下一套数据所在的地方没有相互之间的物理联系。数据不是在隔壁的内核的缓存中,而是有可能在20米之外的一个机架的DRAM内存芯片中,并且需要离开那个芯片通过一个或者更多的路由器和光纤找到通向处理器的道路。
为了使事情重回正轨,美国能源部今年组建了高级架构和算法研究所。这个研究所在Sandia并且在田纳西州的橡树岭国家实验室,其工作是找出未来五年之十年将需要什么高性能计算机架构,并且帮助指导这个行业向那个方向发展。
Peery说,解决这个瓶颈的关键是把内存和处理器更紧密地(也许是更聪明地)结合在一起。因此,Sandia正在探索处理器上面的堆叠内存芯片的影响以便改善内存带宽。