如果哪位老大不知道图灵奖的话,图灵奖是计算机领域的大奖,相当于诺贝尔或者数学的菲尔兹奖。
2006年的图灵奖给了IBM终生院士(IBM Fellow Emerita), Frances E. Allen。ACM的
官方声明说Frances因为在编译器优化的理论和实践方面做出的开创性贡献而获奖。她的工作奠定了现代优化编译器和自动并行化执行的基础。
这里
有IBM研究院牛人的一手八卦。
![](https://p-blog.csdn.net/images/p_blog_csdn_net/g9yuayon/44a3f1bd239849f7976b1c572d2400fa.jpg)
Frances是IBM历史上第一位女院士。IBM Fellow是IBM的最高技术职位。当年 Frances本想当一名光荣的人民教师,于是上了阿尔班尼州立师范(Albany State Teacher’s College),又在密西根大学拿了数学硕士学位。临近毕业,她需要钱偿还学生贷款,才加入IBM Watson 研究中心。说到这儿不得不提T.J Watson Jr.高瞻远瞩,建立IBM研究院系统,并大力推进IBM的公平雇佣政策。上世纪50年代,计算机还是公众眼里的新鲜事物,还是高校里长发胡子男们的内宠。IBM已经开始用My Fair Ladies这类花哨宣传材料广纳女牛,只盼桃花过处,竞争对手寸草不生。有兴趣的可以读Watson Jr.的传记
Father, Son & Co。一转眼,50年过去,Frances带出一票顶尖研发团队,开发出众多优秀大型系统,发表无数经典论文。整个计算机工业界因之改观。于是2007年,图灵奖历史上第一位女英雄诞生。
刚进IBM时Frances负责教工程师们使用Fortran。很快她便发现当时的编译器十分原始,大有值得改进的余地,于是着手研究编译器优化。几年后,IBM推出了世界上第一款Fortran优化编译器。1970年到1980年间她发表了一系列经典论文。1970年的
Control Flow Analysis
和A Basis of Program Optimization一举奠定了基于有向图的程序优化方法,以及基于区间的优化。1971年的A Catalog of Optimizing Transformations更是当时系统执行优化变换的集大成之作。和众多老一辈牛人一样,Frances也是左手理论右手编程的双料高手。她在领导开发IBM的STRETCH系统时,不仅亲手实现了许多她提出的优化算法,还实现了IBM的第一个优化程序的符号调试器。
![](https://p-blog.csdn.net/images/p_blog_csdn_net/g9yuayon/f41e8f0ca09d48a9a392faed3d9b7353.png)
说Frances深刻影响计算机工业界并非夸张。CSDN老大们多半熟知
摩尔定律。不知有多少老大了解
Proebsting’s Law? 简单说,就是编译优化技术让计算能力每18年翻一番。不错,单位面积上的晶体管数量每18个月翻倍,随之带来硬件性能的高速增长。可是没有编译技术帮助我们,强大的硬件性能也不过是我们茶余饭后的谈资而已。
动不动就闹着要用汇编优化程序的老大们也可以洗洗睡了。就凭个人的小脑袋瓜儿,能优化过几十年来几代科学家和工程师千锤百炼的算法么?系统优化早已超越了跟一条两条机器指令较劲的作坊阶段。现代计算机体系对优化的要求也超越了人的进化速度。乱序执行,分支预测,管道优化,缓存优化,自动并行化,基于数据流的全局优化。。。这些技术都需要复杂的分析。现在是改动两条独立指令的执行顺序都可以对程序性能造成明显影响的时代了。更不用说基于Strongtalk和JIT的动态优化技术了。就凭人脑几十万年的缓慢进化,拼死能同时跟踪9个变量的能力,呵呵,我们还是和编译器亲密合作的好。当然,如果哪位老大是下面八卦里的那种人,另当别论:
博弈论的发明人冯.诺依曼智商奇高,习惯于在头脑里做复杂计算和推论。一次在公共汽车上,有人认出冯,就请教下面这道题:
两列火车相隔
200
公里,各以每小时
50
公里的速度,迎头对开。一只苍蝇从其中一列前端出发,以一小时
75
公里的速率,在两列车之间来来回回飞个不停,直到两车相撞、压死苍蝇为止。苍蝇飞过的总距离是多少
?
我们现在都知道火车开了
200/100
=
2
小时。所以苍蝇飞了
75 x 2
=
150
公里。当然,我们也可以求出苍蝇和列车相遇两次间的距离,
再用无穷奇数求和的办法搞定
。但那样做步骤繁复,计算复杂。
据说冯听了问题后,闭目想了几秒钟,给出了正确答案。提问的人自然五体投地,说道,想不到您那么快就想出了答案。能说一下您的解法么?于是人肉计算机冯.诺依曼先生无辜地说道:“当然是用无穷级数求和”。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1512490