不朽传奇-云计算技术背后的那些天才程序员: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/
作者:Liu Guo Hui,来自:OpenStack中国社区