周志强曾在IBM任职18年,专攻HPC相关产品和项目,后来因System X来到联想,仍然继续着HPC的研发和推广工作,对于HPC有着长期的实践经验和理论认识。在访谈中,周志强谈到了HPC技术的演变、应用场景、可能的发展突破口,以及大数据、云计算与HPC互相的影响关系等,观点独到,字字珠玑,给人不少启发和思考。
下面,我们继续直接将嘉宾观点呈现给读者,来看看周志强怎么看待HPC的现状和未来发展前景。
01
Oct/2015
HPC在几十年的发展过程中,有过不同的代表技术,比如向量计算机、多处理器共享内存的HPC,以及用多个节点构建的集群系统。从目前来看,因为各种各样的原因,向量计算机和纯内存共享的HPC系统,逐步都被淘汰了,现在集群架构是主流,而且具有绝对的统治地位,基本上90%的HPC都是这个架构。
未来是否还会有新的技术来代替集群架构呢?
应该有,但我们现在还没有看到。虽然我们有人在研究虚拟的内存共享等新的协议,或者说下一代的HPC,但是有没有一种新的革命性的架构已经证明了它比现有的集群架构更优越呢?从目前来看,我们还没有发现。
所以在可预见的一段时间里,我们要做的事情就是把现有的架构做好,增加单节点的能力,扩大节点数量等。当然,从表面上看,也就是所谓的CPU叠加、规模叠加等。但底层所代表的意义是不一样的。
02
Oct/2015
HPC这种计算机技术是以硬件为主的,虽然可能包括一些基础的系统软件,但这不是应用软件的概念;另一方面,程序的运行速度是否够快,不仅取决于硬件,还取决于软件程序。毕竟,软件的质量决定了能发挥出硬件多少的能力。所以,有些人提到的应用的优化,不是由HPC厂商来进行的,而应该是使用者或者应用编写者的工作。
但我们说一个没有做任何优化的HPC系统和一个设计合理的HPC系统,在性能上很容易有10%~20%的差距,这个优化是指什么呢?
首先是架构本身的优化。一个提供HPC产品的厂商,他所提交给客户的系统、设计、方案本身应该是优化的。因为一旦依照架构、方案设计、生产出机器设备,就很难再进行改变或弥补,这直接决定了客户的投入和产出问题。
其次是配置的优化。HPC产品有很多参数,在同样的成本限制条件下,怎么选择参数并进行软、硬件的配置存在着优化的空间。通常在客户的程序和应用不变的情况下,我们优化过的系统可能会给客户带来10%~20%的性能提升或使用管理上的方便。
不过需要注意的是,HPC的应用特点千差万别,在架构和配置方面的优化也要根据用户应用的不同进行,所以有时HPC厂商也要在具体工作时,与客户协作来对应用进行优化,所以整体而言优化不单独是HPC厂商或用户某一家的事情。
03
Oct/2015
比如IBM的NextScale就是针对HPC市场特意制造的一种设备,去掉一些在HPC了用的不多的功能,从而获得更小的体积。那我们是否能在保留所有功能的同时,做出一个更小的机器呢?现在看起来还不行,但未来或许可以。
比如Intel推出的基于MIC众核架构的Xeron Phi协处理器,他的发展目标是希望能用众核的方式做到不需要主处理器,从而自己实现、完成处理器的功能。如果能做到这一步,那么未来一个芯片就可以做到100个甚至更多的核,再把InfiniBand等种接口做到处理器芯片里,HPC的节点“盒子”的体积肯定会大大变小,当然集群的性能也会大大提高。
但这种东西应该就是针对于HPC而设计、专用的,因为去运行数据库等商业软件时,效率明显会很低。所以我们说会有专门针对HPC市场的设备出现,但这应该只是当市场足够大时,一种产品或者商业策略上的调整。
04
Oct/2015
所有的产品都是由两个因素决定的,一是市场需求,另一个是技术。有需求但是技术无法满足,就做不了;有技术但是市场不需要也没人去做。对公有云里提供的HPC也是如此。
云计算里提供HPC服务,说明有着这样的用户,对突发性的计算能力有需求。比如一个动画公司,接了一个单,要在三个月之内以很大的计算能力来完成动画的制作,当然在三个月之后他就不需要这些能力了。那怎么办?购买设备来维护的话,成本很高,这时候就可以到云服务提供商处申请一些资源。而如果一个企业7*24小时都要开机运行,每天都需要使用这种计算能力,那是否选择云来提供这种高计算能力,只不过变成了谁来维护的问题。
所以有云计算服务商提供这种服务,说明了市场需求的存在。但这种服务是否能快速发展,还取决于多个条件,比如满足这种需求时所投入的成本最购销,获得收益最够高等等。当然还有其他问题要考虑,比如HPC数据量通常都比较大,往来不好的话,传输数据都要花费很多时间,这样不行;另外,加密的要求,管理制度的要求,这些也都会制约在云上使用HPC的需求。
05
Oct/2015
云计算、大数据这几年很火,他们的发展会对HPC产生影响吗?
其实这个问题的方向反了,应该问HPC还能对大数据等带来多少推动。大数据技术其实来源于HPC,所以它不大可能去反过来影响HPC。
HPC永远在用最新、最好的东西,尤其是在高端系统方面。简单来说,在现有的架构不变的情况下,为了把节点做得更强大,首先CPU要不断发展,集成度更高、更节能,所以芯片的制程工艺可能会进一步往11纳米甚至7纳米发展,然后还会有3D组装技术的使用等;单个节点增强之后,就会对节点之间的数据通信能力提出进一步要求,从而对网络的发展起到推动作用等等。
所以说,HPC是很多新技术的试验场,试验出的新产品,好用、能用的产品,通常会再推广到其他领域,HPC的发展,也会进一步推动大数据的快速发展。
06
Oct/2015
最后说一下,如果我们要谈HPC的普及和使用情况,不能脱离用户的具体需求来说。高端的HPC应用需要积累,一方面是技术的积累,另一方面则是经验的积累。比如目前国内对计算规模要求比较大的气象和石油勘探行业,假如他的程序在一千个核上能够运行得很好,现在有了一万个核是不是就一定能运行得更好呢?不一定,这个要看应用的架构设计能否很好地考虑到了资源扩展的情况,并且能够利用更多的资源。
从目前来看,国内石油勘探的用户现在的资源使用规模基本上在几百个节点的水平,如果忽然得到两千个节点的资源,而应用对资源调度的能力又跟不上的话,相应的石油勘探任务未必能完成;气象也是如此,即便在扩大网格之后,系统应用能够正常运行,还需要再花很长的时间在这个网格上去验证这个数据是否正确,效率未必能够得到极大的提高。
还有一个问题是,数据处理的整个周期还包括准备、预处理和结果输出等不同流程,如果我们仅是把数据处理,比如天气预报这一部分的时间缩短,而没有提高其他流程的效率,从整体上来看,效率提升还是有效,所以从应用的角度来看,我们要从整体来考虑HPC的意义。
|