雲端計算技術背後的那些天才程式設計師:Qemu的作者法布里斯貝拉

edithfang發表於2014-05-30

眾所周知,虛擬化技術是構建雲基礎架構不可或缺的關鍵技術之一,而在眾多虛擬化技術實現當中,KVM(Kernel Virtual Machine)因為 Linux 核心對其的良好支援(KVM 於 2006 年 10 月被合併入 Linux Kernel 2.6.20 中),以及其精簡的架構(在最新的 Linux Kernel 3.14.rc5 中除硬體之外的核心框架仍然只有不到 10000 行)越來越多的被應用於超大規模的 IaaS 部署中。

但是我們知道執行於核心態的 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/

本文轉載自:openstack
相關閱讀
評論(1)

相關文章