图片来源:QuantaMagazine
最近一位粒子物理学家提到,他把某个计算的精度做到了目前最高。而他用的工具是?一个源自20世纪80年代的程序——FORM。然而,这个支撑粒子物理学发展的基石,如今却只能依靠一位退休人员在维护。
在所有科学领域中,粒子物理学家使用的方程可以说是最长的。比如,为了在大型强子对撞机(Large Hadron Collider,LHC)的对撞实验中寻找新的基本粒子,他们需要画几千张费曼图(直观描述粒子间相互作用的形象化的方法),用来描述可能的对撞结果。其中,每张费曼图都编码了一个复杂的公式,而每一个公式写出来可能有几百万个项。
图片来源:Unsplash
显然,用纸笔计算是不可能的,甚至用计算机计算这样的公式也是一个巨大的挑战。我们在学校学习的代数规则完成作业是够用,但对于粒子物理学来说,这样计算的效率低得可怜。 粒子物理学家想要求解世界上最“大”的方程,但多年来只有一个程序脱颖而出——FORM,这种专门用来解决此类计算问题的程序,也被称为计算机代数系统(Computer Algebra System,CAS)。
FORM的起源 FORM由荷兰粒子物理学家乔斯·维尔玛塞伦(Jos Vermaseren)开发,它是处理最困难计算的必要程序,也可以说是粒子物理学领域一个核心的基础。然而,这样一个基石的维护却基本上只依靠一个人来完成,那就是维尔玛塞伦本人。如今,这位73岁的科学家已经开始逐渐退出FORM的开发。 然而,由于学术界的激励机制:只看重论文发表的成果,不看重软件工具的开发,目前还没有出现他的继承者。如果这种情况不改变,粒子物理学的发展很可能会因FORM后继无人而被迫急剧放缓。
如空中楼阁一般的粒子物理学发展,显示了学术界激励机制的不合理。 图片来源:XKCD 翻译:陶兆巍
FORM项目始于20世纪80年代中期,当时计算机在学术研究领域发挥的作用正迅速地变化。FORM的前身——马蒂纳斯·费尔特曼(Martinus Veltman)创作的Schoonschip程序,以一种专用硬件芯片的形式发行,它可以插在雅达利电脑(Artari,当时发行的一款家用电视游戏机)的侧面。 但维尔玛塞伦想做一个更容易获取的软件程序,供给世界各地的大学下载使用。他用FORTRAN语言编写了FORM,其中FORTRAN是公式翻译(Formula Translation)的缩写,而FORM的命名也来源于此(他后来改用C语言了)。1989年,维尔玛塞伦发布了他的软件。到了90年代初,全世界有200多个研究机构下载了FORM,而且这个数字还在不断攀升。
无法替代的FORM
2000年以来,平均每隔几天就有一篇引用FORM的粒子物理学论文发表。瑞士苏黎世大学(University of Zurich)的教授托马斯·格尔曼(Thomas Gehrmann)说:“我们小组在过去20年里获得的大多数高精度结果,都建立在FORM软件上。” FORM的一部分声誉来自多年来建立的专业算法,例如将费曼图某些部分快速相乘的技巧,以及对方程重排以尽可能减少乘法和加法的办法。但事实上,FORM最古老和强大的优势在于内存处理。 就像人类有短期记忆和长期记忆一样,计算机大致也有两种存储模式:主存和外存。主存,比如电脑的RAM,易于即时访问但存储空间有限。而像机械硬盘或者固态硬盘这类外存容量更大,但是访问速度较慢。如果我们要求解一个很长的方程,就需要将方程存储在主存里,方便处理。 上世纪80年代的计算机,主存和外存大小都很有限。本·鲁伊尔(Ben Ruijl)是维尔玛塞伦以前的学生,也是FORM的开发者之一,他现在是瑞士联邦理工苏黎世分校的博士后研究员。鲁伊尔解释道:“在FORM诞生的时代,我们几乎没有存储空间。”这就带来了一项挑战:主存有限的存储空间根本无法用来处理过长的粒子物理学方程。 为了克服这一挑战,需要将硬盘(外存)当做虚拟的主存使用。通过将主存和虚拟主存分页(Paging),也就是拆分成一段段固定大小的连续内存空间,操作系统就能将长度未知的方程存入硬盘的“页”中。当需要调用不同的部分时,就需要在主存和虚拟的主存间频繁地切换,把硬盘里的数据交换到主存里,这种低效的操作叫做内存交换(Swapping)。 但FORM有一种特有的技术,能够绕过内存交换操作。用FORM计算一个方程时,程序会在硬盘上为每个项分配一个固定的空间。这样软件就能更容易地追踪方程各项的位置,也能在需要时将这些部分带回主内存,而不必访问其他部分。
不断升级的挑战
自FORM诞生以后,计算机的内存经历了大幅增长,从1985年家用电脑雅达利130XE的128 KB的RAM主存,到如今顶配个人电脑128 GB的主存,这是一百万倍的增长。但是维尔玛塞伦开发FORM所使用的技巧仍然至关重要。
大型强子对撞机(Large Hadron Collider,LHC) 图片来源:Maximilien Brice (CERN)
2008年,大型强子对撞机开始试运行,粒子物理学家都期盼着用这台前所未有强大的加速器来寻找新粒子。但随着实验精确度的不断提升,用来计算的方程长度也不断增长,粒子物理学家面临需要处理PB(10^6 GB)量级数据的挑战。 “数据量、精确度以及高效的计算技巧,这些会永远保持相关性。因为无论内存增长到多大,总有一个物理问题可以把计算可行性推到内存大小之外。”鲁伊尔说。 近年来,计算机能力大致呈指数级增长,大约每两年就会翻一番。但是还有比指数增长更快的增长形式。例如,考虑所有可能的排列3个字母a、b和c的顺序:第一个字母有3个选择(a、b或c),第二个有2个,第三个有1个,因此一共有3×2×1=6 种顺序。当排序的字母数量变为n,那么随着n的增长,字母排列顺序的可能将以阶乘的形式增长,这种增长速度比指数级增长还要快。阶乘经常出现在计算事物可能的排列组合时,例如为一系列粒子的碰撞过程画出所有不同的费曼图。显然,粒子物理学计算难度的阶乘增长已超过了计算能力的指数级增长。
粒子物理学的末路
FORM对物理学如此重要,但开发这种软件的努力却总是被大大低估。维尔玛塞伦是幸运的,因为他在荷兰国家亚原子物理研究所有一个终身职位,还有个欣赏这一项目的老板。但好运不常有。意大利物理学家斯特凡诺·拉波尔塔(Stefano Laporta)曾为粒子物理学领域开发了一种至关重要的简化算法,但他职业生涯的大部分时间都没能获得招生或买设备的经费。一直以来,大学和研究机构都倾向于追踪科学家的论文发表记录。这意味着,那些从事关键的底层建设工作的人,往往在招聘或申请终身职位时被忽视。 维尔玛塞伦说:“这么多年我一直都有看到,在计算机上花费大量时间的科学家无法获得物理学领域的终身职位。”鲁伊尔也表示:“比起打磨研究所用的工具,实际产出的物理结果也许能带来更大声望。” 虽然有一些像鲁伊尔这样年轻的物理学家会偶尔从事FORM的开发工作,但为了他们的事业,他们需要把大部分时间用于其他研究。也因此,开发FORM的大部分责任仍然落在维尔玛塞伦的手中,尽管他现在已经基本退休了。 如果没有开发者的持续投入,FORM的可用性会越来越低——它会变得只能与老旧的计算机语言交互,慢慢脱离年轻科学家。有经验的研究人员会坚持使用它,但年轻的研究人员会采用其他的计算机代数程序,如Mathematica,这些程序对用户更友好,虽然速度慢了好几个数量级。在面对一些最困难的计算问题时,必然会有许多物理学家会选择回避。可以预见的是,粒子物理学将停滞于此,因为只有极少人能做最艰难的计算工作。 明年4月,维尔玛塞伦将举办一个FORM用户峰会,一同规划未来。他们将讨论如何保持FORM的活力:如何维护和扩展它,以及如何向新一代的学生展示它的强大功能。如果能吸引到资金和人才的投入,他们也许能保住这把物理学领域的 “神器”。