计算pi数量的新世界纪录:31.4万亿个字符



Bailey-Borwain-Pluff公式,该公式使您可以提取pi编号的任何特定十六进制或二进制数字,而无需计算先前的数字(当前记录是在Chudnovsky算法上设置的,请参见类别cat)

在121天中,位于25个虚拟机上的Google Compute Engine计算集群计算出pi位数中的最大位数,创造了新的世界纪录:31.4万亿位小数。 这是首次使用公共云软件来计算此数量级的pi。

该记录将以Google高性能计算部门的Emma Haruka Iwao的名义记录。 是她使用Google Cloud基础架构进行计算的。 之前的世界纪录是彼得·特朗普(Peter Trump)在2016年创下的,他计算出一个特殊服务器上的数字高达22.4万亿位,该服务器也是由雇主赞助的。

像Trub一样,Google工程师使用y-cruncher进行计算。 该程序使用Chudnovsky算法 ,这是一种用于计算数字pi的快速算法。 早在80年代, 丘德诺夫斯基兄弟俩就凭借自己的帮助算出了十亿位小数。

反过来,该算法基于超几何级数的快速收敛特性:



连线》(Wired) 写道 ,艾玛·遥卡(Emma Haruka Iwao)被“魔术”数字带走,在学校的数学课上学习了这个数字。 在该大学,其一位教授高桥大辅(Daisuke Takahashi)是使用超级计算机计算出的位数的记录保持者。 如今,几乎任何有兴趣的工程师都可以使用大量的计算资源和大容量的磁盘存储空间(用于存储计算结果),可以创造一个记录。 y-cruncher程序创建于2009年,旨在计算数学常数,例如pi。 它支持大量的多线程和兆兆范围。 该程序实际上使常数计算商品化。

“您需要一台相当大的计算机来打破世界纪录,” Iwao说。 “不可能在商店的计算机上执行此操作,因此人们习惯于制造定制汽车。” 在2018年9月,Iwao开始考虑计算过程在技术上将如何在超出记录范围的范围内工作。 立刻清楚的是,主要问题将是要存储的数据量。 结果表明,计算结果需要170 TB。 这个女孩没有像以前的服务器那样构建自定义服务器,而是使用Google Cloud基础架构。

Iwao挑选了25台虚拟机:“但是我没有在虚拟机上按此按钮25次,而是对其进行了自动化,”她解释道。 “您可以在几分钟之内完成它,但是如果您需要如此多的计算机,则需要几天的时间来完成所有设置。” 然后,Iwao连续121天在这25个虚拟机上管理了y-cruncher。

为了使计算正确,虚拟机必须连续工作。 工程师安装了一个监视系统,该系统会在发生问题时向她发出警告,例如,其中一台虚拟机突然发生故障。 即使不是几分钟,只有一次事故(即使几分钟)也可能危及整个计算过程。

Iwao说:“紧缩工具和Google Cloud具有备份系统,我对其进行了设置,以便您可以立即复制这些光盘,而无需停止计算。” 然后,该数据被复制并作为快照从外部存储在其他磁盘上。

“最初,我改变了几个参数,例如,一次可以读取或写入多少数据,以及边界随着增加而改变,” Iwao说。

随着位数的增加,文件大小变大,计算复杂度呈非线性增长。 当Iwao试图弄清楚她需要该项目所需的虚拟机资源时,这使初始计算变得非常复杂。

现在完成了对结果的计算和验证:y-cruncher中内置了两种基本算法-一种用于计算pi本身,另一种用于检查。 验证算法与计算并行进行,但是仅计算一位数字,因此可以正式注册记录。



从理论上讲,如果您仅获取前一个文件并应用Bailey – Borwain – Pluff公式来计算另一个数字,则可以设置新的世界纪录。 但这无疑与注册此类世界记录的规则相矛盾:每个申请人很可能必须再次开始计算。 作为一种选择:将以前的成就提高N%,根据Bailey – Borwain – Pluff公式,这是无法完成的。

Source: https://habr.com/ru/post/zh-CN443998/


All Articles