为什么计算机性能越高,算法优化好处就越大?李国杰院士 ...
文|李佳师3月25日,设置基础算法、人工智能、应用三个赛道,面向并行计算应用难题的中国科学院 “先导杯”并行计算应用大赛宣布启动。中国工程院院士李国杰在线上会议上表示:“并行计算现在已经处在一个全新的时代,无论是指令级处理技术还是多核处理技术,通用处理器固有的低效率和缩放比定律、摩尔定律正在终结,使得处理器架构师和设计者已经不太可能在通用的处理器上再保持显著的性能改进。所以,下一个十年,将出现一个全新的体系结构的’寒武纪’大爆发,学术界和工业界的计算机架构师将迎来一个激动人心的时代。”
体系架构必须与并行算法、软件同步改进
高性能计算通常指并行计算,即协同多个处理器执行同一任务的计算。目前并行计算也就是高性能计算正在进入体系架构的大变革时代,而这大变革是“硬件、软件和算法全都同时演进”。
李国杰表示,体系结构的改进必须与并行算法、并行软件同步进行,越是高层的改进得到的效率提高就越大。不管是突破摩尔定律还是冯诺依曼瓶颈,都必须跨层次进行。所以,未来几十年一定是并行计算的黄金时代。
为什么计算机性能越高,它能解决的问题越大,算法的优化所体现的好处就越大?为此李国杰举了一个例子来说明。“假设一个算法叫Alg1,它的计算复杂性是N的平方,N是问题的规模。Alg2是另外一个算法,它是优化以后,它的复杂性是Nlog2N,两个算法的性能比值是N/log2N, N越大,性能的差别就越大。” 李国杰进一步表示,对于只能解决问题规模为10的低端计算机,两个算法的性能只相差3倍,但是对于能解问题规模达1000的超级计算机,两者性能就相差100倍。
换一个角度说,如果在低性能的单机上,两种算法可解问题的规模相差3倍,则在包含上百万处理器的超级计算机上,两个算法可解问题的规模相差上百倍。
李国杰表示, 目前新冠肺炎疫苗和药物的研发正在进行最后攻关。因为疫情,我们有很多启示,其中一个启示就是我们要研究人工的免疫系统。人工免疫系统是指根据免疫系统的机理、特征、原理开发的人工智能算法与系统,如克隆选择算法、B细胞算法、阴性选择算法、树突状细胞算法等,已应用到聚类分类、异常检测、信息安全、智能优化、机器人控制等众多领域。
目前国际上已形成免疫信息学和计算免疫学两大学科分支。生物信息学已进入从基因组测序发展到个体化定制疫苗的时代,免疫信息学在其中发挥着重要的助推作用。并行处理技术将在对抗病毒中发挥不可替代的作用。疫苗与抗病毒新药研制涉及复杂的数学模型,必须借助数值方法应用并行计算求解。
发展并行计算需要新思路
李国杰认为,并行计算发展需要一些新的思路。
一是要有全新的思路挖掘片内并行性。片内多核并行和传统的并行计算有很大不同,片内的通信速度远远高于芯片间或机柜间的通信速度,而芯片的I/O引出腿有限(最多只有几千个),片内可配置的存储器也有限,约束条件有很大改变,必须有全新的思路挖掘片内并行性。
二是要将局部性与并行性同时作为考虑目标。目前我们只注意到扩展并行,但是由于扩展并行会导致访存瓶颈恶化,这成为高性能计算算法设计的核心问题。所以我们需要通过并行算法模型和实现优化上不断创新,将局部性和并行性同时作为考虑的双重目标。
三是低功耗已成为比提高性能更重要的目标。降低超级计算机的能耗是研制E级计算机的最大难关。并行算法和并行软件设计必须紧紧围绕这个主要目标。仅仅是提高了加速比,但如果能耗增加的倍数超过性能提高的倍速,这种并行算法和软件没有推广前途。
四是并行计算的通用性。尽管现在专用计算机的性价比和能效比都高于通用计算机,但是超算中心共享的超级计算机仍要考虑通用性。现在智能加速芯片已有 KPU、IPU、MPU、NPU、QPU、SPU、TPU、VPU、WPU、XPU等十几种。我们在注重单项性能的同时要关注功能集成和可重构,争取提高并行计算的通用性。不管是芯片还是并行算法和软件设计,不能只满足于对某一个小应用的性能提高,应当考虑覆盖整个应用的范围是另一个重要的考虑维度。
五是要适应不确定负载。随着大数据和人工智能的推广,我们应对的负载是动态的和不确定的。上世纪60年代,从科学计算的负载中归纳出定点与浮点,这是计算技术的重大突破。现在需要对新的负载做科学抽象,智能应用的负载大多是动态变化、不确定的,例如交通控制、股市交易等,我们需要从各种各样的应用中归纳出通用性强的指令系统、微体系结构、执行模型和API界面。适应不确定负载的系统结构可能是异步执行的结构,没有固定的时钟频率,甚至也没有程序计数器。数据流计算模型(DataFlow) 执行模型可能是出路之一,也许能从互联网异步协议中得到启发。
六是并行计算的软件和算法开发从技术驱动转向应用驱动。过去的计算机科学家有搞编译的学者,他们的思维逻辑认为用户并不知道需要什么技术,所以计算机科学家要引进新的语言,设置新的语言,研制新的编译技术,创新系统结构,解决并行的问题。学者们自己认为“聪明”的解决方案推送给用户,问题是用户并不会用,也不太愿意学习这些学者们提供的方法。
现在新的科研途径是应用拉动的,是top-down研究方式,计算机科学工作者应当和应用领域专家一起开发关键的并行应用程序。我们提供必须的硬软件平台工具,理解用多种语言写的并行软件,在开发关键应用软件时,要以实际观察到的常用模式引导研究。
事实上,美国的超算发展走的就是需求、应用驱动的路线。,美国超级计算机研制一般是先有计算需求,根据需求设计超级计算机,而中国是先研制超级计算机,尽力提高性能,计算机做好后再找应用。中国研制路线的好处是可能会比美国更早研制出E级机,缺点是软件和应用成为短板,需要大大加强并行算法和软件开发力度,加大应用推广力度。目前,我国大型科学计算的应用软件基本上都依靠进口。我国的超算经费用于应用软件开发的比例不到10%,美国相应的投入资金约为中国的6倍。
以美国能源部的超级计算机Summit项目为例,在Summit计算机交付之前,已经成立了25个应用软件的研发小组,设计可在E级计算机上运行的应用软件。美国能源部ECP计划是否成功的指标不是inpack性能,而是这25个应用性能的“几何平均值”(相乘后开25次方),这意味着其中任何一个应用的性能都不能很差。如果有一个应用是0的话,其他最好的是100分,最后再平均值还是0。
计算机科学是人类认识未知世界的知识源泉
计算机科学中的概念、定理、方法正在发展成为更宽广领域,特别是生物和化学领域的基本工具,这些工具将集成到整个科学的织网中。
“计算机科学家与其他领域的科学家密切合作,已成为当代科学研究的特点”。李国杰表示,计算机科学技术不仅仅是其他领域的“工具”,而是认识未知世界的知识源泉之一。其他领域的学者运用普遍流行的算法和软件也可能会解决一些局部性的问题,获得一些渐进性的改进,但要获得算法上的根本性突破,需要与真正懂算法的计算机科学家深度合作。
为此李国杰谈及了他的老朋友中国工程院的外籍院士、Princeton大学教授李凯,最近这几年李凯一直和脑科学家合作,解决脑科学的解剖成像等问题。过去脑科学家用现有的技术重构一只老鼠的大脑需要7000年。现在通过采用新的算法、新的模型之后,数据分析时间缩短了20万倍,如果仅仅是脑科学家自己,没有可能提升如此高的速度。
页:
[1]