异构计算:Exascale时代的新模式
全球高性能计算(HPC)市场进入千万亿次级时代已经有三年多了 (2008年6月至今),在这个十年结束之前, 有望大踏步迈进百亿亿次级时代。这种趋势是全球性的。IDC预计,由于百亿亿次级计算将极大地推动科学进步,增加各国的工业和经济竞争力,改善人们的生活品质,因此美国、欧盟、日本、中国、俄罗斯将在该领域展开激烈竞争,以便享受这种技术带来的巨大实惠。
但是很多高性能计算专家也指出,只有在现有技术和手段的基础上进行革命性的开拓,我们才能从容应对一系列巨大的挑战,从而在这个有限的时间框架内实现合理的百亿亿次级性能。这些挑战包括但不限于以下内容
系统成本(每秒浮点运算次数/美元)。二十年前,全球领先的高性能计算机构花了两千五百万至三千万美元,用于购置当时最强大的超级计算机。如今购买千万亿次级超级计算机的费用通常在一亿美元以上。早期千万亿次级系统的单台售价在5亿至10亿美元之间。这种成本的上升是难以维持的。人们欢迎任何可增加每秒浮点运算次数/美元比值的技术。
应用性能 (时间/解决方案)。随着高性能计算用户日益寻求为自己的应用寻求更新、更大的超级计算机系统,这种长期挑战也会随之增大。由于时钟频率难以继续增加,未来的性能提升潜力几乎都来自于日益增加的并行性,这进而导致了对百亿亿次级计算的巨大并行性需求。1GHz主频的机器每个时钟周期将需要执行十亿次独立运算。随着时间的推移,人们有望用这种级别的系统解决一些重大科学难题。此外,一些缺乏必要的单次运行并发性的其他问题就可以利用百亿亿次级计算系统来进行整体运算。比如,在解析每次运行操作时,汽车设计工程师们已经显著增加了参数运行的数量,这会发生于设计周期的分配阶段。
空间和计算密度需求 (每秒浮点运算次数/平方英尺)。一项全球性的IDC研究表明,绝大多数高性能计算机构都极大地受限于数据中心的占地面积。其中三分之二的机构正在计划扩建或修建新的高性能计算数据中心。其中一半的机构已规划,或已开始将高性能计算资源分布到多个地点。
计算和数据移动的能源成本 (每秒浮点运算次数/瓦,字节/瓦)。最后但同样很重要的是,功耗已成为一个显著的设计约束,并在总拥有成本中占有巨大的份额。随着电压的增长速度显著下降,当我们按照摩尔定律增加晶体管总数时,能耗不再是一个一成不变的制约因素,这使得如今的处理器受限于能耗,当每一代新的IC芯片面世时,情况也日益如此。
这个时代的计算性能主要取决于能源效率,因此系统设计方面的主要挑战就是在不过度降低性能的前提下让处理器和数据移动变得更加节能。高性能计算系统领域的巨大进步对能源效率提出了更高的要求。如今,规模最大的高性能计算数据中心所消耗的电能和一个小城市消耗的电能相当,多个千万亿次级和百亿亿次级数据中心所消耗的电能注定还要更多。尽管能源价格相对于2008年的高位水平已回落了不少,但是相比于历史水平它仍然显著增加了很多。这场“完美风暴”所暴露出来的另一个问题是,人们日益关注碳排放和全球气候变化,而高性能计算数据中心对能耗和冷却的要求却与日俱增。最终,一些规模最大的高性能计算中心会担心当地的电力公司未来可能不会全力满足其需求。其中有一家打算修建一个能耗为250兆瓦的数据中心,不过它恐怕无法使用电网,而必须要自行修建一个小型核反应堆。
异构计算模式
过去十年间,利用x86架构处理器的经济性优势的机群成为高性能计算系统的主流机型,全球高性能计算服务器市场的规模从2000年初的50亿美元倍增至2010年的95亿美元。主导模式已经变为通过部署包含更多标准x86中央处理器内核的规模更大的机群来达到更高的峰值性能。
但是从设计角度讲,x86处理器根本无法良好地处理所有的高性能计算应用,并且散热和功耗在数年前就已经制约了x86单线程的性能。人们日益认识到,虽然x86处理器路线图展现了巨大的进步潜力,但是单纯依赖x86处理器的模式无法有效地应对这十年中与实现百亿亿次级计算相关的挑战。 #p#page_title#e#
近年来,另一种可应对这些挑战的“异构计算”替代模式在市场上占尽先机。这种新兴模式通过加速器 (主要是 GPGPU,因此也可称之为图形处理器) 增加了x86中央处理器的效能,这样每种处理器就能专注于自己擅长的工作。图形处理器尤其擅长于处理海量代码和代码片段,体现出来了巨大的数据或线程级并行性。这就使得图形处理器继承了矢量处理器的衣钵,但是图形处理器更为出色,不仅具有更大的规模经济性,同时还更具竞争优势。IDC研究表明全球个人电脑市场仅对于独立显卡的需求规模就在2010年达到了大约40亿美元。
异构计算模式在整个高性能计算市场有着良好的表现。IDC针对高性能计算处理器的2008年全球研究表明,9% 的高性能计算机构正在已部署的系统内使用除了中央处理器之外的某种形式的加速器技术。IDC在2010年实施了一次相同的研究,发现情况已经显著不同。加速器技术已经有了很大的发展。此时,28% 的高性能计算机构已使用了加速器技术,该数据相比于两年前增加了两倍,几乎所有的加速器都是图形处理器。虽然图形处理器仅占异构系统处理器总量的5%,但是其数量仍在不断增加。
异构计算正在对高端高性能计算市场造成最大程度的冲击。图形处理器于2008年首次出现在全球超级计算机机构的500 强榜单中(www.top500.org)。截至2011年6月,该榜单上排名前十的系统中有三个已经部署了图形处理器。2011年10月,美国能源部的Oak Ridge国家实验室宣布打算将排名第一的美国超级计算机升级为后继系统 (“Titan”), 新系统将部署18000多颗x86中央处理器和同样数量的图形处理器,从而实现两至三百亿亿次的峰值性能。此后,德州高级计算中心宣布了建造异构超级计算机“Stampede”的计划,该计算机在最初阶段将集成峰值性能为两千万亿次的x86中央处理器和峰值性能为八千万亿次的MIC加速器处理器,从而实现一百亿亿次的峰值性能。
这些和其他领先高性能计算机构开始采用异构计算技术意味着图形处理器已经脱离了实验阶段,日益能够胜任一些面向生产的关键任务。
术语定义
机群:IDC 将机群定义为通过系统软件和网络技术集成为一个统一系统的一系列独立计算机。这样,机群并不基于新系统集成策略那样的新架构理念。
异构处理:异构处理和术语异构计算含义相同,都指在相同的高性能计算系统内使用了多种处理器,尤其是搭配中央处理器使用的图形处理器或其他加速器。
高性能计算:根据IDC的定义,术语“高性能计算”是指所有用来解决涉及大量计算或数据的技术计算服务器和机群。该术语指这些系统所在的市场和该市场内的相关活动。它包括技术服务器,但是不包括用于技术计算的台式机。
异构计算为百亿亿次级时代带来的实惠
异构计算模式所带来的高性能计算实惠是彼此相关的,这种模式解决了一些最重大的百亿亿次级计算难题:
系统成本。图形处理器和相关加速器可实现极高的峰值运算性能和线性测试标准的每秒浮点运算次数,带来更高的投资回报。目前,高性能计算机构目前都竭力在超级计算机500强榜单上占有一席之地,使用图形处理器可大幅提升每秒浮点运算次数,让线性测试标准的运算性能达到前所未有的水平。中国的“天河 1A”超级计算机就同时使用了x86处理器和图形处理器,并在2010年11月的500强榜单上独占鳌头。天河 1A 系统总共集成了14336颗x86中央处理器和7168颗图形处理器。英伟达当时表示,“如果仅使用中央处理器来实现同样高的性能的话,那么所需中央处理器数量将为50000颗,设备占地面积将多出一倍”。截至 2011年6月,该榜单上排名前五的系统中有三个都使用了图形处理器。如前文所述,2011年10月,美国能源部的Oak Ridge国家实验室宣布打算将排名第一的美国超级计算机进行升级, 新系统降部署18000多颗 x86 中央处理器和同样数量的图形处理器,从而实现两至三百亿亿次的峰值性能。 #p#page_title#e#
运算速度。高性能计算用户表示,图形处理器显著提升了运算性能,通常可将运算速度提高三至十倍,尤其适合处理代码或代码片段,具有极强的数据并行性。图形处理器已在实际的高性能计算应用领域发挥了重要作用,尤其对生命科学、金融服务、天然气和石油、产品涉及、制造业、数字内容创建和分配领域有着巨大的贡献。图形处理器特别适合进行分子动力学模拟,可推动多个应用领域的技术进步。
空间和计算密度。许多高性能计算数据中心曾一度接近能耗和空间极限,不过能实现极高峰值计算密度的图形处理器可有助于解决这个问题。目前的图形处理器通常包括512个计算内核,相比之下同时代的中央处理器仅有4至16个内核。但是,仍需注意的是,异构计算之所以具有异构特点是因为每种处理器,无论是中央处理器,还是加速器,均在问题求解过程中处理各自最擅长的工作。
能源成本。高性能计算系统规格的快速增大导致了对能源的需求急剧增加。如今规模最大的高性能计算数据中心所消耗的电力和一个小城市消耗的电力相当,百亿亿次级数据中心肯定会消耗更多电力,估计使用现有技术进行部署的话,能耗不会少于120兆瓦。能源部的百亿亿次级目标为将部署百亿亿次级系统所需的电能降低至20兆瓦以内。这样就可以避免能源成本过多增加,并确保能从当地电网获得足够的供电,也让数据中心的空间需求保持在合理水平。在异构计算配置中,图形处理器是中央处理器的重要补充,不仅显示出强大的数据并行性,同时还有助于显著增加能源效率,快速处理大量的代码子集
应用壁垒
图形处理器是一种相对较新的技术,至少在计算领域是如此,目前在应用过程中面临很多壁垒,IDC预计随着时间的推移,这些壁垒都会消除。高性能计算系统买家表示,在更大范围内部署图形处理器的过程中,他们遇到了以下主要壁垒:
编程便利性。虽然目前市面上有很多有用的工具,比如CUDA和OpenCL,且波特兰集团(Portland Group) 的基于指令的编译器可以将Fortran语言或C语言代码转换为支持图形处理器加速功能的代码,但是高性能计算系统买家和最终用户通常表示,相比于他们更熟悉的标准 x86 处理器编程方法而言,针对图形处理器进行编程仍然更具挑战性。随着编程人员对于图形处理器编程方法越来越熟悉,这种障碍可能也会随着时间推移而逐渐消除。如今,已经有450家大学提供GPU课程,而GPU编程方法也不断进步。
间接通讯。高性能计算系统用户经常遇到的另一个问题是,如今的图形处理器通常是作为协处理器部署,需要通过数据传输速度相对较低的PCI Express通道与x86处理器或其他基础处理器进行通讯,至少相比于在同一个模块上集成中央处理器和图形处理器的系统时便是如此。这种间接通讯会影响某些应用。它导致高性能计算系统用户在处理总量日益增加的应用代码时无法显著缩短运算时间。
等待下一代中央处理器。有些高性能计算系统用户认为,相比于花时间学习图形处理器编程方法并将他们自己的代码片段运行于图形处理器, 等待具有改进特性的下一代 x86 处理器是值得的。由于图形处理器是可用于高性能计算的相对较新设备,有些用户还担心,如果图形处理器架构沿着新方向发展,或者图形处理器只能在高性能计算市场上昙花一现,那么他们就必须花费极大精力重新编写代码。随着图形处理器在全球高性能计算市场上发挥越来越大的重要影响,且基于指令的图形处理器编程方法变得越来越普及,持拭目以待心态的用户的数量已经有所减少。
趋势
如今,异构计算模式通常会将图形处理器作为协处理器搭配x86处理器使用,这是一种重要的新模式,相比于单纯基于x86处理器的高性能计算系统,目前其影响力正在与日俱增。
图形处理器方兴未艾的另一个重要标志是与图形处理器相关的学术文献得到了广泛的传播。为业界提供并行编程培训材料的英伟达表示,57 个国家的478所大学目前已提供CUDA 并行编程语言课程, 其中包括麻省理工学院、哈佛大学、斯坦福大学、剑桥大学、牛津大学、印度理工学院、台湾国立大学、中科院。 #p#page_title#e#
如前所述(参考“异构计算为百亿亿次级时代带来的实惠”章节),异构计算对于大型高性能计算机构非常有吸引力,这些机构正在计算科学和工程学领域开展深度研究,并面临能耗和空间的限制。因此,异构计算作为在这个十年的末期将开始的百亿亿次级计算时代的新模式对它们来说尤其具有吸引力。与此同时,越来越多的小型研究机构和工业组织也逐渐开始使用集成了图形处理器的异构计算系统。
需要谨记的是,x86处理器技术仍有发展空间,截至2015年,即当前IDC高性能计算预测期结束之时,仍然会在收入方面保持在高性能计算领域的领先地位。此外,越来越多的供应商将会提供更为丰富的加速器技术,以满足客户的多种需求。
结论
如今的异构计算系统将图形处理器作为协处理器搭配x86处理器使用,它已成为全球高性能计算市场上的一种重要新兴模式,尤其可用于应对百亿亿次级计算时代的巨大挑战。IDC认为,异构计算对于实现这个十年的百亿亿次级计算目标不可或缺。
图形处理器正在迅速摆脱试验阶段,目前可用于执行更多面向生产的任务,比如地震数据处理、生物化学模拟、天气和气候建模、金融计算、计算流体动力学、数据分析领域的任务。仅在过去两年内,高性能计算机构对于图形处理器的应用量就已经增加了两倍。图形处理器对于这些机构在业界密切关注的超级计算机 500 强榜单上占据显著地位发挥着不可或缺的作用,并帮助实现了更多真实世界的研究成果。
一些全球领先的高性能计算机构已采用了异构处理模式,这表明该模式正在走出试验阶段,图形处理器已日益能够胜任一些面向生产的关键任务。
当图形处理器硬件和软件技术不断前进时,越来越多的大学生和其他人也开始学习如何利用图形处理器。随着越来越多的图形处理器可供全球最具创新力的科技、工程、计算领域专业人士使用,IDC 相信,图形处理器会在全球高性能计算市场发挥越来越大的作用,成为高性能计算生态体系内x86处理器的有力补充。