QQ在线客服

第六十六期 赵开勇:传统CPU架构不再是高性能计算唯一选择

赵开勇,香港浸会大学计算机在读博士,长期从事高性能计算领域研究,在CPU、GPU异构计算方面有多年的研究经验。浪潮高性能计算顾问,组织参与国内多个科研单位和高性能用户的高性能项目开发。

引言

赵开勇,香港浸会大学计算机计算机系异构计算实验室在读博士,长期从事高性能计算领域研究,在CPU、GPU异构计算方面有多年的研究经验,尝试过多种嵌入式开发平台,曾在2013年初预言基于移动设备的高性能计算将会成为未来潮流。

访谈

2898总编:过去几年,并行计算的技术演变、应用的拓展,以及未来发展分别是什么?

赵开勇:传统的并行计算机更多的是中型机和大型机,或者专门制造的特需机器,那个时候并行计算离大众还很远。并行计算的算法基本是在上世纪六、七十年代的时候开始,当时有很多研究文章,而且研究得很透彻。但在那时候,并行计算、高性能计算,离大众还比较远。

从2000年左右开始,计算芯片、存储、网络的发展使得之前昂贵的计算机变得廉价。由于像Google这类公司的算法的演变,使得廉价的PC架构的机器构建出的服务器集群就可以完成高性能计算。当然我们这里讨论的并行计算,其实只是高性能计算的一种方法而已,并行计算通常是指许多指令一起执行,是针对串行计算而言的。

现在的高性能计算,既有并行计算,也有串行计算,概念更加的广泛,而不局限于传统的并行计算。从2000年左右开始,有科研者采用GPU作为通用计算。到2006年,Nvidia推出通用计算的GPU,打破了传统基于CPU(或者专用协处理器)的高性能计算,让民众更接近高性能计算(并行计算),并且可以采用廉价的芯片达到高性能计算的目的。

在传统CPU芯片方面,也通过增加CPU的核心来提高计算性能,从以前的单核、双核到多核,再到Intel前不久推出的MIC架构的众核芯片,都标明了计算芯片再向多核心方向发展。另一个方面,基于AMD的APU架构芯片,兼备CPU和GPU,让CPU和GPU可以通过更便捷的方式共享内存,达到协作处理的目的。

此外,内存的价格越来越低,基于内存的存储会在将来的高性能发展中起到重要的地位。我们在高性能计算中常常会遇到IO的瓶颈,很难真正发挥所有计算芯片的能力,内存等存储的廉价也会在这些问题上得到一些解决。随着网络传输的发展,性能的提高,也会在将来的高性能计算中起到决定的因素。 

2898总编:你如何看待未来的芯片格局?

赵开勇:传统的CPU会长期存在,但是高性能计算的地位会下降,会有GPU、CPU(不同类别的CPU,x86体系结构,基于ARM的CPU)都会逐步跟上。Intel的高性能计算的地位有所动摇,Nvidia的GPU和ARM64架构的芯片会埋头追赶,AMD的APU和基于ARM64的芯片也同样如此。同时基于移动设备的CPU、GPU也会具有高性能计算的能力。

在过几年,Intel的x86的CPU、MIC;Nvidia的GPU(还有ARM64架构的芯片,可能是CPU也可能是GPU,也可能是CPU和GPU的合体);AMD的CPU、GPU、APU,以及基于ARM的芯片,都会在高性能计算里面各争天下。基于移动设备的高性能计算,也会成为一个潮流。

还有一个重点是低功耗、高性能,会在将来的高性能计算中会成为一个重要的指标。

而国产的高性能计算芯片会在中国未来几年的舞台上发挥重要的作用,包括专业级的高性能计算中心,也包括民用级别的高性能计算机,都会国产的设备初露头角。

未来的元计算中心和高性能计算中心,基本上会成为一个实体、两个概念或是融合一起。硬件层次上不会有太多的区别,更多的是跑在服务器上的算法和应用。

其中,高性能计算的发展硬件只是一个方面,而且硬件的变革很快,这几年基本上是一年到一年半就有一个变化。所以在堆砌硬件的同时,一定要注意软件的开发、软件算法、框架的设计,做到发挥现有集群性能的同时,向后兼容。现在很多云计算中心,或者高性能中心,计算量达不到饱和,一年维护的费用和电费等超过了本身发挥的价值。软件是高性能计算现在的短板,需要在高性能计算的软件上开展更多的工作。


20160816225951265.jpg


2898总编:ARM+Hadoop在高性能计算领域的应用领域是什么?瓶颈是什么?

赵开勇:Hadoop在高性能计算中已经应用很广,基于ARM架构的Hadoop部署现在还比较少。ARM的优势是低功耗、高性能,但是其处于瓶颈,基于ARM的高性能计算核心还没有大规模的量产,或者说在业界还没有真正得到认可。基于ARM架构的高性能计算芯片,或许会在接下来的几年中大放异彩。

2898总编:你认为GPU与CPU的融合,最大的挑战在哪里?

赵开勇:GPU现在还是作为CPU的协作处理器存在,通过PCIE传输数据,这就是很严重的瓶颈。也许再过几年,CPU和GPU可以共享内存以后,传输的瓶颈会得到解决。

2898总编:对并行计算从业者而言,请推荐几个好的开源框架和一定要去读的几本书,以及分享下你学习的好经验、好方法。

赵开勇:个人感觉,高性能计算有硬件和软件部分,对于一个整体系统,既要对系统的硬件,包括计算核心、存储和网络传输分布等都要有了解。这些方面可以看Intel、NVidia和AMD等厂商的技术手册,都可以看到一些计算核心的资料。

同时要了解高性能计算的应用层面,任何的高性能计算都不能大包大揽,用一个方案解决所有的问题。需要在对应的行业里面学习相关的知识,了解问题的根本,从问题的根本入手,从算法层面优化问题,不要套用固定的模型或框架。需具体问题具体分析,再抽象出来,看已有的框架是否可以解决,然后再优化设计。高性能计算是一个不断迭代的优化过程,找到分析问题、问题的热点、解决问题、优化问题、再找新的热点,然后重复迭代的过程。高性能计算的领域不同,解决问题的方法也不一定相同,需要融汇各种方法和理论。

我个人推荐的书籍有陈国良院士的《并行计算系列丛书》、《并行算法导论/艾克萨威尔》等一些算法的书籍,对高性能计算(并行计算)有一些算法的了解,学会用并行计算的思维思考问题,解决问题。编程相关的就可以了解一下OpenMP、MPI、CUDA等编程方法。还有现在比较流行的并行计算框架、hadoop等,此类文档都可以再上网搜索。

既要了解最根本的算法,有算法的思想,同时深入了解问题的本质,然后再在编程实践中去解决问题,既有理论,也有实践,结合起来才最重要的原则。空谈误事,实干兴业。

2898总编:你曾是CSDN社区版主,在那段时间里对你的工作和学习有何帮助?你留下了什么深刻的回忆可分享? 

赵开勇:通过解答网友的问题,可以更清楚的认识问题。有些问题自己一开始也不清楚,但是在回答问题的过程中需要查阅资料,也就把问题攻克了。同时,还可以跟很多业界的朋友进行沟通和交流,分享自己研究成果的时候,帮助大家的时候,其实也是在帮助自己。我最大的收获是在分享这些成果的时候,得到了大家的认可。最深刻的影响是通过CSDN的博客分享、技术交流,让业界的各个高性能公司了解了我,包括Nvidia、AMD、浪潮、联想、曙光,以及Intel等。这些收获是在帮助别人的时候并没有考虑到的,后来回想这些收获,最重要的一点在于帮助别人,其实就是帮助自己。

2898总编:你对CSDN有何建议,你认为未来的社区有何期待?

赵开勇:在CSDN有大概有十年的感情,在这里认识了不少朋友,也希望可以成为技术交流的圈子,希望成为华人核心技术社区,成为国际品牌,而不止局限于国内,希望能走出国门,让更多的华人参与到这里面来。 

站长风采
结论

在VR、机器人、无人机、自动驾驶泛滥的时代,将人工智能技术应用到嵌入式和移动领域的技术趋势已经不可阻挡,但这些应用的开发,需要计算资源和开发接口、开发工具的支持。从赵开勇的尝试来看,Jetson TX1平台具有强大的计算能力,同时提供了丰富的开发资源,以及PC移植的能力,能够让开发者更容易地开发出想得到的应用。

栏目介绍
不要当自己过了激情的年代,要通过回忆来证明自己;不要当自己学会了忘记,才知道有种东西可以停留。曾经,有那么一次次的冲动,让你进入站长这个行业。那么此刻,何不拿起你手中的笔让时光停转,叙写你的酸甜苦辣?来吧,与站长们一起分享你的心路历程!

联系人:黄主编

投稿QQ:2147956297

联系邮箱:2147956297@qq.com