Frances E. Allen
Fran Allen es una científica de la computación. Ganadora del 2006 ACM A.M. Turing Award y emérita IBM Fellow. Primera mujer en obtener estos honores. Fran Allen ha hecho contribuciones fundamentales a la teoría y práctica de optimización de programas y construcción de compiladores.
En la entrevista con Guy L. Steele Jr. publicada en Communication of the ACM, Enero 2011, se resaltan algunos logros de Fran Allen así como anécdotas de colegas y algunos de los proyectos en los que participo a lo largo de su carrera. En este documento se resaltan estos proyectos.
IBM 7030 (Strech): fue la primera supercomputadora con transistores. A pesar de ser considerada un fracaso, Allen explica que la tecnología desarrollada para construir Strech marco gran diferencia en la construcción de posteriores maquinas, particularmente la 360.
La primera participación de Allen fue enseñar FORTRAN (Formula Translating System), un lenguaje de programación de alto nivel. Fue enseñando FORTAN en donde aprendió todo sobre compiladores.
Strech Harvest: La Agencia de Seguridad Nacional (NSA) tenía un contracto con IBM para construir un add-on para de Strech para code-breaking. Este contenía un dispositivo de cinta llamador tractor para almacenar gran cantidad de información. Se necesitaba un compilador que manejara FORTRAN, Alpha y Autocoder lo que implicaba tres parsers(analizador sitatico) que fuera de alto a medio nivel de lenguaje, luego un optimizador y un register allocator.
![]()
Allen manejaba el grupo de optimización y era responsable de trabajar con NSA en el diseño de Alpha. Allen destaca que esta máquina estaba sincronizada en la información a nivel de reloj.
The Experimental Compiling System: es una metodología para la construcción de compiladores que usa un compilador base con escalabilidad para crear cualquier compilador. Fue construido como parte de System Y, un proyecto para construir la maquina más rápida del mundo. Posteriormente se paso a ACS (Advance Computing System) que fue cancelado en 1969. En este proyecto se desarrollaron cosas que posteriormente influenciaron a la compañía como predictor de saltos.
En PL/I se representa conjuntos como vectores de bit y se propagan estso por el grafo de contrl de flujo del programa. En el proyecto Y, Allen, construllo grafos de control de flujoy desarrollo un lenguaje sobre los pintos de articulacion en el grafo, abstayendo los DO loops a aglo más general. Y finalmente, basados en jerarquizar estos grafos optimizaban asumiendo que representaban partes de el programa que eran más frecuentemente usados.
Posteriormente Allen trabajo en vectorización de programas para poder hacer trabajo en paralelo

PTRAN: Era un proyecto en el cual se buscaba primero hacer vectorización automática. Se concentraban en hacer buen código paralelo para las maquinas
Parte importante para hacer procesamiento en paralelo es el fetch-and-add que es, basicamente, es una instrucción que modifica el contenido de memoria atomicamente. La utlracomputadora, fue la primera en alcanzar fetch-and-add como una premisa de sincronización ya que lo hacia en un sistema de interruptores. Esto evitaba que varios procesadores exploraran fueran por un mismo contador compartido.
An overview of the PTRAN analysis system for multiprocessing: Trabajaban tanto en teoría como en abstracción, construyendo métodos que eran analizables y podían ser razonados e implementados. Un problema en particular era el problema de distribución de información, los atrasos que mejoraban la ejecución secuencial podían dañar la ejecución en paralelo.
[Fuente} An interview with Frances E. Allen -Communications of the ACM, Enero 2011
[Más} Frances E. Allen -ACM author profile | http://algebra-pafpu.ugr.es/mit/i… | Wikipedia