算法的威力:程序員用臺(tái)式機(jī)打破超級(jí)計(jì)算機(jī)保持的世界記錄
著名的法國程序員Fabrice Bellard近日宣布,他使用一臺(tái)普通的臺(tái)式電腦(成本低于2000歐元),計(jì)算到圓周率小數(shù)點(diǎn)后近2.7萬億位,打破了由T2K Open超級(jí)計(jì)算機(jī)(目前排名世界第4247位,造價(jià)數(shù)百萬)去年8月17日創(chuàng)造的2.577萬億位的記錄。
Bellard使用的電腦硬件配置為:
2.93GHz Core i7處理器,內(nèi)存6GB,硬盤7.5TB(5X1.5TB 希捷7200.11)。另有2TB希捷硬盤做備份。驗(yàn)證階段使用了9臺(tái)聯(lián)網(wǎng)的電腦。
軟件配置為:
64位Red Hat Fedora 10操作系統(tǒng),用軟件RAID-0和ext4文件系統(tǒng)管理硬盤。計(jì)算圓周率的軟件是他自己編寫的。技術(shù)細(xì)節(jié)可以參考這里。
圓周率計(jì)算結(jié)果共需1137GB的硬盤容量,部分結(jié)果可以參見這個(gè)網(wǎng)頁。
二進(jìn)制位計(jì)算時(shí)間為103天,驗(yàn)證花費(fèi)13天。轉(zhuǎn)換為十進(jìn)制并驗(yàn)證又花費(fèi)15天??偣矔r(shí)間為131天。
二進(jìn)制計(jì)算使用的是烏克蘭Chudnovsky兄弟提出的算法,驗(yàn)證則使用了作者自己改進(jìn)Bailey-Borwein-Plouffe算法后的公式(也稱Bellard公式,是目前最快的圓周率算法,1997年提出)。
實(shí)際上,Bellard在圓周率方面早有輝煌歷史,他曾經(jīng)1996-1997年間創(chuàng)造多次圓周率單一位計(jì)算(計(jì)算10的整次冪位)的世界紀(jì)錄,并因此登上《科學(xué)美國人》法文版。
【Fabrice Bellard簡(jiǎn)介】
在程序設(shè)計(jì)界Fabrice Bellard可以說是一位傳奇人物,以作品眾多而且涉及廣泛而著稱。他1972年生于法國。高中時(shí)編寫了DOS上第一個(gè)廣泛使用的文件壓縮程序LZEXE。后就讀于巴黎高等綜合理工學(xué)院和法國電信研究院。此后他的杰作頻出,多次震驚業(yè)界:
1996年先后編寫了一個(gè)簡(jiǎn)潔但是完整的C編譯器和一個(gè)Java虛擬機(jī)Harissa。
1997年提出了最快圓周率算法Bellard公式。
1998年編寫了一個(gè)簡(jiǎn)潔的OpenGL實(shí)現(xiàn)TinyGL。
2000年他發(fā)起著名的開源多媒體播放器項(xiàng)目FFmpeg(MPlayer的姊妹項(xiàng)目),并擔(dān)任負(fù)責(zé)人多年。
同年以及次年他兩次參加著名的國際C語言混亂代碼比賽(IOCCC)均獲獎(jiǎng),其中的OTCC編譯器后來發(fā)展為TCC項(xiàng)目,完全支持C99標(biāo)準(zhǔn),可以將C當(dāng)作腳本語言來用。
衍生項(xiàng)目TCCBOOT(2004年)是一個(gè)只有138KB的啟動(dòng)加載程序,可以在15秒內(nèi)從源代碼編譯并啟動(dòng)Linux系統(tǒng)。
2003年開發(fā)了Emacs克隆QEmacs。
2005年設(shè)計(jì)了一個(gè)廉價(jià)的數(shù)字電視系統(tǒng)。
還有正在開發(fā)中的開源通用處理器仿真軟件QEMU,支持在各種處理器上運(yùn)行其他處理器上的軟件。
讓我們來共同景仰一下這位大神吧。他的個(gè)人網(wǎng)站在此:http://bellard.org/。
【編輯推薦】