stringtranslate.com

Proyecto IBM Advanced Computer Systems

El ACS-1 y el ACS-360 son dos supercomputadoras relacionadas diseñadas por IBM como parte del proyecto Advanced Computing Systems de 1965 a 1969. Aunque los diseños nunca se terminaron y ningún modelo entró en producción, el proyecto generó una serie de técnicas organizativas e innovaciones arquitectónicas que desde entonces se han incorporado a casi todas las computadoras de alto rendimiento que existen en la actualidad. Muchas de las ideas resultantes del proyecto influyeron directamente en el desarrollo del IBM RS/6000 y, más recientemente, han contribuido al paradigma de computación EPIC ( Explicitly Parallel Instruction Computing ) utilizado por Intel y HP en los procesadores Itanium .

Después de que el proyecto ACS fracasara, los ingenieros tuvieron la opción de volver a trabajar en otras divisiones de IBM. Muchos declinaron la oferta porque eso les obligaría a regresar a la costa este desde California. Algunos formaron MASCOR en 1970, pero no duraron mucho porque no pudieron conseguir capital. Gene Amdahl aprovechó la oportunidad para fundar su propia empresa y fabricar computadoras mainframe compatibles con IBM utilizando los diseños ECL en los que se había trabajado para ACS. Los 470V/6 de Amdahl Corporation eran más rápidos y menos costosos que los diseños de alta gama de IBM.

Historia

IBM y CDC

IBM presentó su primera supercomputadora , la IBM 7030 Stretch , en mayo de 1961. Tuvieron que retirarla del mercado cuando las pruebas en el cliente de lanzamiento, Los Alamos Scientific Laboratory , demostraron que tenía un rendimiento muy pobre en el mundo real. Casi inmediatamente, IBM organizó dos proyectos de desarrollo, el Proyecto X en el Laboratorio IBM Poughkeepsie y el Proyecto Y en el Centro de Investigación IBM Thomas J. Watson . El Proyecto X tenía la tarea de diseñar una máquina que funcionara entre 10 y 20 veces más rápido que Stretch, mientras que el Y debía ser 100 veces más rápido. [1]

En la primavera de 1962, Control Data Corporation (CDC) anunció que había instalado dos computadoras en el Laboratorio de Radiación de Lawrence y que había recibido un contrato para una tercera, un diseño mucho más potente. Esa nueva máquina se anunció oficialmente en agosto de 1963 como CDC 6600 , lo que provocó que el director ejecutivo de IBM, Thomas J. Watson Jr. , escribiera un memorando ahora famoso [2] en el que preguntaba cómo era posible que esta pequeña empresa pudiera producir máquinas que superaban en rendimiento a las de IBM. [1]

En una reunión celebrada en septiembre de 1963, IBM decidió reforzar la gama alta de lo que entonces se conocía como la Nueva Línea de Productos o NPL. El Proyecto X se encargó de implementar el conjunto de instrucciones NPL , convirtiéndose en una máquina de gama alta en esa línea. Cuando se lanzó NPL en 1964 como System/360 , el Proyecto X se convirtió en el Modelo 92, posteriormente rebautizado como Modelo 91. Con el tiempo, se venderían alrededor de una docena de máquinas de la serie Modelo 90. [1]

El Proyecto Y nunca fue dirigido a utilizar NPL, ya que era un proyecto a largo plazo dirigido puramente al mercado científico. El desarrollo fue asignado a Jack Bertram y su Experimental Computers and Programming Group y comenzó en serio a fines de 1963. Bertram incorporó a John Cocke , Frances Allen , Brian Randell , Herb Schorr y Edward H. Sussenguth , entre otros. Schorr desarrolló el conjunto de instrucciones inicial y reclutó a su ex estudiante, Lynn Conway , para trabajar en un simulador de sistemas. [1]

Mudarse a California

El System/360 fue un éxito inmediato, pero los problemas en la línea de producción afectaron las entregas y gran parte de la empresa se dedicó a solucionarlos. Mientras tanto, CDC anunció que presentarían una nueva máquina que tenía un rendimiento diez veces superior al del 6600. Watson estaba convencido de que el conjunto de instrucciones del 360 no sería adecuado para el nuevo diseño y le preocupaba que el desarrollo se ralentizara por la agitación en los laboratorios debido a los problemas del 360. En la primavera de 1965, aprobó la creación de una nueva división en California que estaría más cerca de sus clientes en los laboratorios de armas. En 1965 se compró un edificio en Sunnyvale, California , y se instaló como IBM Advanced Computing Systems. Max Paley sería el director del laboratorio. [3]

En una reunión de dirección en agosto de 1965, Paley, Bertram y Schorr dieron presentaciones sobre el diseño hasta el momento. La máquina utilizaría una longitud de palabra de 48 bits, ya que ese era el estándar para la computación científica. La máquina tendría un tiempo de ciclo de reloj de 10 nanosegundos, aproximadamente 10 veces más rápido que el 6600, con seis o siete ciclos internos por reloj. Las unidades aritmético-lógicas (ALU) que realizaban la mayor parte de las matemáticas estarían segmentadas , como en el 6600, y enviarían múltiples instrucciones por ciclo. El rendimiento de la ramificación se mejoraría con un búfer que comenzaría a ejecutar ambos lados de la ramificación. [3]

Harwood Kolsky hizo una presentación sobre los diversos diseños en competencia, mientras que Gene Amdahl y Chen Tze-chiang hablaron sobre su trabajo en el modelo 92 de alta gama 360. Kolsky había trabajado en Los Alamos durante siete años antes de unirse al proyecto Stretch, mientras que Amdahl había dejado IBM después de que lo pasaran por alto para liderar el desarrollo de Stretch, pero regresó a IBM Research en 1960 y se unió al esfuerzo del Proyecto X. [3] A fines de 1964, Amdahl aceptó un puesto de profesor en la Universidad de Stanford , queriendo regresar a la costa oeste. En enero de 1965 fue nombrado IBM Fellow por su trabajo en el Modelo 92. Como Fellow, Amdahl tenía derecho a trabajar en cualquier instalación de IBM que eligiera y decidió unirse a ACS por invitación de Bob Evans. [4] [5]

Incluso en esta primera reunión, Amdahl argumentó que tendría mucho más sentido hacer que el ACS fuera compatible con el 360, como había sido el caso con el Proyecto X. Si bien podría funcionar marginalmente más lento que el ACS, debido en gran medida a que usa una palabra de 32 bits y tiene 16 registros en lugar de 32 de 48 bits, ofrecería a los clientes del Modelo 92 una ruta de actualización a un rendimiento mucho mayor y aprovecharía todo el software y especialmente su tecnología de compilador desarrollada para esa máquina. [3]

El diseño madura

A principios de 1966, el diseño del Proyecto Y se finalizó como ACS-1, con el único cambio importante siendo la eliminación del formato de punto flotante extendido de 192 bits. En 1966, se construyó un nuevo edificio de 38.000 pies cuadrados (3.500 m2) en 2800 Sand Hill Road en Menlo Park, California , cerca del Acelerador Lineal de Stanford y el proyecto se trasladó allí a finales de año. Durante este período se produjo un cambio significativo en el diseño. Originalmente, el compilador era responsable de mover las instrucciones desde una gran memoria central o un almacén de memoria de película delgada a una caché más pequeña de RAM estática (aunque ese término no se usaba en ese momento) dentro de la CPU. Al revisar el sistema, Schorr y Dick Arnold concluyeron que no funcionaría y decidieron reimplementarlo como un sistema de un solo nivel con almacenamiento en caché de hardware de 32 o 64 kWords. [6]

Otro concepto desarrollado para el ACS fue la programación dinámica de instrucciones, o DIS. La ALU y las unidades de indexación, que calculaban las direcciones, tenían búferes de seis ranuras desde los cuales podían seleccionar dos instrucciones para ejecutarlas fuera de orden. Esto permitía al sistema ejecutar instrucciones en cola mientras las instrucciones anteriores esperaban datos de la memoria o cálculos anteriores. Los resultados de estos cálculos que se ejecutaban fuera de orden se volvían a colocar en la memoria en el momento correcto, dando la ilusión de que todo se había ejecutado en el orden en que se encontró en el código de la máquina . Lynn Conway, que había sido contratado para desarrollar una simulación de software del ACS, desarrolló un sistema que utilizaba una matriz de bits para rastrear qué instrucciones estaban listas para ejecutarse y cuáles estaban esperando. [6]

Con el simulador, Conway comparó una serie de cargas de trabajo de computación de alto rendimiento con IBM 7090 , CDC 6600 y S/360 Model 91. En comparación con el 7090, la oferta científica más antigua de IBM, ACS-1 realizaría el cálculo hidrodinámico lagrangiano (LHC) 2500 veces más rápido. En el código de difusión de neutrones (ND) más complejo, superó al 7090 en casi 1300 veces y fue aproximadamente 60 veces más rápido que el 6600. [7]

Allen, Cocke y Jim Beatty lideraron el desarrollo de los compiladores para la máquina. Esto representó un esfuerzo significativo ya que el sistema debía ser muy avanzado y optimizar agresivamente el código. Entre sus características estaba la capacidad de desenrollar bucles, programar instrucciones en torno al concepto de bloque básico y separar aquellas optimizaciones que estaban basadas en código de las basadas en plataforma. El compilador sería utilizado tanto por un front-end PL/1 como por una versión ampliada de Fortran IV . [5]

En una revisión del proyecto realizada en noviembre de 1967, Herb Schorr esbozó un plan de entrega que permitiría enviar la primera máquina en 1971. [8] El plan estimaba que se necesitarían más de 100.000 líneas de código Fortran y ensamblador para el sistema operativo y casi 70.000 líneas para los compiladores, el ensamblador y las rutinas de biblioteca. Estimó que el costo de desarrollo sería de 15 millones de dólares (137 millones de dólares en 2023) solo para el software. [5]

"Tiroteo" de diseño

Amdahl siguió presionando para que se lanzara una versión de la máquina compatible con la 360. En enero de 1967, Ralph L. Palmer pidió a John Backus , Robert Creasy y Harwood Kolsky que revisaran el proyecto y el concepto de Amdahl. Kolsky concluyó que la versión compatible con la 360 sería demasiado difícil y señaló que la ACS estaba destinada al mercado de la CDC 6600, no a la 360, por lo que si el cliente estaba interesado en la compatibilidad, la compatibilidad con la 6600 parecería más útil. El mes siguiente, Amdahl volvió a abogar por la compatibilidad con la 360 por razones de marketing. [5]

Los continuos argumentos de Amdahl a favor de la compatibilidad con 360 lo situaron cada vez más en desacuerdo con Bertram. Bertram respondió "poniéndolo en cuarentena" y asegurándose de que nadie pudiera hablar con él. Siempre que alguien lo visitaba, en cuestión de minutos llegaba otra persona y llamaba al primer visitante a una reunión. [9] Casi al mismo tiempo, otro miembro del equipo ACS, el diseñador de circuitos John Earle, fue expulsado del equipo principal debido a su estilo de trabajo que estaba causando fricciones en el equipo. Earle había sido golpeado en una pelea en Filadelfia, [9] y cuando regresó del hospital Bertram lo asignó a Amdahl, aparentemente como una forma de castigo. [5]

Esto resultó contraproducente, ya que durante el mes siguiente Amdahl logró convencer a Earle de que era posible una versión compatible con 360, y Earle siguió adelante y la diseñó. El resultado fue la computadora Amdahl-Earle, o AEC/360. Utilizando muchos de los conceptos de ACS-1, produjeron un diseño que era ligeramente más lento que éste, pero que costó quizás un 75% más construirlo, con solo 90.000 puertas en lugar de 270.000 (una puerta requiere unos cinco transistores utilizando la lógica ECL de la época). Gran parte de la reducción se debió a la menor cantidad de registros y de menor tamaño, que representaban la mitad de las puertas en el ACS-1. La pérdida de rendimiento debido a la menor cantidad de registros se compensó con un reloj más rápido de 8 nanosegundos, posible gracias a un diseño interno optimizado. [5]

En diciembre de 1967, Kolsky fue enviado a reunirse con Amdahl para obtener una descripción más detallada del diseño propuesto. [8] Casi al mismo tiempo, Amdahl comenzó a llamar a gente dentro de IBM para contarles sobre el nuevo diseño. A medida que la palabra del concepto se difundía por la División de Desarrollo de Sistemas en Nueva York, el vicepresidente de la división, Erich Bloch, comenzó a organizar una revisión interna. El equipo de ACS respondió con un rediseño "frenético" que redujo el número de puertas de 270.000 a 200.000 con poco efecto en el rendimiento, lo que sugería fuertemente que estaba sobrediseñado. [10]

Bloch seleccionó a Carl Conti de IBM Poughkeepsie para que se encargara de la revisión, que se llevó a cabo en marzo de 1968. Amdahl presentó estimaciones de rendimiento basadas en recuentos de ciclos calculados a mano. Conti aceptó los argumentos de Amdahl de que en las pruebas de referencia de números enteros, el AEC/360 sería hasta cinco veces más rápido que el ACS-1, sería hasta 2,5 veces más lento en coma flotante y el complejo sistema de ramificación del ACS parecía ofrecer entre un 10 y un 20 % en el mejor de los casos y podría adaptarse al AEC si se deseaba. Pero un punto clave planteado por Conti fue que si el sistema ACS dependía tanto de los compiladores para su rendimiento, mover ese código a otra máquina podría dar como resultado resultados muy diferentes y eso podría considerarse una desventaja. [11] También concluyó que, si bien el AEC estaría más cerca de las 108.000 puertas, todavía era la mitad de complejo que el ACS. [10]

En abril se realizó una revisión final, pero fue breve y aparentemente ya estaba decidida. En mayo, IBM anunció que el ACS-1 se cancelaría y que el AEC/360, que a partir de ese momento se conocería como ACS-360, seguiría adelante. Aunque el diseño competidor de Amdahl tuvo mucho que ver con esto, no fue la única razón. Amdahl también había argumentado que los 15 millones de dólares se gastarían mejor en mejorar los sistemas operativos del 360, lo que mejoraría toda la línea, no solo el AEC. Pero quizás el golpe más serio para el ACS fue el continuo éxito del 360. En enero de 1968, la NASA había recibido un 360 Modelo 95, que IBM describió como "el ordenador más rápido y más potente que existe actualmente en funcionamiento para el usuario". [11] Aunque el ACS habría superado al Modelo 95 por un amplio margen, en ese momento Watson Jr. estaba considerando retirarse por completo del mercado de supercomputadoras. [12]

Muchos de los artículos retrospectivos sobre el proyecto ACS señalan que la máquina original habría sido líder mundial. Conway señala que "En retrospectiva, ahora se reconoce que si el ACS-1 se hubiera construido con éxito, habría sido el superordenador más importante de la época". [8] La decisión de cancelar el diseño original se basó principalmente en los recuentos de ciclos que no se habían probado, ya que el simulador que había desarrollado no había sido adaptado. [8] De la misma manera, la afirmación de Amdahl de un ciclo de 8 nanosegundos fue aceptada por la revisión de Conti, aunque Mark Smotherman sugiere que no es realista. [11]

Cancelación

La mayor parte del equipo directivo superior de ACS se fue y Amdahl fue puesto al mando. El AEC/360 continuó su desarrollo según las líneas propuestas, con el único cambio importante siendo la introducción del cambio de nombre de registro generalizado como parte del sistema fuera de orden y cambios en el sistema de predicción de bifurcaciones para trabajar con el conjunto de instrucciones 360. [11]

Al calcular el coste de la máquina, Amdahl concluyó que no había forma de que sus ventas pudieran generar beneficios. Esto suponía un grave riesgo para la empresa, ya que introducir una máquina de gama alta que estaba garantizada a perder dinero podría considerarse un comportamiento anticompetitivo, un intento de quitarle el mercado a empresas como CDC. IBM se enfrentó a un problema similar con Stretch, pero con el tiempo se demostró que la I+D de ese proyecto se había utilizado ampliamente en la empresa y, si se facturaba, era ligeramente positiva. [13] Para permitir que el ACS/360 generara beneficios de forma más clara, Amdahl sugirió producir tres modelos del mismo sistema básico, el ACS/360 original, un modelo más pequeño con 13 del rendimiento y una versión aún más pequeña con 19 , lo que seguiría convirtiéndolo en la máquina más rápida de la gama de IBM. [11] Esta propuesta fue rechazada. [13]

En mayo de 1969, la alta dirección de IBM decidió cancelar todo el proyecto, [11] aparentemente por sugerencia de Amdahl. [13] Lo que inicialmente se había pensado como un proyecto para competir con el rápido crecimiento de CDC se había extendido durante casi una década y mostraba pocas evidencias de que lanzaría una máquina en el corto plazo. Amdahl afirmó más tarde que su cancelación se debió principalmente a que alteraba la estructura de precios cuidadosamente planificada de IBM. La empresa en su conjunto entendía que las máquinas por encima de un cierto nivel de rendimiento siempre perderían dinero y que introducir una máquina que fuera tan rápida como la ACS/360 requeriría que se le pusiera un precio que obligaría a reducir el precio de sus otras máquinas. [4] También afirmó haber oído rumores de que se había configurado deliberadamente para que fracasara de modo que la tecnología pudiera usarse en otros proyectos y el costo de I+D se pudiera amortizar en impuestos. [13]

Poco después del anuncio de la cancelación del proyecto, en agosto de 1969, IBM anunció el IBM System/360 Model 195 , una reimplementación del Model 91 utilizando circuitos integrados que lo hacían dos veces más rápido que el Model 85 , que en ese momento era la máquina más rápida de la línea. Para abordar el mercado de alta gama, se inició un grupo de trabajo de procesamiento vectorial en Poughkeepsie. [14]

Cuando se canceló el proyecto ACS, muchos de los ingenieros no estaban interesados ​​en regresar al campus principal de investigación de IBM en Nueva York y deseaban permanecer en California. Algunos terminaron en las instalaciones de investigación de discos duros de IBM en San José, California , mientras que muchos otros se fueron para formar una nueva empresa, Multi Access System Corp, o MASCOR. Esta no logró recaudar capital y cerró después de solo unos meses. [14] Amdahl renunció en septiembre de 1970 y formó su propia empresa para construir máquinas compatibles con 360, presentando el Amdahl 470/6 en 1975. Amdahl Corporation se convertiría en un importante proveedor de sistemas compatibles con IBM en la década de 1980, con una participación de mercado del 20% o más durante las décadas de 1970 y 1980. [15]

Influencia

Aunque ni el ACS-1 ni el ACS-360 llegaron a fabricarse, el grupo IBM Advanced Computing Systems responsable de su diseño desarrolló innovaciones arquitectónicas y fue pionero en una serie de técnicas de diseño de CPU RISC que se volverían fundamentales para el diseño de arquitecturas y sistemas informáticos modernos: [16]

Véase también

Referencias

Citas

  1. ^ abcd Smotherman, Sussenguth y Robelen 2016, pág. 60.
  2. ^ "Memorando de Watson Jr. sobre el CDC 6600". Museo de Historia de la Computación .
  3. ^ abcd Smotherman, Sussenguth y Robelen 2016, pág. 61.
  4. ^ ab "Entrevista con Gene Amdahl". IEEE Design and Test of Computers . Abril de 1997.
  5. ^ abcdef Smotherman, Sussenguth y Robelen 2016, pág. 63.
  6. ^ ab Smotherman, Sussenguth y Robelen 2016, p. 62.
  7. ^ Smotherman, Sussenguth y Robelen 2016, págs.62, 66.
  8. ^ abcd Conway 2011, pág. 20.
  9. ^ desde Aspray 2000, pág. 26.
  10. ^ desde Conway 2011, pág. 27.
  11. ^ abcdef Smotherman, Sussenguth y Robelen 2016, pág. 67.
  12. ^ Conway 2011, pág. 29.
  13. ^ abcd Aspray 2000, pág. 27.
  14. ^ ab Smotherman, Sussenguth y Robelen 2016, p. 68.
  15. ^ Lueck, Thomas (22 de mayo de 1981). "AMDAHL SIGUE ACERTIJANDO". The New York Times .
  16. ^ Conway 2011.

Bibliografía

Enlaces externos