算法的威力:程序員用臺式機打破超級計算機保持的世界記錄
著名的法國程序員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在圓周率方面早有輝煌歷史,他曾經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/。
【編輯推薦】