El ACS-1 y el ACS-360 son dos supercomputadoras relacionadas , diseñadas por IBM como parte del proyecto Advanced Computing Systems entre 1965 y 1969. Si bien los diseños nunca se completaron y ningún modelo llegó a producirse, el proyecto generó diversas técnicas organizativas e innovaciones arquitectónicas que se han incorporado a casi todas las computadoras de alto rendimiento actuales. Muchas de las ideas surgidas 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 .
Tras el fracaso del proyecto ACS, los ingenieros tuvieron la opción de reincorporarse a otras divisiones de IBM. Muchos declinaron la oferta, ya que implicaba regresar a la costa este desde California. Algunos fundaron MASCOR en 1970, pero esta empresa tuvo una corta duración al no lograr obtener financiación. Gene Amdahl aprovechó la oportunidad para crear su propia compañía, dedicada a la fabricación de ordenadores centrales compatibles con IBM, utilizando los diseños ECL desarrollados para ACS. Los modelos 470V/6 de Amdahl Corporation eran más rápidos y económicos que los diseños de gama alta 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 realizadas en el cliente de lanzamiento, el Laboratorio Científico de Los Alamos , demostraron que su rendimiento en condiciones reales era muy deficiente. Casi de inmediato, 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 como objetivo diseñar una máquina que funcionara entre 10 y 20 veces más rápido que Stretch, mientras que 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 Lawrence y que había recibido un contrato para una tercera, de diseño mucho más potente. Esa nueva máquina se anunció oficialmente en agosto de 1963 como la CDC 6600 , lo que llevó al director ejecutivo de IBM, Thomas J. Watson Jr., a escribir un memorando ahora famoso [ 2 ] preguntando cómo era posible que esta pequeña empresa pudiera producir máquinas que superaran 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 (NPL). El Proyecto X recibió la instrucción de implementar el conjunto de instrucciones de la NPL , convirtiéndose así en una máquina de gama alta dentro de esa línea. Cuando la NPL se lanzó en 1964 como el Sistema/360 , el Proyecto X pasó a denominarse Modelo 92, posteriormente renombrado Modelo 91. Finalmente, se vendieron alrededor de una docena de máquinas de la serie Modelo 90. [ 1 ]
El Proyecto Y nunca se diseñó para utilizar el NPL, ya que era un proyecto a largo plazo dirigido exclusivamente al mercado científico. El desarrollo se asignó a Jack Bertram y su Grupo de Computadoras Experimentales y Programación, y comenzó formalmente a finales 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 antigua alumna, Lynn Conway , para trabajar en un simulador del sistema. [ 1 ]
Mudarse a California
El System/360 fue un éxito rotundo inmediato, pero los problemas en la línea de producción dificultaron las entregas y gran parte de la empresa se dedicó a solucionarlos. Mientras tanto, CDC anunció que presentaría una nueva máquina con 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 viera ralentizado 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 armamento. En 1965 se compró un edificio en Sunnyvale, California , que se estableció como IBM Advanced Computing Systems. Max Paley sería el director del laboratorio. [ 3 ]
En una reunión directiva celebrada en agosto de 1965, Paley, Bertram y Schorr presentaron el diseño hasta el momento. La máquina utilizaría una longitud de palabra de 48 bits, ya que era el estándar para la computación científica. 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 operaciones matemáticas estarían segmentadas , como en el 6600, y enviarían múltiples instrucciones por ciclo. El rendimiento de las bifurcaciones mejoraría con un búfer que comenzaría a ejecutar ambos lados de la bifurcación. [ 3 ]
Harwood Kolsky hizo una presentación sobre los diversos diseños competidores, mientras que Gene Amdahl y Chen Tze-chiang hablaron sobre su trabajo en el modelo 92 de gama alta 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 no ser elegido para liderar el desarrollo de Stretch, pero regresó a IBM Research en 1960 y se unió al esfuerzo del Proyecto X. [ 3 ] A finales de 1964, Amdahl aceptó un puesto de profesor en la Universidad de Stanford , con el deseo de 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 de su elección 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 la 360, como había sido el caso con el Proyecto X. Si bien podría funcionar ligeramente más lento que el ACS, debido en gran parte a que utiliza dieciséis registros de 32 bits en lugar de treinta y dos de 48 bits en el nuevo concepto, ofrecería a los clientes del Modelo 92 una ruta de actualización a un rendimiento mucho mayor y aprovecharía todo el software para la 360, especialmente la tecnología de compilación 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, siendo el único cambio importante la eliminación del formato de punto flotante extendido de 192 bits. En 1966, se construyó un nuevo edificio de 38 000 pies cuadrados (3500 m² ) 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 de núcleo o 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. Tras 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 direcciones, tenían búferes de seis ranuras de los que podían seleccionar dos instrucciones para ejecutar fuera de orden. Esto permitía al sistema ejecutar instrucciones en cola mientras las instrucciones anteriores esperaban datos de la memoria o cálculos previos. Los resultados de estos cálculos ejecutados 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 aparecía en el código máquina . Lynn Conway, quien había sido contratada 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 en espera. [ 6 ]
Utilizando el simulador, Conway comparó el rendimiento de varias cargas de trabajo de computación de alto rendimiento con las de los procesadores IBM 7090 , CDC 6600 y S/360 Modelo 91. En comparación con el 7090, el modelo científico más antiguo de IBM, el ACS-1 realizó el Cálculo de Hidrodinámica Lagrangiana (LHC) 2500 veces más rápido. En el código más complejo de Difusión de Neutrones (ND), superó al 7090 por 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 altamente avanzado y optimizar agresivamente el código. Entre sus características se encontraba la capacidad de desenrollar bucles, programar instrucciones en torno al concepto básico de bloque y separar las optimizaciones basadas en código de las basadas en plataforma. El compilador sería utilizado tanto por un front-end PL/I como por una versión ampliada de Fortran IV . [ 5 ]
En una revisión del proyecto de noviembre de 1967, Herb Schorr describió 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 la biblioteca. Estimó que el costo de desarrollo sería de 15 millones de dólares ( 145 millones de dólares en 2025 ) solo para el software. [ 5 ]
"Duelo" de diseños
Amdahl siguió insistiendo en 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 dirigida al mercado de la CDC 6600, no al de la 360, por lo que si el cliente estaba interesado en la compatibilidad, la compatibilidad con la 6600 resultaría más útil. Al mes siguiente, Amdahl volvió a defender la compatibilidad con la 360 por razones de marketing. [ 5 ]
Los continuos argumentos de Amdahl a favor de la compatibilidad de 360 grados lo enfrentaron cada vez más con Bertram. Bertram respondió "poniéndolo en cuarentena" y asegurándose de que nadie pudiera hablar con él. Cada vez 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 de ACS, el diseñador de circuitos John Earle, fue apartado 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 la 360, y Earle procedió a diseñarla. El resultado fue la computadora Amdahl-Earle, o AEC/360. Utilizando muchos de los conceptos de la ACS-1, produjeron un diseño ligeramente más lento, pero con un costo de construcción aproximadamente un 75% menor, con solo 90 000 puertas lógicas en lugar de 270 000 (una puerta lógica requiere aproximadamente cinco transistores utilizando la lógica ECL de la época). Gran parte de la reducción se debió a la menor cantidad y el menor tamaño de los registros, que representaban la mitad de las puertas lógicas en la ACS-1. La pérdida de rendimiento debida a la menor cantidad de registros se compensaría 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 personas dentro de IBM para informarles sobre el nuevo diseño. A medida que la noticia del concepto se extendí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 compuertas 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 realizar la revisión, que tuvo lugar en marzo de 1968. Amdahl presentó estimaciones de rendimiento basadas en recuentos de ciclos calculados manualmente. Conti aceptó los argumentos de Amdahl de que, en las pruebas de rendimiento con 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 % como máximo y podría adaptarse al AEC si se deseaba. Pero un punto clave que señaló Conti fue que si el sistema ACS dependía tanto de los compiladores para su rendimiento, trasladar ese código a otra máquina podría resultar en resultados muy diferentes, lo que podría considerarse una desventaja. [ 11 ] También concluyó que, si bien el AEC estaría más cerca de las 108.000 puertas, seguía siendo 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ó la cancelación del ACS-1 y el lanzamiento del AEC/360, que a partir de entonces se conocería como ACS-360. Si bien el diseño competidor de Amdahl influyó considerablemente, no fue la única razón. Amdahl también argumentó que los 15 millones de dólares se invertirían mejor en mejorar los sistemas operativos del 360, lo que mejoraría toda la gama, no solo el AEC. Pero quizás el golpe más duro para el ACS fue el éxito continuo del 360. En enero de 1968, la NASA recibió un 360 Modelo 95, que IBM describió como "la computadora más rápida y potente actualmente en operación para usuarios". [ 11 ] Aunque el ACS habría superado al Modelo 95 por un amplio margen, para entonces Watson Jr. estaba considerando retirarse por completo del mercado de las 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 la supercomputadora más importante de la época». [ 8 ] La decisión de cancelar el diseño original se basó principalmente en los ciclos de ejecución, que no se habían probado, ya que el simulador que ella había desarrollado no se había modificado para usar el nuevo conjunto de instrucciones. [ 8 ] Asimismo, 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 marchó y Amdahl fue puesto al mando. El AEC/360 continuó su desarrollo según las líneas propuestas, siendo el único cambio importante la introducción del cambio de nombre generalizado de registros como parte del sistema de ejecución fuera de orden y modificaciones en el sistema de predicción de bifurcaciones para que funcionara con el conjunto de instrucciones 360. [ 11 ]
Al calcular el costo de la máquina, Amdahl concluyó que era imposible que sus ventas generaran ganancias. Esto representaba un riesgo grave para la empresa, ya que la introducción de una máquina de alta gama con pérdidas garantizadas podría considerarse una práctica anticompetitiva, un intento de arrebatar 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, resultaba ligeramente positiva. [ 13 ] Para que ACS/360 generara ganancias 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 1/3 del rendimiento y una versión aún más pequeña con 1/9 , que seguiría siendo 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 el proyecto por completo, [ 11 ] aparentemente por sugerencia de Amdahl. [ 13 ] Lo que inicialmente se había concebido como un proyecto para competir con el veloz CDC se había extendido durante casi una década y mostraba pocas señales de que se lanzaría una máquina a corto plazo. Amdahl afirmó posteriormente que su cancelación se debió principalmente a que alteraba la estructura de precios cuidadosamente planificada por IBM. La empresa en su conjunto entendía que las máquinas con un cierto nivel de rendimiento siempre generarían pérdidas y que la introducción de una máquina tan rápida como la ACS/360 requeriría un precio que obligaría a reducir el precio de sus otras máquinas. [ 4 ] También afirmó haber oído rumores de que el proyecto se había diseñado deliberadamente para que fracasara, de modo que la tecnología pudiera utilizarse en otros proyectos y el coste de I+D pudiera deducirse de los impuestos. [ 13 ]
Poco después del anuncio de la cancelación del proyecto, en agosto de 1969, IBM anunció el IBM System/360 Modelo 195 , una reimplementación del Modelo 91 que utilizaba circuitos integrados , lo que lo hacía el doble de rápido que el Modelo 85 , que en ese momento era la máquina más rápida de la gama. Para atender al mercado de gama alta, se creó 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 el centro de investigación de discos duros de IBM en San José, California , mientras que muchos otros se marcharon para formar una nueva empresa, Multi Access System Corp, o MASCOR. Esta no logró recaudar capital y quebró 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 hasta la década de 1980, con una cuota 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 convertirían en fundamentales para el diseño de arquitecturas y sistemas informáticos modernos: [ 16 ]
- Reducción agresiva del número de niveles de compuertas lógicas para las etapas de la tubería para reducir el tiempo de ciclo.
- Integración estrecha entre el procesador y la memoria.
- Memoria caché con E/S optimizada hacia/desde la caché
- Técnicas de optimización de compiladores
- Sistemas operativos de memoria virtual
- Decodificación y emisión de múltiples instrucciones (una primera vez)
- Uso de un búfer de destino de bifurcación (primero)
- Implementación de multihilo en hardware (una primicia para IBM).
- Planificación dinámica de instrucciones/ ejecución fuera de orden
- Cambio de nombre del registro de hardware
- Predicción de instrucción
- Diseño de escaneo sensible al nivel (utilizado por IBM)
- Discos duros de cabezal fijo
- Circuitos LSI de alta velocidad refrigerados por aire
- Herramientas de simulación avanzadas utilizadas en el proceso de diseño
Véase también
- El proyecto IBM Future Systems es un proyecto contemporáneo para desarrollar máquinas que puedan ejecutar directamente lenguajes de programación de alto nivel .
Referencias
Citas
- ^ Smotherman , Sussenguth y Robelen 2016 , pág . 60.
- ↑ "Memorándum de Watson Jr. sobre la CDC 6600" . Museo de Historia de la Computación .
- ^ Smotherman , Sussenguth y Robelen 2016 , pág . 61.
- 1 2 "Entrevista con Gene Amdahl". IEEE Design and Test of Computers . Abril de 1997.
- ^ Smotherman , Sussenguth y Robelen 2016 , pág . 63.
- ^ Smotherman , Sussenguth y Robelen 2016 , pág. 62.
- ^ Smotherman, Sussenguth y Robelen 2016 , págs.62 , 66.
- 1 2 3 4 Conway 2011 , pág. 20.
- 1 2 Aspray 2000 , pág. 26.
- 1 2 Conway 2011 , pág. 27.
- ^ Smotherman , Sussenguth y Robelen 2016 , pág . 67.
- ↑ Conway 2011 , pág. 29.
- 1 2 3 4 Aspray 2000 , pág. 27.
- ^ Smotherman , Sussenguth y Robelen 2016 , pág. 68.
- ↑ Lueck, Thomas (22 de mayo de 1981). "AMDAHL SIGUE ADIVINANDO BIEN" . The New York Times .
- ↑ Conway 2011 .
Bibliografía
- Smotherman, Mark K.; Sussenguth, Edward H.; Robelen, Russell J. (2016). "El proyecto IBM ACS". IEEE Annals of the History of Computing . 38 (1): 60– 74. doi : 10.1109/MAHC.2015.50 .
- Conway, Lynn (2011). «IBM-ACS: Reminiscencias y lecciones aprendidas de un proyecto de supercomputadora de la década de 1960» (PDF) . Computación confiable e histórica: Ensayos dedicados a Brian Randell con motivo de su 75.º cumpleaños . Springer-Verlag. págs. 185–224 .
- Aspray, Bill (24 de septiembre de 2000). "Historia oral de Gene Amdahl" (PDF) (Entrevista).
Enlaces externos
- Sistemas de Computación Avanzada de IBM (ACS) — 1961 – 1969 — Proyecto de documentación para la supercomputadora IBM ACS-1 mantenida por Mark Smotherman.
- Supercomputadoras de IBM
- proyectos de tecnología de la información