【IT168 技术】高性能计算系统是目前十分先进的技术,其实就在我们平时的生活中。我们对高性能计算系统还不是很了解,下面就是对高性能计算系统的简单介绍。
1、前言
如果我们对高性能计算TOP500榜单进行预测一下会发现,速度突破100 Petaflops的系统最有可能在2016年出现。在过去的11年内,计算机系统的性能从Gigaflops(1986年推出的Cray 2)、到Teraflops(1997年推出的Intel ASCI Red)、再到Petaflops(2008年推出的IBM Roadrunner),性能增长了1000倍!虽然性能提升速度迅猛,但是高性能计算领域将越来越多地被高度计算密集型应用刷新纪录。这些应用来自不同的领域,例如量子物理学、气象预报、气候研究、分子模拟(计算化学元素的结构和组成、生物大分子、聚合体和结晶体)、物理模拟(例如飞机在风道中的飞行模拟以及核子融合研究)、密码分析学、以及针对石油开采的地震处理。对于以上大多数应用来说,只有Petaflops级的计算系统才能得出详细的计算结果。Exascale级系统有望在2019年出现。
那么在不久的将来会有怎样的发展趋势呢?现在和未来所有高性能计算系统的处理器需求带来的最大挑战就是:低成本、低能耗、并行程序支持的可用性以及对现有代码的有效运用。
2、大型集群中的多核系统
最近高性能计算系统方面的发展趋势表明了未来性能的增长将只通过增加系统规模来实现,例如使用大量组件,而不是提高单处理器的性能。
未来单CPU芯片将需要更高的主频,这就导致CPU能耗增加,产生更多热量和单CPU芯片的物理瓶颈,这些因素成为推动多核处理器技术的真正动力。从Terascale发展到Petascale级甚至更高的高性能计算系统意味着系统内的组件(内核、互连、存储等)数量也在迅猛增加。在不久的将来我们看到内核数在10万~100万甚至更多的多核集群系统。显然,这种高度并行的系统将带来并行软件开发、硬件容错和可靠性等诸多问题。
但是多核系统面对的真正难题是内存访问的带宽限制,因为一个多核芯片上的所有内核都在争夺内存访问路径。说到内存访问,一个很好的解决方案就是每个Flop和每个内核一个字节。如果这个解决方案可以实现的话,一个芯片有上百个内核都不成问题。Intel的Nehalem就是朝着这个方向,从每个Flop和每个内核半个字节。Intel最近展示了他们尚在实验室开发阶段、以未来为主导的原生80核芯片,预计计算性能将达到1 Teraflops。
未来的开发工作将主要集中在针对硬件架构满足并行程序的动态多核芯片,甚至未来还将开发具有矢量扩展的多核芯片。
有了所有这些多核技术,最终并行计算将普及开来。并行计算可以大幅提升高性能计算系统的速度、效率和性能,但是从1个发展到更多个中央处理单元(或者内核)并不是一件容易的事。
3、并行计算成为必需技术
硬件架构内计算组件的增加意味着我们要在应用程序的并行化上投入更多精力。向并行模式的转变并非易事,因为目前已经有很多项目是在单核技术基础上实施的。
并行计算机程序比连续计算程序更难编写,因为同步问题将带来不少潜在的软件漏洞,其中竞态条件是最常见的问题。在不同子任务之间的通信和同步往往是保持并行程序性能的最大挑战。众所周知,并行化工具的开发远远落后于高性能计算硬件。现在我们使用了很多不同的编程技术,例如将数据分区到CPU本地内存块中的数据定位技术。并行化将是每个基于多核系统的新程序开发的重中之重。嵌入现有的连续代码仍然是一个未解决的问题。
在一个芯片上增加更多内核的想法只有确保在并行编程上投入大量资金和精力的情况下才可能实现,否则超级计算机无法让应用运行得越来越快。正如我们在上面第2点中所说,未来性能增长的一个限制因素将是内存带宽。
4、GPU:既是多核的竞争对手,也是增值所在
GPU是多核CPU一个主要的竞争对手,它是一种用于科学计算的图形卡。关于GPU主要有四点:它的速度很快,而且会越来越快;它的价格很低;它的能耗更低,但是第四点也是它的瓶颈所在。
GPU仅适用于那些运行某种数值运算的任务。GPU是专门针对流程图、也就是处理数据流设计的。图形芯片可以被视作大量多核,在高端方面甚至有多达800个单元在同时运行,一个GPU集群内可能就有超过3000个。
以下的数字说明了GPU的巨大潜力。AMD和Nvidia最快的图形芯片已经达到了Teraflops层级,在这个范围内,普通的多核芯片的速度就显得相形见绌了。
GPU真正的问题在于,它不能像普通的x86、Sparc或者Power CPU那样进行编程。这就是为什么Nvidia GPU提供了CUDA技术的支持,CUDA提供了一系列用户层级的子路径,允许GPU利用标准C语言或者Fortran进行编程,无需使用专门针对图形的API。
东京技术研究所所使用的“Tsubame”超级计算机是TOP500榜单中第一个采用Nvidia Tesla图形芯片的系统。该系统集群有170个Tesla-S1070系统组成,理论性能可以达到170 Teraflops,实际系统可以达到7748 Teraflops,这在TOP500榜单(2008年11月发布的)上可以排到第29位。
未来的高性能计算系统中,硬件架构将成为一个由专门CPU和GPU类型内核所组成的系统。
但是就现在来说,高性能计算系统最具挑战性的问题就是能耗。未来,芯片制造商和数据中心经理必须解决能源效率和能耗的问题。