科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>服务器频道>高性能计算-zhiding>从能源行业HPC应用 看HPC之优化思路

从能源行业HPC应用 看HPC之优化思路

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

近日,英特尔召开了以石油/天然气、电力等能源行业为主的高性能计算(HPC)研讨会。在会上,英特尔邀请了各路专家分享自己有关HPC方面的心得与想法。

来源:ZDNet 2010年07月02日

关键字:HPC Intel

近日,英特尔召开了以石油/天然气、电力等能源行业为主的高性能计算(HPC)研讨会。在会上,英特尔邀请了各路专家分享自己有关HPC方面的心得与想法。而最吸引与会者的,无疑是专门从英特尔法国公司赶来的,能源领域HPC专家Philippe Thierry先生,它所做的报告是针对石油勘探的HPC系统优化,但笔者认为,对于其他领域的HPC系统的构建与应用,都是有很好的指导意义。

地质能源勘探

我们可以把石油、天然气看作为地质能源,而如何通过技术手段来探明地下的能源储备情况,一直是地质能源行业的头等大事。目前主流的做法就是人为的制造相应规模的地震(视要勘探地区面积与深度),同时在相应的地层遍布若干震波收集点,由于不同材料的地质环境对地震波的影响是有规可循,所以借助这一点,通过相关的算法,即可以通过对地震波的传递演算来“计算出”地质结构,从中找出我们所需要的能源位置,而这种计算量无疑是异常庞大的,因此HPC在能源行业的应用也就相当普遍。

Philippe Thierry先生目前在英特尔公司内由Lance Shuler和Paresh Pattani领导的能源及高吞吐计算团队任高级主管工程师,他负责为能源、制造业和公共学术领域的高性能计算用户的科学计算任务提供支持。他的近期工作是为当前和未来计算平台上的高性能计算提供性能剖析和调优,也提供基于应用行为的超级计算机设计咨询, 并为此协调法国的OEM厂商的硬件设计技术规范。他的长期研究领域是在巴黎刚成立的法国原子能署(CEA)和根茨和凡尔赛大学亿亿次实验室里研究性能预测和面向百亿亿次(Exascale)计算的应用行为模型上。所以他在能源相关的HPC应用与优化方面,有着丰富的经验。

菲利浦•蒂埃里先生(Philippe Thierry)专程从法国赶来,介绍自己的HPC优化经验

作为HPC领域的处理器与IA编程架构的领导者,英特尔在全球与多个国家的能源企业与机构保持着密切的合作关系,为他们提供最新的测试平台,同时也帮助他们进行HPC相关应用的开发与优化

而能源勘探技术在最近40年间也有着飞速的进步,从最早的2D数据采集到3D采集,从2D成像到3D成像,与之相对应的就是HPC系统的计算能力也在以超越摩尔定律的速度提高着,在最新一期的HPC-TOP500强的榜单中,基于英特尔处理器的系统套数已经达到了408套,比例为81.6%

HPC系统如何优化性能?——理论分析

接下来,Philippe Thierry的重点放在了HPC系统的性能优化上。他表示,其实性能优化的原理是很简单的,但越是简单的原理,实践起来往往也是最为复杂的。但这种事急不得,只能按部就班的一步步进行。

在Philippe Thierry看来,性能优化的目标就是保持CPU以最有效率的模式忙于工作,这里有两个重点——“最有效率”和“忙”,前者主要是与编程相关,需要尽可能的根据应用的特性进行优化,并尽量采用CPU加速指令集,而后者则在于让整体的硬件系统都能跟得上CPU的步伐,而不是让CPU经常处于等待I/O数据交换的状态——忙不起来

Philippe Thierry非常强调内存的重要性,因为它是CPU与外界沟通的第一道门槛,在某种意义上讲,内存是CPU与I/O设备沟通的一个巨大的缓冲区,是最为繁忙的数据跳转站,而如果想要充分发挥CPU的浮点运算性能,充足的内存带宽是必不可少的

Philippe Thierry以至强5500系统举例,双CPU的总内存带宽最高约为64GB/s(以DDR3-1333计算,传输率为1333MHz,每个传输周期8个字节,第颗CPU有三个内存通道,所以就是1333MHz [传输率]x 8[每周期传输字节数] x 3[每颗CPU的内存通道数量] x 2[两颗CPU]),而实际的STREAM内存带宽将近为42GB/s,这相对于以往传统的SMP架构已经有了很大的提升,但对于发挥现有处理器的浮点运算能力还是有差距的。为此,Philippe Thierry表示,英特尔将不断致力于内存系统性能的提升。

在另一方面,专用的加速指令集也在发挥着越来越重要的作用,而用好这些指令集,往往也会起到事半功倍的效果

HPC系统如何优化性能?——寻找瓶颈

虽然理论上的分析有助于我们找准优化的方向,但显然很不具体,而且每种HPC应用也都有自己的特点,为此我们有必要去找找现有HPC体系中的一些瓶颈,从而能有针对性的去解决问题。

Philippe Thierry指出,虽然并行计算是HPC的大势所趋,但是就一个整体系统来说,仍然有很多的问题需要面对,这不仅仅是硬件或是软件的问题,是一个系统工程的问题

Amdahl定律解释了一个重要的机理,那就是某些必然无法并行处理的阶段将会影响到整体的运行效率,进而将影响最终的性价比

Philippe Thierry以粉刷篱笆的例子来具体解释了串并行之间的关系,当只有一个人在粉刷篱笆时,可以看作是单线程串行操作,此时它的个人效率就是100%,而当人数增加到10个人时,时间获得最多节省的是在粉刷阶段,10个人可以同时进行,但是在初期的准备阶段,比如要为每个人分配工具、原料等,由于人数增加,准备的时间反而超过了1个人的时候,最后的清理阶段也是如此,所以10个人最终获得的加速比并不是10,而是3.75,每个人的效率也从原来的100%下降到了37.5%。而当工人的数量提高到100个人时,粉刷阶段的用时进一步下降至1个人用时的1/100,但准备与清理的时间也相应提高,所以加速比只有4.8,每个人的效率也下降到4.8%。

从对比中可以看出来,从单人增加到10人时,总用时从12小时下降至3.2小时,而从10人增加到100人时,时间只缩短了0.7小时,但你所需要付出的成本则增加了10倍。

Philippe Thierry强调,并行计算是大势所趋,但如果解决不好串并行的关系,那么可能并不能发挥很好的效果,可能为了提升10%的性能,而付出10倍的努力。

HPC系统如何优化性能?——具体实现

当我们了解了一些可能影响到最终性能表现的关键点之后,就可以尝试进行系统的优化,而在这里Philippe Thierry给出了自己的经验与方法。

第一步就是从串行入,通过反复的调优来保证单线程的最佳效率,而且有必要借助SSE等CPU指令集,来获得更多的每周期指令执行数量

Philippe Thierry表示,HPC中的两种极端的情况分别是注重单线程处理能力的CPU密集型应用,一种则是注重多线程的大内存数据量密集操作,但实际的应用则多处在中间的位置,呈现串并混合的形态,但可以根据前面的经验从OpenMP——MPI分级的编程优化,而且还是要注意CPU指令集的运用

Philippe Thierry的另一个经验就是MPI的局部叠加,而不是一上来就是全局启动,从而可以在很大程度上降低系统的初始化的等待时间

Philippe Thierry在实践中发现,基于MPI的系统在初始化阶段会有较长的时间用于全局的通信互联,但这往往会浪费很多的时间,事实上可以通过局部先启动的方式(通过软件)进行叠加式的MPI沟通,比如把HPC计算节点分成若干个区域,一个区域一个区域的MPI启动、沟通再叠加进总体的计算池中,这样就变向提高了效率。

最后,Philippe Thierry谈到了设备的选型,这对于HPC的性能的影响是最直接的,不过Philippe Thierry将重点放在了头和尾,头就是CPU,尾则是存储I/O,新CPU的处理能力更强肯定不用说了,这应该是永恒不变的追求,而且现在基本上是CPU集成内存子系统,所以换了CPU基本也就决定了内存系统的架构,而目前内存的系统带宽已经有了长足的进步,随之带来的就是存储系统已经渐成瓶颈,所以在不断采用最新CPU以获得更好的处理性能时,也需要对存储I/O进行升级,它也将会让你的HPC系统的性能受益匪浅。

SSD无疑是未来HPC系统的一个首选,从数据传输能力来看,SSD(固态盘)已经目前占优,而在IOPS方面,SSD更是达到了HDD的百倍

英特尔基于双硬盘系统的HPC(逆时偏移计算)测试结果

英特尔基于双SSD系统的HPC(逆时偏移计算)测试结果,可以看出来采用了SSD之后,获得了1.6倍的加速,这是在没有做任何其他优化的平台上产生的结果,还是非常诱人的

当然,升级存储I/O能有多大效果,还要取决于HPC应用的类型,对于那些需要频繁的磁盘读写的应用,SSD的加盟无疑是雪中送碳的,而且它的节能效果也不可小看,这一点我们有机会在日后的文章中进行阐述。

未来的HPC会是啥样?

由于Philippe Thierry的长期研究领域是在巴黎刚成立的法国原子能署(CEA),和根茨和凡尔赛大学亿亿次实验室里研究性能预测和面向百亿亿次(Exascale)计算的应用行为模型上,所以他对未来20年的HPC发展也有着自己的看法,最后与大家做了分享。

未来有关地质勘探的计算模型与对计算资源需求的展望

遥看未来,地质勘探的计算机技术的发展还远没到头,随着一系列新的波形分析技术的采用,也意味着对HPC的计算能力需求的成倍提升,如果以现在的HPC所配置的计算资源为基准,那么到未来的3D FWI全波形反演计算时代,其所需要的计算资源将是现在的1000倍,若按当前的IT技术是完全不可想像的。

在英特尔的预测中,2019年将出现百亿亿次HPC系统(现在基本上达到了万万亿次机),而计算节点也将有重大的变革,否则以现在的功耗模式,到百亿亿次机时代,将会需要几座核电站为一个HPC中心供电(目前每TFLOPS[万亿次]的峰值性能所功耗是3000W,未来的目标是30W),而在能耗下降的同时,性能则呈现几十、几百倍的提高

而在软件层面,也将发生重大的变化,CPU内核的演变、系统互联的演变也将为未来的HPC编程打开新的一片天空

虽然Philippe Thierry的主要研究方向是能源领域的HPC应用,但我相信不同行业的HPC在很多方面是融会贯通的,这其中就包括很多基本的理论和原理,而通过举一反三,我相信Philippe Thierry的经验之谈对于其他领域的HPC应用与性能优化都是很有借鉴意义的。

邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅ZDNet技术邮件将是您的最佳途径之一。