李国杰院士:未来几十年是并行计算的黄金时代
3月25日,在中科院“先导杯”并行计算应用大奖赛启动会上,中国工程院院士、大赛专家咨询委员会主席李国杰讲述了一件往事。
李国杰注意到,彭桓武(“两弹一星”功勋科学家,时年72岁)、郝柏林(我国著名理论物理学家,时年53岁)等老科学家都坐在台下听课,一堂不落。
“我深深感受到了老一辈物理学家当时对并行计算技术的渴求。”李国杰说。
并行计算迎来黄金时代
现在,并行计算技术已经处在一个全新的时代。2017年图灵奖得主、精简指令集技术的发明者John L. Hennessy与David A. Patterson曾指出,无论是在指令级处理的技术还是多核处理技术,通用处理器固有的低效率和登纳德缩放比定律、摩尔定律的终结,使得处理器架构师和设计者已经不太可能在通用处理器上再保持显著的性能改进。
“下一个十年,将出现一个全新的体系结构的‘寒武纪大爆发’,学术界和工业界的计算机架构师将迎来一个激动人心的时代;而体系结构的改进必须和并行算法、并行软件同步进行,而且越是高层的改进得到的效率提高就越大。”李国杰说,因此,“未来几十年一定是并行计算的黄金时代。”
为什么说计算机性能越高、其能解决的问题越大,算法的优化所带来的好处就越大?李国杰举了一个例子。
“一个问题的规模为N,假设解决该问题一种算法为Alg1,它的计算复杂性是N的平方;另外一个算法是Alg2,优化以后它的计算复杂性是Nlog2N。那么,两个算法的性能比值是N/log2N——N越大,性能的差别就越大。”李国杰更进一步说明道:“对于只能解决问题规模为10的低端计算机,两个算法的性能只相差3倍;但是对于能解问题规模达1000的超级计算机,两者性能就相差100倍。”
“换一个角度,如果在低性能的单机上两种算法可解问题的规模相差3倍,则在包含上百万处理器的超级计算机上,两个算法可解问题的规模相差上百倍。”李国杰说,因此,计算机性能越高,越需要优化算法。
据介绍,此次中科院“先导杯”并行计算应用大赛,就意在凝聚不同领域专业人才,弥补我们在基础算法和软件应用上的不足,建立和完善先进计算产业生态。
从技术推动转向应用拉动
在分享中李国杰提到,计算机科学家的思维定势仍是技术推动,而非时下更为迫切的应用拉动。
“过去,在计算机科学家的传统思维逻辑中,他们认为用户并不知道需要什么技术;于是计算机科学家引进新的语言、研制新的编译技术、创新系统结构来解决某些并行问题,然后将他们自以为‘聪明’的解决方案推送给用户。而问题是,用户并不会用、也不太愿意学习这些学者们提供的方法。”
“计算机科学工作者应当和应用领域专家一起开发关键的并行应用程序。”李国杰说,当前计算机科学正在融入到其他科学。计算机科学中的概念、定理、方法正在发展成为更宽广领域,特别是生物和化学领域的基本工具,这些工具将集成到整个科学的织网中。
“现在新的科研途径就是应用拉动的,即所谓top-down研究方式,计算机科学工作者应当和应用领域专家一起开发关键的并行应用程序。”李国杰说,计算机科学家与其他领域的科学家密切合作,已成为当代科学研究的特点:“计算机科学技术不仅是其他领域的工具,更是认识未知世界的知识源泉之一。”
他指出,其他领域的学者运用普遍流行的算法和软件会解决一些局部性的问题、获得一些渐进性的改进,但要获得算法上的根本性突破,需要与真正懂算法的计算机科学家深度合作。
“为解决脑科学的解剖成像等问题,脑科学家这几年一直和我的一个老朋友,中国工程院的外籍院士、普林斯顿大学计算机科学系讲席教授李凯合作。这些脑科学家用传统的技术重构老鼠的大脑需要7000年,现在通过他的新算法、新模型,数据分析时间缩短了20万倍。”李国杰说:“如果仅仅是脑科学家自己,绝对没有这么高的速度。”
并行计算仍面临不少挑战
在分享的最后,李国杰提出,尽管并行计算大行其道,但“并行计算并不是万能药”。
他提出,目前,智能计算、大数据计算主要是靠并行处理,不但GPU给人的希望是大规模并行,量子计算、生物计算等的威力也是并行处理。“并行计算虽然有很强大的功能、效率,但是它也不是万能的。”
“30多年前,我在美国读博士的时候,就在我的博士论文中作出这样的结论——并行处理只能够提高串行计算可求解问题的计算效率,不能用来扩大求解指数负载性问题的规模。”李国杰解释道,也就是说,如果某个问题是指数复杂性问题,仅仅采用并行计算,求解问题的规模是扩大不了的。
此外,并行计算目前还面临着不少挑战。李国杰提到,并行计算目前还面临着“需要有全新的思路挖掘片内并行性”“如何缓解因扩展并行而恶化的访存瓶颈”“并行算法也要紧紧围绕低功耗这个更重要的目标”“提高并行计算的通用性、覆盖应用的范围”“必须对付智能应用这类动态、不确定的复杂负载”等重要命题。
(信息来源:中国科学报)