Lynn Conway, la ingeniera que IBM despidió y cuya idea cambió los procesadores modernos

Los procesadores actuales pueden ejecutar varias instrucciones al mismo tiempo y alterar el orden en el que se ejecutan para aprovechar mejor sus recursos. Detrás de una de las aportaciones que ayudaron a desarrollar esta arquitectura está Lynn Conway, una ingeniera informática que diseñó en IBM un sistema de planificación dinámica de instrucciones en 1965. La compañía la despidió en 1968 cuando comunicó que iba a realizar su transición de género. Su contribución permaneció prácticamente olvidada durante tres décadas, hasta que una investigación histórica permitió recuperar su nombre.

Las claves de Lynn Conway y su aportación a los procesadores en 20 segundos

  • Conway desarrolló en 1965 un método para seleccionar varias instrucciones listas para ejecutarse en cada ciclo de reloj.
  • Su trabajo quedó documentado en un informe interno de IBM de febrero de 1966, firmado por cuatro autores.
  • IBM la despidió en 1968 después de comunicar que iba a realizar su transición de género.
  • En 1998 encontró una investigación histórica sobre el proyecto y recuperó la documentación que conservaba.
  • IBM se disculpó públicamente en octubre de 2020, 52 años después de su despido.

La historia conecta dos ámbitos que pocas veces aparecen juntos: la arquitectura de los microprocesadores y la discriminación laboral por identidad de género. Conway contribuyó a una técnica que forma parte de la evolución de los procesadores modernos, pero durante años no pudo reivindicar públicamente su trabajo. La documentación que conservó y la investigación posterior de un historiador permitieron reconstruir su participación en uno de los proyectos informáticos más reservados de IBM.

El diseño de Lynn Conway que permitió ejecutar varias instrucciones por ciclo

El trabajo de Conway se desarrolló en el proyecto Advanced Computing Systems (ACS) de IBM, un equipo de California que diseñaba un superordenador. La dificultad técnica consistía en encontrar varias instrucciones cuyos datos estuvieran disponibles y enviarlas a las unidades de ejecución dentro de un mismo ciclo de reloj.

Lynn Conway, la ingeniera que IBM despidió y cuya idea cambió los procesadores modernos | Lynn Conway July 2006
Charles Rogers, CC BY-SA 2.5, via Wikimedia Commons

La idea tenía precedentes. El CDC 6600, desarrollado por Control Data, ya permitía que las instrucciones esperasen hasta que estuvieran disponibles sus operandos mediante un mecanismo denominado scoreboard. Sin embargo, el sistema incorporaba como máximo una instrucción por ciclo.

Conway encontró una forma de seleccionar varias instrucciones preparadas para ejecutarse. Su propuesta consistía en mantener las instrucciones pendientes en una cola y representar los registros mediante una matriz de bits individuales. De esa manera, el hardware podía comprobar en paralelo las dependencias entre instrucciones.

La diferencia estaba en cómo se realizaban las comprobaciones. Comparar números de registro requiere varias capas de puertas lógicas, mientras que comprobar si dos bits están activados puede resolverse mediante una operación lógica más sencilla. Esa representación permitía realizar comprobaciones paralelas con la rapidez que necesitaba el diseño.

La propia Conway explicó años después que al principio apenas podía creer que el mecanismo funcionara. Por eso dibujó el diseño y lo comprobó repetidamente antes de presentarlo a sus responsables, Herb Schorr y Don Rozenberg.

El 23 de febrero de 1966, la propuesta quedó recogida en un memorando interno titulado Dynamic Instruction Scheduling. El documento tenía cuatro autores: Lynn Conway, Brian Randell, Don Rozenberg y Don Senzig. Conway aparecía en primer lugar.

Su aportación tenía una relación directa con la ejecución de varias instrucciones por ciclo, una característica asociada a las arquitecturas superescalares. La Sociedad de Computación del IEEE reconoció precisamente esa contribución cuando le concedió el premio Computer Pioneer en 2009.

La historia también exige distinguir su trabajo del de Robert Tomasulo, cuyo método para el IBM System/360 Model 91 es más conocido en la historia de la ejecución fuera de orden. Conway trabajó en la selección de varias instrucciones para enviarlas en un mismo ciclo, mientras que el desarrollo de Tomasulo abordó otro aspecto de la ejecución dinámica.

IBM la despidió cuando comunicó que iba a realizar su transición

A comienzos de 1968 Conway comunicó a la oficina de personal del proyecto ACS que iba a realizar su transición de género. Sus compañeros y responsables apoyaron inicialmente un plan para que, después de la cirugía y la recuperación, pudiera trasladarse con su nuevo nombre a otra sede de IBM en el área de la bahía de San Francisco.

El acuerdo no llegó a materializarse. La oficina local consultó la situación con la dirección central de la compañía y el traslado quedó cancelado.

En sus memorias, Conway escribió que probablemente la decisión había sido tomada por Thomas J. Watson Jr., entonces máximo responsable de IBM. Sin embargo, la documentación disponible no acredita directamente que Watson firmara la orden. Lo que sí recoge su relato es que el comité ejecutivo de la compañía quería que abandonara la empresa.

La explicación que recibió, según su propio testimonio, fue que otros empleados podían experimentar malestar emocional si conocían su situación. Conway firmó los documentos de renuncia a cambio de un contrato de consultoría de seis meses.

Tenía 30 años. La salida de IBM también supuso la pérdida de su entorno profesional y personal. En un texto publicado en 2013 recordó que había perdido a su familia, sus amistades y buena parte de su apoyo social.

Después del despido tuvo que reconstruir su carrera. Empezó como programadora por contrato y posteriormente se incorporó a Memorex en 1969. Más adelante trabajó en Xerox. Para conseguir esos puestos, tuvo que demostrar de nuevo sus capacidades como profesional de sistemas y diseño informático.

Las empresas conocían su historial médico a través de sus departamentos de recursos humanos, pero Conway no podía explicar públicamente su participación en el proyecto ACS. Su trabajo anterior en IBM quedó fuera de su trayectoria profesional visible durante años.

Una patente de IBM y tres décadas sin reconocimiento público

En 1969 IBM volvió a distribuir el memorando Dynamic Instruction Scheduling como informe de investigación RJ 565, manteniendo los cuatro nombres originales. Para entonces Conway ya había abandonado la compañía.

La historia de las patentes añade otra pieza a la reconstrucción. El 22 de diciembre de 1970 IBM presentó una solicitud para una patente que combinaba el sistema de planificación de instrucciones del proyecto ACS con la renombración de registros, otra técnica que permite ejecutar instrucciones antes de que sigan el orden original del programa.

La patente estadounidense US 3.718.912, titulada Instruction execution unit, fue concedida el 27 de febrero de 1973. En ella aparecen cinco inventores: Hasbrouck, Madden, Rew, Sussenguth y Wierzbicki.

El historiador Mark Smotherman, investigador de la Universidad de Clemson que reconstruyó parte de la historia del proyecto ACS, considera que los abogados de patentes de IBM no comprendieron plenamente las aportaciones recogidas en los documentos de 1966 y que pudieron considerarlas demasiado parecidas al sistema del CDC 6600.

La patente no incluye a Conway, que ya no trabajaba en IBM. La documentación disponible tampoco demuestra que los cinco inventores se apropiaran deliberadamente de su trabajo. Lo que muestra es que su nombre quedó fuera de ese registro, pese a su participación documentada en el diseño original.

Una búsqueda en internet permitió recuperar su historia

A finales de los años noventa Conway buscó la palabra superscalar en un buscador de internet. Entre los resultados encontró una página de Mark Smotherman que planteaba si el proyecto ACS había sido el primer ordenador superescalar.

La investigación despertó su preocupación. El historiador podía encontrar documentos de 1966 firmados con el nombre que Conway había utilizado antes de su transición. Ella sabía que tendría que explicar públicamente esa parte de su trayectoria.

Conway había conservado los documentos del proyecto durante tres décadas. El 2 de enero de 1999 escribió a Smotherman para pedirle que reconociera el origen de su aportación en el trabajo del ACS. Para el 16 de febrero ya había reunido un archivo de 392 páginas con documentación del proyecto.

Al compartir las copias sustituyó su nombre anterior por el que había utilizado durante su vida profesional. El 23 de agosto de 2000 IBM le concedió permiso para distribuir el material con fines históricos y de investigación.

La recuperación documental permitió que su participación en el desarrollo de la arquitectura superescalar recibiera reconocimiento público. En 2009 llegó el premio Computer Pioneer de la IEEE Computer Society, que destacó expresamente su trabajo sobre planificación dinámica de instrucciones y arquitectura superescalar.

IBM pidió disculpas en 2020, 52 años después del despido

El 14 de octubre de 2020 IBM organizó un encuentro en línea entre Conway y Diane Gherson, entonces vicepresidenta sénior de Recursos Humanos de la compañía. Durante el acto, la empresa se disculpó por el trato que había recibido.

En una declaración recogida posteriormente por Forbes, IBM afirmó que lamentaba profundamente las dificultades que había sufrido. Conway tenía entonces 82 años y explicó que le había costado contener las lágrimas durante el reconocimiento.

La ingeniera falleció el 9 de junio de 2024, a los 86 años.

Su trayectoria deja una conexión directa con una de las características más importantes de los procesadores modernos. Cuando un programa ejecuta varias instrucciones, el procesador puede adelantar aquellas cuyos datos ya están disponibles, aunque otras anteriores sigan esperando a la memoria. La ejecución fuera de orden y la emisión de varias instrucciones por ciclo permiten aprovechar mejor las unidades internas del procesador.

El trabajo de Conway fue una de las aportaciones tempranas a esa evolución. Su historia también muestra que la recuperación de una contribución científica o técnica puede depender de conservar documentos, reconstruir los hechos y reconocer a quienes participaron en el desarrollo original.

Preguntas frecuentes

¿Qué inventó Lynn Conway?

Desarrolló en IBM un método de planificación dinámica de instrucciones que permitía seleccionar varias instrucciones preparadas para ejecutarse en un mismo ciclo de reloj. Su trabajo quedó documentado en un memorando de 1966.

¿Por qué despidió IBM a Lynn Conway?

IBM la despidió en 1968 después de comunicar que iba a realizar su transición de género. Según el relato de Conway, la dirección de la compañía canceló un traslado interno que inicialmente habían apoyado sus responsables y compañeros.

¿Qué relación tiene Lynn Conway con los procesadores actuales?

Su trabajo contribuyó al desarrollo de la planificación dinámica de instrucciones y de las arquitecturas superescalares, que permiten ejecutar varias instrucciones por ciclo cuando sus dependencias y los recursos disponibles lo permiten.

¿Cuándo reconoció IBM el trato que recibió Lynn Conway?

IBM se disculpó públicamente el 14 de octubre de 2020, durante un encuentro en línea con Conway y Diane Gherson, entonces responsable sénior de Recursos Humanos.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana. Recuerda revisar tu email para confirmar la suscripción.

Scroll al inicio
×