【环球科技】
提要
中国有句古话,叫“行百里者半九十”,这句话可以拿来描述超级计算机的发展历程。在技术飞速发展的指数时代,我们本以为行程已过半甚至接近巅峰,结果往往却发现,剩下的10%还需要付出极大的努力。正如,超算在硬件上的竞争跨越了一定阶段之后,全世界的技术前沿都开始向高性能应用软件和支撑软件上转折发力。一个全面云化、服务化和人工智能的时代,这才刚刚开启。
1.被高性能计算改变的平民生活
超级计算机(Supercomputer)在国际上更通用的说法是高性能计算(High Performance Computing,简称HPC)。随着IT技术和摩尔定律的发展,HPC对我们日常生活的影响越来越明显,可以说,这是一个“高性能计算平民化”的时代。
私家车的设计和制造需要高性能计算。从汽车外观设计的流体力学特点到撞车后如何保护车内人员的结构力学,从安全角度进行的碰撞模拟到内部空气循环的环境设计,这些都需要计算车辆的CAD/CAE和CFD模型。众所周知,汽油从石油精炼得来,而如何从地下、海底找到石油则是地震资料处理和油藏模拟应用的重头。天有不测风云,气候变化和明后天的气象预报,必须依赖全球化的数字气候气象预报应用。Nike鞋的设计需要超算,药物研发需要通过分子动力学计算,大片特效全部由大规模集群渲染,甚至你上淘宝和京东购物时看到的推荐,也是对大量分布式数据并行分析的结果。
从AlphaGo到机器学习,强大人工智能的背后往往跑着上千瓦的计算集群和加速卡,这样才能战胜我们25瓦功耗的灰色大脑。你的手机处理器、笔记本和台式机处理器都是多核的,本质上应用都在并行运作。这一切,都是HPC的范畴。
2.大国才有实力玩的游戏
传统HPC的主要应用领域是科学和工程计算,它可以帮助我们建立在理论、实验之外的第三范式——就是通过大规模数值模拟来算出物理世界的因果。而大数据的出现,则把高性能计算的疆界直接外推到大数据分析和人工智能与机器学习。超算方面的国际竞争虽然不能说是科技军备竞赛,但是它不仅关系到基础学科的突破,而且从一个侧面展现了一个国家的整体科技实力。特别是,它和我们每天的经济、生活息息相关。
如果你足够敏感就会意识到,真正和每个人生活联系最紧密的,就是“应用”。作为使用者和受益者,你只需要知道什么样的应用软件能够满足你的要求,通常来讲就够了。人类需要的是五花八门的服务结果,而不必钻研每个学科。就像,其实你完全不必学习电钻的原理和也不需要拥有多少不同钻头的配置,你真正需要的,其实是墙上那个洞。人们需要计算机,其实也是为了解决问题。而桌面电脑和普通的服务器只能解决一部分问题,其他的服务就需要高性能计算。可以说,自计算机诞生以来,高性能计算已经影响了人类半个多世纪。
我们要清醒地看到,世界各国的超级计算机发展计划都离不开政府的主导。世界排名前列的千万亿次以上的系统如美国的红杉、泰坦和日本的京等顶级系统,他们的研发均由美国和日本政府直接投资,由IBM、Cray和富士通等公司联合有关国家科研机构承担研发任务,中国超级计算机系统研制也是类似的模式。从某种意义上说,超算是大国博弈,也是大国经济和科技实力的象征。它不但解决大国对关系到国家安全与发展的重大科学问题,同时也推进关系到人类普遍福祉的基础学科突破起到至关重要的作用。
3.领跑军团位次生变
在高性能计算领域,气候气象和石油地震资料处理是典型案例。这两大类应用都规模巨大,算法复杂度和精度也超高,特别是,随着每加入一个变量或者气候模式,计算量都是呈指数级增长,并且存在“混沌效应”。从这个应用入手而获得Gordon Bell奖是实打实的硬仗,这不仅标志着自主处理器和超算体系的创新,更重要的是具备了一种将大型实际应用迁移到千万核运算的能力。
Gordon Bell奖创立于1987年,用于奖励将高性能计算应用于科学、工程和大规模数据分析上的创新。如果说Top500基于Linpack的排名主要是奖励硬件系统创新,那么Gordon Bell奖就是注重开发能跑在成千上万个核上,在计算峰值、扩展性和求解时间上有突破的应用。在HPC应用领域里,Gordon Bell奖是高性能计算综合应用的一个奖。获得这项锦标需要包含几个因素,第一,硬件水平要足够顶级,历年获得Gordon Bell奖的应用都运行在排名世界前列的系统上。第二,在大规模并行系统上在模型、算法和软件上要有重要的方法创新,还需要有足够合适且可以体现软件水平的应用在大规模异构并行系统上去展示这种创新。
从中国的天河二号在国际Top500榜单上六连冠到2016年6月和11月跳动中国“芯”的“神威·太湖之光”超级计算机系统蝉联全球超算桂冠,这是我国在高科技领域坚持自主创新的生动案例,客观说明了我国在超算系统研制上的综合实力已经跻身世界第一阵营。然而,成功之路并不平坦,况且前方危机四伏。
笔者在英特尔从事高性能计算11年,有幸参与了美国英特尔支持中国的天河一号、天河二号的过程,也经历了美国决定对中国四家超算中心HPC产品禁运等事件。从处理器到整机研发,从银河系列到太湖之光,中国的超级计算机悄然领跑100pflops的阵营,然而下一轮超算赶超的时代已悄然到来。
4.行业应用软件仍掌握在外国手中
面对E级计算和机器学习等AI算法的挑战,新一轮的架构革新正在弯道超车。神经网络芯片、量子计算、异构处理器、FPGA加速和新的高速互联技术以及Xpoint的3D内存技术正在改变着超算的竞赛规则。面对大数据和机器学习、深度学习类算法的新挑战,就好像你刚刚跑到第一,对手们都换了跑道。
纵观历史,先是在最复杂的机器上突破最难的问题,从而带来计算技术的一系列高端突破,包括从计算机体系结构、芯片到算法、应用的创新;其后,通过技术的下移,从高端服务器把技术迁移到个人工作站、计算机以至于便携设备,这是一个反复验证过的技术演化史。十多年来,多核CPU从超算服务器领域发展到台式机,直至智能手机的过程就是实例。
高性能计算的行业应用软件(特别是商用软件)大多在国外ISV(独立软件开发商)手里。在石油石化,CAD/CAE和CFD制造业领域,国外商用软件几乎居于垄断地位。高性能计算的行业应用软件,本身不仅是计算工具,它们的模型本身就是知识产权,而这是长期技术发展的成果。在一些竞争性领域,比如石油地震资料处理,为了避免中国石油公司在境外石油勘探市场的竞争,西方一些应用软件对中国竞争对手禁售。在过去几十年身受本国盗版环境破坏的行业ISV,如今最大的竞争对手依然是国外行业软件的国内盗版。如果开发自己的行业应用软件成了一件吃力不讨好的事情,那还有谁愿意做呢?然而,拥有自主开发的产品,才能有议价权和自主发展的能力。
全世界排名前十的机器里,三套是CPU+GPU/MIC的异构集群,前一百名中,共有98个(2015年是96个)系统是集群。可以说,异构集群计算已经成为高性能计算主流。从机器性能看,前三位为超算中心、互联网服务和网络安全。云计算系统的总上榜峰值性能达到12.6Tflops, 这里包括阿里云和腾讯云的服务平台。从2016年的Top500数据看到,中国和美国并列成为安装超级计算系统最多的国家。中国的太湖之光在第一名(天河二号)连续三年性能没有变化之后,再一次将性能提升2.75倍,接近100pflops,超算进入100p时代。但是,商用的高性能处理器CPU、高速互联Infiniband芯片和存储介质,仍然是美国企业的原创,大量的商用高性能计算软件也仍是欧美公司的知识产权。我国的曙光、联想等OEM厂商,主要是在服务器整机的设计制造上进行创新突破。
高性能计算从诞生开始就在开放与冲突中发展。科学家有国界,科学没有国界。随着科技企业服务和技术领导力的创新,必将有更多的人类文明成果从超算中普惠大众,成为当下数据科学和人工智能发展的基础。
(作者2005年至2015年年底在英特尔公司从事高性能计算应用优化、异构计算产品和并行文件系统支持方面的工作,本文内容采纳了CCF YOCSEF在天津超算中心举行的YOCSEF特别论坛讲座的内容)
链接:
高性能计算简史
高性能计算技术源于现代计算机工业。20世纪40年代到60年代,可以称为第一代超级计算机时代。第一代超级计算机的出现源于军方的需要。二战期间,需要手工计算弹道。1943年到1946年间,美国第一代计算机ENIAC应运而生。其间,纳粹Enigma密码机的破译极大归功于英国的Bombe和Colossus计算机。二战以后,美苏两大阵营冷战,核武研制、飞机潜水艇设计、情报收集处理和代码破译的需求驱使计算机朝更强的超级计算能力发展。
1964年,CDC公司的CDC6600具备了每秒50万次浮点运算的能力,第一次被冠以“超级计算机”的名称。1975年到1990年,超算进入了所谓“克雷时代”。1972年Seymour Cray成立了自己的专事超算设计制造的公司。Cray 1采用了标量和向量处理器,80 MHz时钟,133Mflops。发展到1982年、1988年的Cray X-MP和Cray Y-MP分别达到105MHz和167MHz,采用2、4或8个向量处理器,计算峰值达200Mflops和333Mflops。
20世纪80年代,超级计算机的设计主要得益于两个架构,一是向量处理器,二是共享内存的胖节点。1990年到2010年间,超算进入了集群时代。随着Unix和Linux服务器的普及,超算进入了真正有效的并行计算时代,此时胖节点的小型机遇到了内存瓶颈。以太网和高速网络的出现使得其后出现的将单台服务器通过网络互连的分布式内存计算大行其道。1994年,NASA的唐纳德·贝克和汤姆斯特林用个人计算机和以太网硬件搭建了第一个计算集群,将16台英特尔486DX台式机用10Mb以太网连接起来,起名为Beowulf集群,用当时的5万美金成本搭建了1Gflops的超算系统,这是现在Top500中占最大份额的高性能计算集群的源头。
从2000年到现在,高性能计算进入了采用GPGPU加速器的异构计算时代。21世纪初,由于处理器的发展进入了多核到众核的时代,使得计算机群呈现了混合集群模式。
随着大数据和人工智能技术在互联网、自动驾驶、机器人等领域的回暖,新的对计算和数据迁移的压力,使得异构混合集群更成为高性能计算的主流架构。深度学习、神经网络和量子计算的引进成为新趋势。从计算的角度,当前高性能计算技术的阶段,可以总结为一句话:“计算近乎免费,而数据移动是昂贵的。”中国自己的超算发展,也沿袭了一条从小型向量机到混合异构计算集群的发展道路。
(图片均为光明图片/视觉中国)