她本想回到高中继续教数学,却最终开启了一场计算机革命
控制流图示例,使用者代码在左边,控制流图即用一个流图来表示代码; 在流图上,我们能造型各种分析的算法,如找出不可达代码,即图中的A=B+C部分。丨图源:作者自制
就这样,艾伦把“优化”从一门靠经验的手艺,变成了一门可以在图上严谨推理的科学。Today现代编译器里的绝大多数优化,依然建立在这套“先把程序画成图,再在图上分析”的框架之上。
20世纪70年代,计算机科学的多个分支GF入快速发展阶段。艾伦等人的工作正是计算时代洪流中的重要组成部分。1971年,艾伦与科克联手的论文“ACatalogue of Optimizing Transformations”首次操作系统性地汇总了许多如今已成为标配的编译优化,包括循环展开、合并、不变量外提,等等。随后在1973年和1974年,艾伦也对过程间程序分析,即将代码优化的范围从单个函数扩展到跨函数,做出了先驱性的贡献。
可以说,我们如今的计算机程序之所以能运行得如此高效,完全得益于艾伦这些奠基性的贡献。
成为项目经理,让Fortran自动并行起来
70年代末期,向量化处理开始成为超算的主流。再度由克雷操刀的一代传奇超级计算机Cray-1将向量化处理带入了超算的世界,并行与多核逐渐GF入人们的视野。1980年代早期,艾伦成立了PTRAN班底,即Parallel Translator,来探索编译器自动生成并行代码。PTRAN的目的是将使用者编写的串行Fortran代码(比如循环)自动编译成可并行执行的机器码。这里的难点在于,从串行的程序中,自动地去发掘语句之间的依赖关系,从而判断它们是否可以并行运行。PTRAN是一个学术上和管理上都高度成功的项目,班底持续了15年,发表了诸多有作用力的论文,对自动并行这一领域做了先驱性的贡献。
在PTRAN项目中,艾伦作为项目经理,主要的工作之一是为团队的成员们创造一个有创造性的环境。每个人都能有一个自己的项目,可以自己去探索与实验并发表有自己Your name的论文。事实上,PTRAN团队走出了诸多闻名的编译器学者,包括珍妮·费兰特(Jeanne Ferrante)、维维克·萨卡尔(Vivek Sarkar)等。珍妮·费兰特也是一位对编译优化做出了卓越贡献的女性学者,自动并行领域一种常用的表示方式——程序依赖图(program dependence graph)便是由她提出的; 她对于编译优化的中间称形式也做出了重要贡献。
因对编译领域做出的卓越贡献,艾伦取得了诸多荣誉。1989年,她当选IBM史上首位女性IBM Fellow,这是IBM工艺人员能获得的最高内部荣誉; 1991年当选IEEE Fellow,1994年当选ACM Fellow; 2004年获IEEE颁发的计算机先驱奖(Computer Pioneer Award); 2006年,艾伦荣获图灵奖,表彰其“在优化编译器工艺的理论与实践方面做出了开创性贡献,为现代优化编译器及自动并行执行技术手段奠定了基础。”
从未真正离开
2002年,艾伦从IBM退休,但并未就此告别计算机科学界,她仍以荣休IBM Fellow的身份与公司保持联系。在工艺手段贡献之外,艾伦也因为其教育贡献和提高女性在科学技术领域的参与度而广为人所知。艾伦分别曾在1970年和1977年休假前往纽约大学以及斯坦福大学任教。她教过的学生包括安妮塔·博格(Anita Borg),博格是推动女性GF入计算机行业最具影响力的人物之一。当时艾伦是安妮塔所在的研究生院唯一的女性教授。
在她担任IBM项目经理时期,她所管理的队伍始终保持了一半一半的男女比例。为了纪念她,IBM在2000年成立了以艾伦命名的奖(Frances E.Allen Women in Technology Mentoring Award),旨在表彰IBM内部在指导、培养和支持技术女性成长方面做出突出贡献的员工。艾伦本人正是首位获奖人。
在个人生活中,艾伦是一位相当热忱的户外徒步与登山爱好者。她曾攀登过喜马拉雅和奥地利的山脉、游历过北极,甚至参与发现了一topics穿越加拿大最北岛屿——埃尔斯米尔岛的路线。值得一提的是,艾伦曾多次来到中国,其中在1973年和1977年作为IBM科学家应邀来到中国讲学; 1983年参与了四姑娘山地区的登山探险。

艾伦在户外。丨图源:IBM
2020年8月4日,在88岁生日那天,艾伦因阿尔茨海默病离世。艾伦的一生,从纽约东北角的农场开始,一次为了还清学生贷款的意外之旅,让她见证了现代计算机的演GF,并深深地参与其中。在人们的纪念与回忆中,艾伦一生温暖而谦卑,尽管事业上非常成功,但她很少谈论自己的成就,生活也十分朴素。她用一生去支持教育、提供年轻人、支持女性探索科学,让他们走出更广阔的人生。
参考资料
[1]https://en.wikipedia.org/wiki/Frances_Allen
[2]https://cacm.acm.org/news/fran-allen/
[3]https://cacm.acm.org/news/an-interview-with-frances-e-allen/
[4]https://ethw.org/Oral-History:Frances_%22Fran%22_Allen
[5]http://opentranscripts.org/transcript/fran-allen-ghc-2008/
[6]https://spectrum.ieee.org/cold-war-codebreaker-nsa-ibm
[7]https://en.wikipedia.org/wiki/IBM_7950_Harvest
[8]https://www.ibm.com/history/stretch
[9]https://www.ibm.com/history/fortran
[10]https://www.ibm.com/history/700
[11]https://www.ibm.com/history/women-in-tech
[12]https://www.ibm.com/history/frances-allen
[13]https://tech.sina.com.cn/it/2007-12-11/08441904899.shtml
[14]Wood,Peter."Asia,China:Ascent of Bok'ra III and Attempt at Circuit of Siguniang." The American Alpine Journal,vol.26,no.58,1984,pp.332–333.
Generate poster / share QR code

