7.0
深览指数
科技虎嗅·返朴··AI 生成
她本想回到高中继续教数学,却最终开启了一场计算机革命
弗朗西丝·艾伦本是纽约小镇高中数学老师,为还学生贷款进入IBM教Fortran,意外转入编译器研究,一待45年。文章细述她主导Stretch/Harvest编译器与Alpha语言、在ACS项目中提出控制流图、奠定编译器优化理论,并领导PTRAN团队探索自动并行化,2006年成为图灵奖首位女性得主。适合对计算机底层原理与科学史感兴趣的读者。原文 ↗
核心观点
- ▍弗朗西丝·艾伦通过奠定编译优化与自动并行化的理论基础,使计算机从逐条执行人类指令走向能由编译器自动分析优化程序的模式,2006年成为图灵奖首位女性得主。
- 011954年艾伦从纽约州教师学院毕业,回高中母校教数学;为获取正式教师资格,她贷款去密歇根大学读硕士,因必修外系课程而选修计算机课,首次接触IBM 650。
- 02IBM为推广Fortran招聘艾伦去教科学家使用该语言,她此前对Fortran一无所知;自学编译器源码后产生浓厚兴趣,最终放弃回高中教书的计划,在IBM工作45年。
- 03艾伦是Stretch/Harvest超级计算机编译器的核心设计者,并主导为NSA密码破译任务开发Alpha高级语言,但长期不知合作方真实身份,直到从报纸得知Martin–Mitchell叛逃事件。
- 04在ACS项目中,艾伦于1966年写出内部技术报告《Program Optimization》,首次提出控制流图(CFG),将程序优化从依赖经验的技巧转变为语言独立、机器独立的通用图算法框架。
- 051971年艾伦与约翰·科克合作发表《A Catalogue of Optimizing Transformations》,系统总结循环展开、合并、不变量外提等编译优化;1973-1974年又对过程间程序分析做出先驱贡献。
- 061980年代艾伦成立PTRAN团队,目标是将串行Fortran代码自动编译为可并行执行的机器码,项目持续15年,培养出珍妮·费兰特(提出程序依赖图)、维维克·萨卡尔等编译器学者。
反方 / 局限
- — Stretch/Harvest编译器开发目标过于激进,试图同时处理Fortran、Alpha和Autocoder三种语言并为两种硬件生成代码,项目不算成功;ACS项目也因资源倾斜给System/360而被取消,机器从未造出。
- — 文章未讨论艾伦工作路线之外的其他编译优化流派或争议,对自动并行化后来遭遇的困境(如并行编程模型未统一)也未展开。
20 分钟 · 5 卡片 · 10 资料
读原文 →