算法的威力:程序员用台式机打破超级计算机保持的世界记录.
算法的威力:程序员用台式机打破超级计算机保持的世界记录
著名的法国程序员Fabrice Bellard近日宣布,他使用一台普通的台式电脑(成本低于2000欧元),计算到圆周率小数点后近2.7万亿位,打破了由T2K Open超级计算机(目前排名世界第4247位,造价数百万)去年8月17日创造的2.577万亿位的记录。
Bellard使用的电脑硬件配置为:
2.93GHz Core i7处理器,内存6GB,硬盘7.5TB(5X1.5TB 希捷7200.11)。另有2TB希捷硬盘做备份。验证阶段使用了9台联网的电脑。
软件配置为:
64位Red Hat Fedora 10操作系统,用软件RAID-0和ext4文件系统管理硬盘。计算圆周率的软件是他自己编写的。技术细节可以参考这里。
圆周率计算结果共需1137GB的硬盘容量,部分结果可以参见这个网页。
二进制位计算时间为103天,验证花费13天。转换为十进制并验证又花费15天。总共时间为131天。
二进制计算使用的是乌克兰Chudnovsky兄弟提出的算法,验证则使用了作者自己改进Bailey-Borwein-Plouffe算法后的公式(也称Bellard公式,是目前最快的圆周率算法,1997年提出)。
Bellard公式
实际上,Bellard在圆周率方面早有辉煌历史,他曾经1996-1997年间创造多次圆周率单一位计算(计算10的整次幂位)的世界纪录,并因此登上《科学美国人》法文版。
【Fabrice Bellard简介】
在程序设计界Fabrice Bellard可以说是一位传奇人物,以作品众多而且涉及广泛而著称。他1972年生于法国。高中时编写了DOS上第一个广泛使用的文件压缩程序LZEXE。后就读于巴黎高等综合理工学院和法国电信研究院。此后他的杰作频出,多次震惊业界:
1996年先后编写了一个简洁但是完整的C编译器和一个Java虚拟机Harissa。
1997年提出了最快圆周率算法Bellard公式。
1998年编写了一个简洁的OpenGL实现TinyGL。
2000年他发起著名的开源多媒体播放器项目FFmpeg(MPlayer的姊妹项目),并担任负责人多年。
同年以及次年他两次参加著名的国际C语言混乱代码比赛(IOCCC)均获奖,其中的OTCC编译器后来发展为TCC项目,完全支持C99标准,可以将C当作脚本语言来用。
衍生项目TCCBOOT(2004年)是一个只有138KB的启动加载程序,可以在15秒内从源代码编译并启动Linux系统。
2003年开发了Emacs克隆QEmacs。
2005年设计了一个廉价的数字电视系统。
还有正在开发中的开源通用处理器仿真软件QEMU,支持在各种处理器上运行其他处理器上的软件。
让我们来共同景仰一下这位大神吧。他的个人网站在此:http://bellard.org/。