ECO中文网

标题: 2006 弗兰西斯-艾伦 [打印本页]

作者: shiyi18    时间: 2022-4-17 23:03
标题: 2006 弗兰西斯-艾伦
Frances Allen

PHOTOGRAPHS
BIRTH:
August 4, 1932, Peru, New York

DEATH:
August 4, 2020

EDUCATION:
BA (mathematics, New York State College for Teachers, 1954); summer courses at Columbia University; MA (mathematics, University of Michigan, 1957); six honorary Doctor of Science degrees (University of Alberta, 1991; Pace University, 1999; University of Illinois Champaign-Urbana, 2004; University of Michigan, Ann Arbor, 2008; State University of New York at Albany, 2008; McGill University, 2009); honorary Doctor of Engineering degree (University of Notre Dame, 2008)

EXPERIENCE:
High school math teacher for two years; IBM (International Business Machines) Corporation (teaching FORTRAN to company scientists and engineers, 1957-1959; design and management of compiler for Stretch/Harvest computer, 1959-1963; design and development of experimental optimizing compiler for IBM ACS project, 1963-1968; compilers for Future Systems (FS) project, 1970-1973; visiting professor (partly on sabbatical from IBM) at New York University, 1970-1973; initiator and manager of Experimental Compiling Systems project, 1973-1980; development of product compilers, 1980-1985; initiator and manager of Parallel Programming Technology project, 1984-1994; IBM Fellow and President of the IBM Academy of Technology, 1995-1996; IBM Fellow and Senior Technical Advisor, SAS and BlueGene project, 1996-2002; IBM Fellow Emerita, from 2002)

HONORS AND AWARDS:
IBM Corporate Award for Algorithms for Optimizing Compilers (1968); Member of the US National Academy of Engineering (1987); IBM Fellow (1989); IEEE Fellow (1991); ACM Fellow (1994); Fellow, American Academy of Arts and Sciences (1994); IEEE Computer Society Charles Babbage Award (1997); Women in Technology International (WITI) Hall of Fame (1997); Fellow, Computer History Museum (2000); Member, American Philosophical Society (2001); Association for Women in Computing Ada Lovelace Award (2002); IEEE Computer Society Computer Pioneer Award (2004); Anita Borg Technical Leadership Award (2004); ACM Turing Award (2006); Member of the US National Academy of Sciences (2010)


FRANCES ("FRAN") ELIZABETH ALLEN DL Author Profile link
United States – 2006
CITATION
For pioneering contributions to the theory and practice of optimizing compiler techniques that laid the foundation for modern optimizing compilers and automatic parallel execution. press release

SHORT ANNOTATED
BIBLIOGRAPHY
ACM TURING AWARD
LECTURE VIDEO
RESEARCH
SUBJECTS
ADDITIONAL
MATERIALS
VIDEO INTERVIEW
Frances Elizabeth ("Fran") Allen was born August 4, 1932. She was the oldest of six children and grew up on a farm in Peru, New York, near Lake Champlain. Her father was a farmer, and her mother an elementary-school teacher.

In high school she was greatly inspired by her math teacher, and set out to become a math teacher herself. She attended the New York State College for Teachers (now the State University of New York at Albany) for four years and earned a BA in mathematics with a minor in physics as well as education credits. She then taught math -- everything from elementary algebra to advanced trigonometry -- for two years at the same high school she had attended.

She realized that she would need a master's degree to be fully certified as a teacher. After taking some summer courses at Columbia University, she enrolled at the University of Michigan at Ann Arbor and earned an MA in mathematics. She also took courses in computing there—some of the first ever offered—and learned how to program an IBM 650 from Bernard Galler, who was a co-developer of the MAD programming language and later President of the ACM and an ACM Fellow. IBM held job interviews on the Michigan campus and offered her a job in research. She accepted with the idea that she would earn enough money to pay off her student debts and then return to teaching. Instead, she stayed at IBM for the next 45 years.

She joined IBM on July 15, 1957, exactly two months after the FORTRAN programming language had been released. Her first assignment was to teach research scientists within IBM how to use this language and indirectly encourage IBM customers to use it. She did what teachers often must: she learned the subject matter just a few days ahead of her students. As part of this process, she read the source code for the FORTRAN compiler that had been developed by John Backus (later a Turing Award winner) and his team. In her words, "It set my interest in compiling, and it also set the way I thought about compilers, because it was organized in a way that has a direct heritage to modern compilers."

Allen discusses her recruitment by IBM in 1955 and first assignment there teaching FORTRAN.       
She spent most of the rest of her career developing cutting-edge programming language compilers for IBM Research. At first she worked on the IBM 704’s Monitored Automatic Debugging operating system (developed by Roy Nutt, who had also implemented the FORMAT statement for the FORTRAN compiler), but her first major project was for the Stretch/Harvest computer.

Allen describes IBM’s STRETCH computer, by far the fastest in the world when the first one was delivered in 1961.       
Stretch was one of the first supercomputers, and Harvest was a coprocessor for Stretch that had been designed for the US National Security Agency (NSA) to do codebreaking of secret messages. Allen and her team designed a single compiler framework to handle three very different programming languages: FORTRAN, Autocoder (a business language similar to COBOL), and the new language Alpha (designed for rapidly detecting patterns in arbitrary text represented in any alphabet). The three language compilers shared a common optimizing back end that could produce code for both the Stretch supercomputer and its Harvest coprocessor. This was an extraordinarily ambitious effort for the time, and they pulled it off. Allen served as the liaison between IBM and NSA, coordinating the design of the Alpha language and its acceptance tests. She spent a year in 1962 at NSA overseeing the installation and testing of the system, which was used for 14 years before being retired in 1976.

Allen discusses her work developing compilers for IBM’s STRETCH computer, its HARVEST application, and its performance challenges.       
At that point she was offered the opportunity to coordinate programming language work for the IBM System/360, but that would have required a lot of traveling. After all the traveling she had done while working on Harvest, she decided to decline that offer and instead return to IBM Research at the new T. J. Watson Research building in Yorktown, New York. She joined Project Y, which allowed her to collaborate once again with John Cocke, another future Turing Award winner who had worked on the hardware for Stretch. Project Y, later called the Advanced Computing Systems project (ACS), included another set of cutting-edge advances in computer system design. The hardware might be described in today's terms as the first "superscalar" processor, where the central processing unit does not execute instructions one at a time as in previous designs, but works on several instructions at once, perhaps even performing instructions "in the wrong order" to get the work done more quickly. The compiler techniques for this project represented equally novel technological improvements, including new "flow analysis" techniques that allowed the compiler to automatically optimize programs for greatly improved performance.

A key advance was to represent programs within the compiler not as a sequence of statements as in the original source code, but as a mathematical graph that could be analyzed to discover hidden properties of the code -- such as that a computed value could be re-used in another region of the code, or that it would definitely not be needed in yet another region of code. The techniques involved two clever tricks: labeling edges of the graph with mathematical sets, and then representing those sets with a very compact data structure that required only a single bit (0 or 1) of storage for each member of the set. That allowed the sets to be processed rapidly. In addition, a mathematical technique for decomposing the graphs into "intervals" allowed the sets attached to the edges to be processed in an order that usually resulted in the greatest efficiency. These techniques developed for the ACS compilers allowed both the compilers themselves and the programs they processed to execute much faster than in previous systems.

Allen was then assigned to work on IBM’s doomed "Future Systems" (FS) project, which aimed to revolutionize the way IBM built computer systems. She thought the machine architecture was technically flawed in ways that would limit performance. She wrote a letter to IBM management saying so, and recalls that it "was kind of put on the shelf for a while." After four years, the project was killed.

She took a sabbatical from IBM to teach graduate courses on compilers at the Courant Institute for Mathematical Sciences at New York University at the invitation of Jacob "Jack" Schwartz, creator of the SETL programming language and the NYU Ultracomputer at the Courant Institute. Schwartz had previously visited IBM to collaborate with her and John Cocke on ACS. Later, she and Schwartz were married.

Her next major project for IBM was the Experimental Compiler Systems project (ECS). This system, like the earlier compiler framework for Stretch/Harvest, was designed to support multiple programming languages. But the primary focus was on a new language called PL/I, which presented much more difficult problems for an optimizing compiler. ECS featured aggressive interprocedural analysis, procedure inlining, an extensive collection of optimizing transformations, and a runtime environment that allowed the free mixing of interpreted code and optimized compiled code.

Allen's last big project for IBM was the Parallel Translator (PTRAN), a system for compiling Fortran programs not specially written with parallelism in mind for execution on parallel computer architectures. For this effort she consulted with David Kuck (later an ACM Fellow) at the University of Illinois, who worked for many years on parallelizing compilers. She eventually hired some of Kuck’s students, including Ron Cytron (later an ACM Fellow). She applied her extensive experience with interprocedural flow analysis to produce new algorithms for extracting parallelism from sequential code. PTRAN introduced the concept of the program dependence graph, a representation now used by many parallelizing compilers.

Allen discusses her work on parallel compilers, in collaboration with academic research teams.       
Allen was named an IBM Fellow in 1989, an IEEE Fellow in 1991, and an ACM Fellow in 1994. She retired from IBM in 2002. As an IBM Fellow Emerita, she has continued to advise IBM on a number of projects including the Blue Gene supercomputer, and has worked to encourage the involvement of other women in computer-related fields.

Allen has traveled internationally not only to give lectures about compilers, but also for athletic pursuits: she is a veteran of many mountain-climbing expeditions in Austria, China, Tibet, and elsewhere.

Fran Allen's focus has not been on inventing new programming languages or language features and then trying to get people to program using them. Rather, she focused on taking programs as programmers like to write them, and made them run efficiently by doing sophisticated analysis and optimization of the code. She didn’t create paper designs, but a series of working systems that run real programs, not just artificial benchmarks, faster. Today's programming language compilers still rely on techniques that she pioneered.

Author: Guy Steele



弗兰西斯-艾伦

照片
出生地:纽约
1932年8月4日,秘鲁,纽约

逝世
2020年8月4日

教育经历。
文学士(数学,纽约州教师学院,1954年);哥伦比亚大学夏季课程;硕士(数学,密歇根大学,1957年);六个荣誉科学博士学位(阿尔伯塔大学,1991年;佩斯大学,1999年;伊利诺伊大学香槟-乌尔巴纳分校,2004年;密歇根大学安娜堡分校,2008年;纽约州立大学奥尔巴尼分校,2008年;麦吉尔大学,2009年);荣誉工程博士学位(圣母大学,2008年)

工作经验。
高中数学教师两年;IBM(国际商业机器)公司(1957-1959年,向公司科学家和工程师教授FORTRAN;1959-1963年,设计和管理Stretch/Harvest计算机的编译器;1963-1968年,为IBM ACS项目设计和开发实验性优化编译器;1970-1973年,为未来系统(FS)项目开发编译器;1970-1973年,纽约大学客座教授(部分是IBM的休假)。1973-1980年,实验编译系统项目的发起人和经理;1980-1985年,产品编译器的开发;1984-1994年,并行编程技术项目的发起人和经理;1995-1996年,IBM研究员和IBM技术研究院院长;1996-2002年,IBM研究员和SAS和BlueGene项目的高级技术顾问;2002年起,IBM荣誉研究员)

荣誉和奖项。
IBM公司优化编译器算法奖(1968年);美国国家工程院院士(1987年);IBM院士(1989年);IEEE院士(1991年);ACM院士(1994年);美国艺术与科学院院士(1994年);IEEE计算机协会查尔斯-巴贝奇奖(1997年);国际技术界妇女名人堂(1997年)。计算机历史博物馆研究员(2000年);美国哲学学会会员(2001年);计算机界妇女协会艾达-拉芙拉斯奖(2002年);IEEE计算机协会计算机先锋奖(2004年);安妮塔-博格技术领导奖(2004年);ACM图灵奖(2006年);美国国家科学院院士(2010年)


FRANCES ("FRAN") ELIZABETH ALLEN DL作者简介链接
美国 - 2006年
奖状
对优化编译器技术的理论和实践做出了开创性贡献,为现代优化编译器和自动并行执行奠定了基础。 新闻稿

简短注释
参考文献
亚马逊图灵奖
讲座视频
研究成果
主题
额外的
材料
视频采访
弗兰西斯-伊丽莎白("弗兰")-艾伦生于1932年8月4日。她是六个孩子中最年长的一个,在纽约州秘鲁市的一个农场长大,靠近尚普兰湖。她的父亲是个农民,母亲是小学教师。

在高中时,她受到她的数学老师的极大启发,并立志自己成为一名数学老师。她在纽约州教师学院(现在的纽约州立大学奥尔巴尼分校)学习了四年,获得了数学学士学位,并辅修了物理学和教育学分。然后,她在她曾就读的同一所高中教了两年的数学--从初级代数到高级三角学的所有课程。

她意识到,她需要一个硕士学位才能完全获得教师资格。在哥伦比亚大学学习了一些暑期课程后,她进入密歇根大学安阿伯分校学习,获得了数学硕士学位。她还在那里学习了计算机课程--其中一些是有史以来最早开设的课程--并向伯纳德-盖勒学习如何为IBM 650编程,盖勒是MAD编程语言的共同开发者,后来成为ACM主席和ACM研究员。IBM在密歇根校园举行了工作面试,并为她提供了一份研究工作。她接受了这份工作,认为她可以赚到足够的钱来偿还她的学生债务,然后再回到教学岗位。相反,她在接下来的45年里一直在IBM工作。

她于1957年7月15日加入IBM,正好是FORTRAN编程语言发布的两个月后。她的第一个任务是教IBM内部的研究科学家如何使用这种语言,并间接地鼓励IBM客户使用这种语言。她做了教师经常必须做的事情:她比她的学生早几天学会了这个主题。作为这个过程的一部分,她阅读了由约翰-巴克斯(后来成为图灵奖得主)和他的团队开发的FORTRAN编译器的源代码。用她的话说,"它确定了我对编译的兴趣,也确定了我对编译器的思考方式,因为它的组织方式对现代编译器有直接的传承。"

艾伦谈到了她在1955年被IBM聘用,并在那里第一次被指派教授FORTRAN。       
她在职业生涯的大部分时间里都在为IBM研究院开发最先进的编程语言编译器。起初,她在IBM 704的监控自动调试操作系统上工作(由Roy Nutt开发,他也为FORTRAN编译器实现了FORMAT语句),但她的第一个主要项目是为Stretch/Harvest计算机。

艾伦描述了IBM的STRETCH计算机,当第一台计算机在1961年交付时,它是迄今为止世界上最快的计算机。       
斯特拉奇是第一批超级计算机之一,而丰收是斯特拉奇的一个协处理器,是为美国国家安全局(NSA)设计的,用于对秘密信息进行破译。艾伦和她的团队设计了一个单一的编译器框架来处理三种非常不同的编程语言。FORTRAN,Autocoder(一种类似于COBOL的商业语言),以及新的语言Alpha(设计用于快速检测以任何字母表示的任意文本的模式)。这三种语言的编译器共享一个共同的优化后端,可以为Stretch超级计算机和它的Harvest协处理器产生代码。这在当时是一个非常雄心勃勃的努力,而他们成功了。艾伦担任了IBM和NSA之间的联络人,协调Alpha语言的设计和验收测试。1962年,她在NSA呆了一年,监督系统的安装和测试,该系统在1976年退休前被使用了14年。

艾伦讨论了她为IBM的STRETCH计算机开发编译器的工作,它的HARVEST应用程序,以及它的性能挑战。       
这时,她得到了为IBM System/360协调编程语言工作的机会,但这需要大量的旅行。在她为HARVEST工作时做了那么多旅行之后,她决定拒绝这个机会,而是回到了位于纽约州约克镇的T.J.Watson新研究大楼的IBM研究部门。她加入了Y项目,这使她能够再次与约翰-科克合作,他是另一位未来的图灵奖得主,曾为Stretch的硬件工作。项目Y,后来被称为先进计算系统项目(ACS),包括计算机系统设计的另一组尖端进展。用今天的话来说,该硬件可能被描述为第一个 "超标量 "处理器,中央处理单元不像以前的设计那样一次执行一条指令,而是同时处理几条指令,甚至可能 "以错误的顺序 "执行指令,以更快地完成工作。这个项目的编译器技术代表了同样新颖的技术改进,包括新的 "流程分析 "技术,使编译器能够自动优化程序,从而大大改善性能。

一个关键的进步是在编译器中表示程序,而不是像原始源代码中的语句序列,而是一个数学图,可以通过分析发现代码的隐藏属性--比如一个计算值可以在代码的另一个区域重新使用,或者在另一个代码区域肯定不需要它。这些技术涉及两个巧妙的技巧:用数学集标记图的边缘,然后用一个非常紧凑的数据结构表示这些集,该结构对集的每个成员只需要一个位(0或1)的存储。这使得这些集合能够被快速处理。此外,一种将图形分解为 "区间 "的数学技术允许以通常能带来最大效率的顺序处理与边缘相连的集合。为ACS编译器开发的这些技术使编译器本身和它们处理的程序的执行速度比以前的系统快得多。

随后,艾伦被分配到IBM注定要失败的 "未来系统"(FS)项目工作,该项目旨在彻底改变IBM构建计算机系统的方式。她认为该机器架构在技术上存在缺陷,会限制性能。她给IBM管理层写了一封信说,并回忆说,这个项目 "被搁置了一段时间"。四年后,该项目被终止。

在雅各布-"杰克"-施瓦茨的邀请下,她从IBM休假,在纽约大学库兰特数学科学研究所教授编译器的研究生课程,库兰特研究所的SETL编程语言和纽约大学超级计算机的创造者。施瓦茨以前曾访问过IBM,与她和约翰-科克合作开发ACS。后来,她和施瓦茨结婚了。

她为IBM做的下一个主要项目是实验性编译器系统项目(ECS)。这个系统,就像早期的Stretch/Harvest的编译器框架一样,被设计为支持多种编程语言。但主要的重点是一种叫做PL/I的新语言,它为优化编译器带来了更多的困难问题。ECS的特点是积极的程序间分析、程序内联、大量的优化转换,以及允许解释代码和优化编译代码自由混合的运行环境。

艾伦为IBM做的最后一个大项目是并行翻译器(PTRAN),这是一个编译Fortran程序的系统,在编写时没有特别考虑到并行性,以便在并行计算机结构上执行。为了这项工作,她咨询了伊利诺伊大学的David Kuck(后来成为ACM研究员),后者在编译器的并行化方面工作了很多年。她最终雇用了库克的一些学生,包括罗恩-赛创(后来成为ACM研究员)。她运用她在程序间流程分析方面的丰富经验,产生了从顺序代码中提取并行性的新算法。PTRAN引入了程序依赖图的概念,这种表示方法现在被许多并行编译器使用。

艾伦讨论了她与学术研究团队合作进行的并行编译器工作。       
艾伦在1989年被评为IBM院士,1991年被评为IEEE院士,1994年被评为ACM院士。她于2002年从IBM退休。作为IBM荣誉院士,她继续为IBM的一些项目提供咨询,包括蓝色基因超级计算机,并努力鼓励其他女性参与计算机相关领域。

艾伦曾在国际上旅行,不仅是为了发表关于编译器的演讲,也是为了运动:她是在奥地利、中国、西藏和其他地方进行多次登山探险的老手。

弗兰-艾伦的重点不是发明新的编程语言或语言功能,然后试图让人们使用它们来编程。相反,她专注于把程序员喜欢写的程序,通过对代码进行复杂的分析和优化,使其高效运行。她创造的不是纸上谈兵的设计,而是一系列工作系统,这些系统可以更快地运行真正的程序,而不仅仅是人工基准。今天的编程语言编译器仍然依赖于她所开创的技术。

作者。盖伊-斯蒂尔




欢迎光临 ECO中文网 (http://47.242.131.150/) Powered by Discuz! X3.3