Frances Elizabeth Allen (August 4, 1932 – August 4, 2020) was an American computer scientist and pioneer in the field of optimizing compilers. Allen was the first female IBM Fellow and in 2006 became the first woman to win the Turing Award [A computer award virtually equivalent to a Nobel Prize]. Her achievements include seminal work in compilers, program optimization, and parallelization. She worked for IBM from 1957 to 2002, and was subsequently a Fellow Emerita.
Career and Research
Deeply in debt, she joined IBM
Research in Poughkeepsie, New York, as a programmer in 1957, where she
taught incoming employees the basics of Fortran. She planned to return to
teaching once her student loans had been paid but ended up staying with IBM for
her entire 45-year career. Allen was assigned to the Harvest project
for code breaking with the National Security Agency in 1959 and
worked on a programming language called Alpha. She
managed the compiler-optimization team for both Harvest and the Stretch project.
In 1962, she was transferred to Thomas J. Watson Research Center, where
she contributed to the ACS-1 project and in the 1970s to PL/I.
During these years, she worked with fellow researcher John Cocke to
write a series of seminal papers on optimizing compilers, helping to
improve the efficiency of machine code translated from high-level languages.
From 1970 to 1971 she spent a sabbatical at New
York University and acted as adjunct professor for a few years
afterwards. Another sabbatical brought her to Stanford University in
1977.
From 1980 to 1995, Allen led IBM's work
in the developing parallel computing area, and helped to develop
software for IBM's Blue Gene project. Allen became the first
female IBM Fellow in 1989. She retired from IBM in 2002 but remained
affiliated with the corporation as a Fellow Emerita. In 2007, the IBM Ph.D.
Fellowship Award was created in her honor. After retiring, she remained
active in programs that encouraged women and girls to seek careers in science
and computing.
Her A. M. Turing Award citation reads:
Fran Allen's work has had an enormous
impact on compiler research and practice. Both alone and in joint work
with John Cocke, she introduced many of the abstractions, algorithms, and
implementations that laid the groundwork for automatic program optimization
technology. Allen's 1966 paper, "Program Optimization," laid the
conceptual basis for systematic analysis and transformation of computer
programs. This paper introduced the use of graph-theoretic structures to encode
program content in order to automatically and efficiently derive relationships
and identify opportunities for optimization. Her 1970 papers, "Control
Flow Analysis" and "A Basis for Program Optimization"
established "intervals" as the context for efficient and effective
data flow analysis and optimization. Her 1971 paper with Cocke, "A Catalog
of Optimizing Transformations," provided the first description and
systematization of optimizing transformations. Her 1973 and 1974 papers on
interprocedural data flow analysis extended the analysis to whole programs. Her
1976 paper with Cocke describes one of the two main analysis strategies used in
optimizing compilers today. Allen developed and implemented her methods as part
of compilers for the IBM STRETCH-HARVEST and the experimental Advanced
Computing System. This work established the feasibility and structure of modern
machine- and language-independent optimizers. She went on to establish and lead
the PTRAN project on the automatic parallel execution of FORTRAN programs. Her
PTRAN team developed new parallelism detection schemes and created the concept
of the program dependence graph, the primary structuring method used by most
parallelizing compilers.
— Association for Computing Machinery (ACM), Citation
for the A. M. Turing Award 2006
Allen died on August 4, 2020, her 88th
birthday, from complications with Alzheimer’s disease.
No comments:
Post a Comment