作者:Liu Guo Hui,OpenStack中国社区,转载请注明出处

众所周知,虚拟化技术是构建云基础架构不可或缺的关键技术之一,而在众多虚拟化技术实现当中,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/

不朽传奇-云计算技术背后的那些天才程序员:Qemu的作者法布里斯贝拉相关推荐

  1. 云计算技术背后的那些天才程序员:KVM之父Avi Kivity

    摘要:KVM以其精简的架构,清晰的定位获得Linux社区多数开发人员的支持并快速被合并入主干,从而成为x86全虚拟化技术的一颗新星,其提出者Avi Kivity对于计算机体系架构和Linux内核有深入 ...

  2. 与Linus Torvalds“并列”,虚拟化天才程序员法布里斯贝拉

    摘要:谈起阿兰·图灵.高德纳.艾兹赫尔·戴克斯特拉,我们并不陌生,这些振聋发聩名字背后是颠覆了人类生活的现代计算机工业.然而有些人的荣誉却远低于他的贡献,比如Fabrice,过去20年最闪亮和最有影响 ...

  3. 天才程序员的灵魂-现实与虚幻世界中的极客精神

    在我的上一篇文章中(不朽传奇-云计算技术背后的那些天才程序员:Qemu的作者法布里斯贝拉) 提到了Bellard是一个极具黑客气质的天才程序员,从某种意义上来说,只有黑客精神能完美阐述Bellard那 ...

  4. 云计算技术背后的天才程序员:Open VSwitch鼻祖Martin Casado

    摘要:Martin Casado被称为软件定义网络之父,OpenFlow的发明人.Nicira的创始人.硅谷最炙手可热的"40 under 40"之一,另外,他提交的虚拟交换机Op ...

  5. 天才程序员的传奇人生:项目被总统抢走,在瞄准镜下写完代码后被捕入狱

    作者 | Nathaniel Popper ,Ana Vanessa Herrero 译者 | 核子可乐 编辑 | Tina 委内瑞拉的石油币,原本只是一位程序员的创业项目.2017 年,27 岁的程 ...

  6. 一个天才程序员的黑帮大佬人生

    有的程序员驱动光明世界,也有程序员成为黑暗疆域主宰. 这就是刚刚被曝光的"保罗哥"事迹. Paul Le Roux (保罗·乐·鲁克斯),一个47岁程序员,1972年生于津巴布韦, ...

  7. 有的程序员驱动光明世界,也有程序员成为了黑暗疆域的主宰!一个天才程序员的黑帮大佬人生

    一个天才程序员的黑帮大佬人生.这就是刚刚被曝光的"保罗哥"事迹. Paul Le Roux (保罗·乐·鲁克斯),一个47岁程序员,1972年生于津巴布韦,码农生涯开始于南非,靠加 ...

  8. 综艺《燃烧吧!天才程序员》:科技类真人秀凭什么吸引人?它是在消费群体吗?

    程序员可能没想到,有一天自己能成为一档真人秀综艺的主角.<燃烧吧!天才程序员>让人心中浮现了很多小问号:看什么,看他们敲着键盘写代码吗? 这是国内首档程序员真人秀,经过层层筛选的20位顶尖 ...

  9. 吃瓜吃瓜:国内首档程序员真人秀来袭!天才程序员鹿死谁手?

    程序员可能没想到,有一天自己能成为一档真人秀综艺的主角.<燃烧吧!天才程序员>让人心中浮现了很多小问号:看什么,看他们敲着键盘写代码吗? 这是国内首档程序员真人秀,经过层层筛选的20位顶尖 ...

最新文章

  1. tsconfig.json编译选项
  2. python培训学费多少钱-大连python培训多少钱?
  3. 【有源汇点上下界最小流】[SGU176]Flow construction
  4. 《Node.js区块链开发》——1.6 参考
  5. Android VideoView无法播放网络视频
  6. 勒索病毒如何防治?看阿里云双拳出击不留隐患
  7. python2和3语法区别_python2和3语法区别
  8. (王道408考研数据结构)第六章图-第四节1:最小生成树之普利姆算法(思想、代码、演示、答题规范)
  9. css 百分比 怎么固定正方形_web前端入门到实战:一次搞懂CSS字体单位:px、em、rem和%
  10. nginx windows启动停止_Nginx之3抛砖引玉 - (目录索引)
  11. MacBook高效优先设置,你都开启了吗?
  12. MCS:连续随机变量——Erlang分布
  13. 弱电工程数据中心机房现状定位优化
  14. 中文数字转阿拉伯数字
  15. java jersey使用总结_jersey Java Jersey配置
  16. 台式计算机默认关机变注销,win10系统关机变注销的解决方案
  17. 计网 应用题、计算题 答案详解 总结(已更完)
  18. web网页设计期末课程大作业——基于HTML仿唯品会电商项目的设计与实现
  19. P5594 【XR-4】模拟赛 java题解
  20. maven 本地仓库配置

热门文章

  1. 【转】注册Azure AD 2.0 应用程序
  2. SharePoint关于publish page, WiKi page, Web part page区别
  3. !何为脏读、不可重复读、幻读
  4. c语言大数相加oj,郑州轻工业大学oj题解(c语言)论如何正确的提高正确率:水题合集(四)...
  5. Python3 爬虫学习笔记 C10【数据储存系列 — MySQL】
  6. matlab连接mysql教程视频_Matlab建立到Oracle数据库的连接
  7. 【ZOJ - 2949】Coins of Luck (概率dp,期望)
  8. 【CodeForces - 706C】Hard problem(dp,字典序)
  9. 从零开始学视觉Transformer(2):图像与Transformer基础
  10. Django项目部署在Centos7