Tuesday, September 21, 2021

Optimizer of compilers, code and parallel computing trailblazer Fran Allen

 

Frances Allen, linocut 9.25" x 12.5", by Ele Willoughby, 2021
 

This is my linocut portrait of trailblazing American computer scientist Frances Elizabeth Allen (August 4, 1932 – August 4, 2020) who made foundational contributions to optimizing compilers (which translate code written in computer languages to the machine code in ones and zeroes actually used by computers), optimizing programs and parallel computing. This work has made computers and everything they do faster and more efficient. Compiler expert Graydon Hoare told the New York Times that her work is in “every app, every website, every video game or communication system, every government or bank computer, every onboard computer in a car or aircraft.” She was the first woman to become an IBM Fellow, where she worked from 1957 to 2002 and as an emeritus fellow afterwards. She was the first woman to win the prestigious A.M. Turing Award or contributions "of lasting and major technical importance to the computer field". I made this portrait for the #mathyear prompt: Turing Award.

She grew up the eldest of six kids on a farm near Lake Champlain; her mother was a teacher and her father a farmer. She went to elementary school in a one-room schoolhouse before attending a local high school and then the New York State College for Teachers where she graduated with a degree in mathematics in 1954. She worked as a teacher, back at her old high school, before returning to study at the University of Michigan for a MSc in mathematics in 1957.
 
IBM Research was recruiting and Allen needed to pay off student loans so she took the job. They wanted  their employees to learn and use FORTRAN (FORmula TRANslation, the first and newly introduced high-level programming language).  With her teaching experience and some basic computing courses under her belt, she was assigned to teach FORTRAN while simultaneously learning it herself. She said she had to teach these unhappy scientists (who were skeptical that a high-level language could work as well as assembly code) and became enamored with FORTRAN and its possibilities for productivity and performance. As Grace Hopper argued, "It's much easier for most people to write an English statement than it is to use symbols. So I decided data processors ought to be able to write their programs in English, and the computers would translate them into machine code." Her goal became to make those compilers, the translators, more efficient. Allen had intended to return to her first love, teaching high school math, but instead stayed with IBM for 45 years. 

In 1959 Allen managed the compiler-optimization teams for Harvest and Stretch, IBM's first transitorized 100 kW supercomputer. With its 2048 kB of memory the goal was to make it 100 times faster than contemporary machines! While it was not a hit with clients (as it apparently still took 18 hours to produce a 24-hour weather forecast), it impressed the National Security Agency. Allen was then assigned to the Harvest project for code breaking (of messages from the Soviet Union intercepted by American spies) and she spent a year leading an NSA team on classified projects. Harvest was such a success, thanks to Allen's optimization of the compiler, it was used for 14 years despite the pace of technological innovation. She also worked on the Alpha computer language which could run on Stretch and could create new alphabets beyond the system-defined alphabets. She  In '62 she moved from the IBM facility in Poughkeepsie to Yorkton Heights, where she worked on further supercomputer (ACS-1) and language projects (PL/I). She collaborated with John Cocke on a series of fundamental papers about compiler optimization to improve how higher level languages are translated to machine code. The diagrams in the portrait are from their crucial 1971 paper, 'A Catalogue of Optimizing Transformations'. Their work introduced the concept of using such graph-theoretical structures to encode a program content in order to efficiently and automatically understand how its parts function together and find ways to optimize code.

She did a sabbatical at NYU in 1971 and was thence an adjunct professor there, and a sabbatical at Stanford in 1977. From 1980 to 1995 she led IBM's parallel computing team, developing tools which became broadly used in commercial compilers in personal computers, and developing software for their Blue Gene project. She became the first woman IBM Fellow in 1989. In 1995 she was named president of the IBM Academy of Technology, an internal steering group for the company. In this role she focused on mentoring and women in tech. After her retirement in 2002 she remained as an Emeritus Fellow and continued to work on programs encouraging women and girls to work in computing.

She was a fellow of the IEEE, the AAAS, the American Philosophical Society, the Association for Computing Machinery and the Computer History Museum. She was elected to the National Academy of Sciences. In 1997 she won the IEEE Computer Society Charles Babbage Award and was inducted in the Women in Technology Hall of Fame. She won the IEEE Computer Society Computer Pioneer Award in 2004. She won the Association for Women in Computing Augusta Ada Lovelace Award in 2002 and the ABIE Award for Technical Leadership from the Anita Borg Institute in 2004. In 2006, she won the Associating of Computing Machinery A.M. Turing Award,  for contributions "of lasting and major technical importance to the computer field" in recognition of her work with supercomputers.  She was the first woman to win the prestigious award in its 40 year history.

When she wasn't working she enjoyed other challenges and adventures, as an avid runner, mountain climber and participant in expeditions to the to the Artic and on the Chinese/Tibet border. 


In 2022, the IEEE will present the IEEE Frances E. Allen Medal for the first time for innovative work in computing leading to lasting impact on other fields of engineering, technology, or science.

References

Frances Allen, wikipedia, accessed September, 2021

Allen, Frances E.; Cocke, John (1971). Rustin, Randall (ed.). A Catalogue of Optimizing Transformations. Design and Optimization of Compilers. Thomas J. Watson IBM Research Center. Prentice Hall. 

Kim Lyons, Computer scientist Frances Allen, known for her work on compiling, dies at 88, The Verge,

No comments: