云計算技術背后的那些天才程序員:Qemu的作者法布里斯貝拉
作者:劉國輝
眾所周知,虛擬化技術是構建云基礎架構不可或缺的關鍵技術之一,而在眾多虛擬化技術實現當中,KVM(Kernel Virtual Machine)因為 Linux 內核對其的良好支持(KVM 于 2006 年 10 月被合并入 Linux Kernel 2.6.20 中),以及其精簡的架構(在最新的 Linux Kernel 3.14.rc5 中除硬件之外的核心框架仍然只有不到 10000 行)越來越多的被應用于超大規模的 IaaS 部署中,注:隨后會寫文章專門介紹 KVM 背后的那些技術天才。
但是我們知道運行于內核態的 KVM 是無法單獨工作的,那些對性能要求比較高的虛擬設備例如:虛擬中斷控制器和虛擬時鐘,才會由 KVM 內核模塊直接管理,大部分的輸入輸出虛擬設備還是需要一個運行于用戶態的程序負責,這個運行于用戶態的程序就是大名鼎鼎的 QEMU(Quick Emulator),它的作者就是法國天才程序員 Fabrice Bellard。
在過去的大半個世紀中,計算機科學界涌現出了一批不世出的天才:阿蘭·圖靈(Alan Turing)、高納德(Donald Knuth)、艾茲赫爾·戴克斯特拉(Edsger Dijkstra),這些振聾發聵的名字背后是建立了徹底改變人類生活的現代計算機工業,這些人的影響力是如此之大,不但改變了整個世界,同時也贏得了全 球的尊重。于此同時另外一些人也在進行類似令人印象深刻和同時極具影響力的工作,他們之中的佼佼者就是 Fabrice Bellard ,Fabrice Bellard 走的是完全不同的路,Bellard 的絕大多數貢獻都集中在自由軟件與開源領域,除了 QEMU 之外,最為人熟知的就是 FFMPEG,他被譽為過去 20 年中最閃亮和最有影響力的程序員之一,但他的名聲遠遠卻低于他的貢獻。
在 2005 年,Bellard 發布了也可以說是他最重要的項目:QEMU。QEMU 是一個處理器仿真,意味著用軟件來模擬不同處理器體系架構(ISAs),允許為一個特定處理器編譯的程序,通過軟件仿真在另外一個體系上運行。 Rellard 的設計靈感是基于邱奇-圖靈理論,這個理論間接指出任何圖靈完備語言配合圖靈機可以仿真其它的圖靈機。如果說 FFMPEG 體現了 Bellard 深厚的數學和信號學天分,那么 QEMU 的實現就體現了 Bellard 對于計算機體系架構的深刻理解和程序設計的深厚功底。
Bellard 除了具備天才程序員的實力之外,同時也極具黑客氣質,在他主頁上羅列的眾多令人震撼的成就的最新一個是利用軟件在 PC 上模擬了 LTE 4G 基站。天才的創新經常是離經叛道式的超越,Fabriced Bellard 的一些項目讓人感覺瘋狂。比如他曾有一個項目是將帶有 VGA 顯卡的 PC 改裝成 DVB-T 的信號發射器。這樣一來,為了防止泄密,公司不僅要封聲卡插口,還要焊上顯卡插口。
2011 年,他用 JavaScript 寫了一個 PC 虛擬機 Jslinux。這個虛擬機仿真了一個 32 位的 x86 兼容處理器,一個 8259 可編程中斷控制器,一個 8254 可編程中斷計時器,和一個 16450 UART。 http://bellard.org/jslinux/,在筆者的普通桌面電腦的 Chrome 瀏覽器中,Jslinux 只用了僅僅 5.075 秒就啟動了 Linux。

Fabrice Bellard 在數學方面也有著驚人的造詣,1997 年 FabriceBellard 提出最快圓周率算法公式。在計算圓周率的過程中,Fabrice Bellard 使用改良后的查德諾夫斯基方程算法來進行圓周率的計算,并使用貝利-波溫-勞夫算法來驗證計算的結果。為了表彰他對圓周率算法所作出的杰出貢 獻,Fabrice Bellard 所使用的改良型算法被命名為 Fabrice Bellard 算法,這種算法是目前所有圓周率算法中最快的一種,這個計算N位 PI 的公式比傳統的 BBQ 算法要快 47%。
2009 年的最后一天,Fabr ice Bellard 宣布另一項重大突破:他用桌面電腦打破了由超級計算機保持的圓周率運算記錄。這是一個壯舉, 他將 PI 計算到了小數點后 2.7 萬億位!更令人驚訝的是, 他使用的不過是價格不到 2000 歐元的個人 PC,僅用了 116 天,就計算出了 PI 的小數點后第 2.7 萬億位,超過了由目前排名世界第 47 位的 T2K Open 超級計算機于 2009 年 8 月 17 日創造的世界紀錄。新紀錄比原紀錄多出 1200 億位,然而,他使用的這臺桌面電腦的配置僅為:2.93GHz Core i7 CPU,6GB 內存,7.5TB 硬盤! 不過這次為了加快計算完成的速度保住排名第一的位置,Fabrice Bellard 使用了 9 臺聯網的電腦來對數據進行驗證, 若使用一臺電腦來驗證計算結果的話, 則需要額外增加 13 天的計算時間。 Fabrice Bellard 在圓周率方面的輝煌成就, 使他創造多次圓周率計算的世界紀錄(計算 10 的整次冪位), 也曾因此而登上《科學美國人》法文版。
最后,讓我們不妨八卦一下,在 Google 中輸入 Fabrice Bellard vs Linus Torvalds 會出現什么呢?畢竟,在筆者心目中,他們就像羅伯特德尼羅 PK 阿爾帕西諾。

映入眼簾的第一個結果,是財富雜志科技欄目專訪全球在線支付巨頭 Stripe 的創始人的一篇文章,其中提到。There are also a few individual people, like Fabrice Bellard, Jeff Dean, and Dan Bernstein, who are just generally fabulously productive and make me feel guilty about how little I get done. 好吧,Jeff Dean…,與 Jeff Dean 并列,足以說明 Fabrice Bellard 的超強實力與卓越成就。
Fabrice Bellard 個人主頁:http://bellard.org/
<span id="shareA4" class="fl">
</span>