李国杰院士:未来几十年是并行计算的黄金时代
3月25日,在中国科学院“试点杯”并行计算应用大奖赛启动会上,中国工程院院士、竞赛专家咨询委员会主席李国杰讲述了一段往事。
1987年1月,李国杰从美国回国,成为中国科学院计算技术研究所的研究员。同年,中国科学院理论物理研究所邀请李国杰教授一门特殊课程:并行计算。
李国杰注意到,老科学家彭焕武(72岁的“两弹一星”功勋科学家)和郝柏林(53岁的我国著名理论物理学家)都坐在观众席上听课,一节课也没少上。
"我深深感受到了老一辈物理学家对并行计算技术的渴望。"李国杰说。
并行计算带来黄金时代
现在,并行计算技术已经进入了一个全新的时代。约翰·轩尼诗和大卫·帕特森,2017年图灵奖得主和精简指令集技术的发明者,指出通用处理器固有的低效率以及德纳第标度律和摩尔定律的终结,使得处理器架构师和设计者不可能在通用处理器上保持显著的性能改进,无论是指令级处理技术还是多核处理技术。
“在未来十年,将会有一个全新建筑的‘寒武纪大爆发’,学术界和工业界的计算机建筑师将迎来一个激动人心的时代。体系结构的改进必须与并行算法和并行软件同步,改进水平越高,效率就越高。”因此,李国杰说,“未来几十年肯定是并行计算的黄金时代。”
为什么计算机性能越高,它能解决的问题就越多,算法优化带来的好处就越大?李国杰举了一个例子。
“一个问题的规模是n,假设解决这个问题的一个算法是Alg1,它的计算复杂度是n的平方;另一个算法是Alg2。优化后,其计算复杂度为Nlog2N。然后,两种算法的性能比是n/log2n-n越大,性能差异越大。”李国杰进一步解释道:“对于一台只有10个问题的低端计算机来说,两种算法的性能差异只有3倍;然而,对于1000台能够解决问题的超级计算机来说,它们的性能相差100倍。”
“从另一个角度来看,如果这两种算法在一台性能较低的机器上可以解决问题的1/3,那么在一台拥有数百万处理器的超级计算机上,这两种算法可以解决问题的1/100。”李国杰说,因此,计算机性能越高,就需要越多的优化算法。
据报道,中国科学院“试点杯”并行计算应用大赛旨在汇聚不同领域的专业人才,弥补我们在基础算法和软件应用方面的不足,建立和完善先进计算产业的生态。
从技术推动到应用拉动
在分享中,李国杰提到计算机科学家的思维仍然是由技术驱动的,而不是更迫切的应用。
“过去,在计算机科学家的传统思维逻辑中,他们认为用户不知道需要什么技术。因此,计算机科学家引入了新的语言,开发了新的编译技术,并创新了系统结构来解决一些并行问题,然后将他们认为“智能”的解决方案推给用户。问题是用户不会使用也不愿意学习这些学者提供的方法。”
"计算机科学家应该与应用专家合作开发关键的并行应用."李国杰说,计算机科学目前正在融入其他科学。计算机科学中的概念、定理和方法正发展成为更广泛领域的基本工具,尤其是在生物学和化学领域。这些工具将被整合到整个科学的网络中。
“现在新的研究方法是应用驱动的,即所谓的自上而下的研究方法。计算机科学家应该与应用领域的专家合作,开发关键的并行应用。”李国杰说,计算机科学家和其他领域的科学家之间的密切合作已经成为当代科学研究的一个特点:“计算机科学和技术不仅是其他领域的工具,而且是了解未知世界的知识来源之一。”
他指出,其他领域的学者将通过使用普遍流行的算法和软件来解决一些局部问题并获得一些渐进的改进。然而,为了在算法上取得根本性的突破,有必要与真正理解算法的计算机科学家深入合作。
“为了解决脑科学的解剖成像等问题,脑科学家们一直与我的老朋友李凯合作,李凯是中国工程院的外国院士,也是普林斯顿大学的计算机科学教授。这些大脑科学家需要7000年来用传统技术重建老鼠的大脑。现在,凭借他的新算法和新模型,数据分析时间缩短了20万倍。”李国杰说:“如果只有大脑科学家自己,绝对没有这么高的速度。”
并行计算仍然面临许多挑战。
在分享的最后,李国杰指出,尽管并行计算很流行,“并行计算不是万灵药”。
他指出,目前,智能计算和大数据计算主要依靠并行处理。GPU不仅给了人们大规模并行处理的希望,量子计算和生物计算的力量也是并行处理。"并行计算功能强大且高效,但它不是万能的."
“30多年前,当我在美国攻读博士学位时,我在博士论文中得出结论,并行处理只能提高串行可计算问题的计算效率,不能用来扩大解决指数负载问题的规模。”李国杰解释说,也就是说,如果一个问题是指数复杂性问题,解决问题的规模不能简单地通过使用并行计算来扩大。
此外,并行计算仍然面临许多挑战。李国杰提到,并行计算仍然面临着一些重要的命题,如“需要新的思想来挖掘片上并行性”、“如何缓解因扩展并行性而恶化的内存访问瓶颈”、“并行算法还应该关注更重要的低功耗目标”、“提高并行计算的通用性,涵盖应用范围”、“必须处理动态和不确定的复杂负载,如智能应用等”。"