La CDC STAR-100 es una supercomputadora vectorial diseñada, fabricada y comercializada por Control Data Corporation (CDC). Fue una de las primeras máquinas en utilizar un procesador vectorial para mejorar el rendimiento en aplicaciones científicas adecuadas. También fue la primera supercomputadora en utilizar circuitos integrados y la primera en estar equipada con un millón de palabras de memoria . [ 5 ]
El nombre STAR es una combinación de anillos ST (de dígitos binarios) y rayos AR . [ 6 ] El 100 alude a la velocidad de procesamiento máxima nominal de 100 millones de operaciones de punto flotante por segundo ( MFLOPS ); [ 5 ] el anterior CDC 7600 proporcionaba un rendimiento máximo de 36 MFLOPS, pero normalmente funcionaba a unos 10 MFLOPS.
El diseño formó parte de una propuesta presentada al Laboratorio Nacional Lawrence Livermore (LLNL) a mediados de la década de 1960. [ 5 ] Livermore buscaba un socio que construyera una máquina mucho más rápida con su propio presupuesto y luego arrendara el diseño resultante al laboratorio. Se anunció públicamente a principios de la década de 1970, y el 17 de agosto de 1971, CDC anunció que General Motors había realizado el primer pedido comercial.
Una serie de características de diseño básicas de la máquina hicieron que su rendimiento en el mundo real fuera mucho menor de lo esperado cuando se utilizó comercialmente por primera vez en 1974, y fue una de las principales razones por las que CDC perdió su dominio anterior en el mercado de las supercomputadoras cuando se anunció la Cray-1 en 1975. Solo se entregaron tres sistemas STAR-100, dos al LLNL y otro al Centro de Investigación Langley de la NASA .
Descripción
El STAR tenía una arquitectura de 64 bits , compuesta por 195 instrucciones . [ 7 ] [ 8 ] Su principal innovación fue la inclusión de 65 instrucciones vectoriales para el procesamiento de vectores . Las operaciones realizadas por estas instrucciones estaban fuertemente influenciadas por conceptos y operadores del lenguaje de programación APL ; en particular, el concepto de "vectores de control" ( máscaras de predicados vectoriales en la terminología moderna) y varias instrucciones para la permutación de vectores con vectores de control se tomaron directamente de APL. [ 9 ] [ 10 ]
Las instrucciones vectoriales operaban sobre vectores almacenados en ubicaciones consecutivas de la memoria principal; el direccionamiento de memoria era virtual . Estas instrucciones alimentaban una tubería aritmética ; una sola instrucción podía sumar dos vectores de longitud variable de hasta 65 535 elementos con una sola búsqueda de instrucción. El STAR también buscaba operandos vectoriales en unidades de 512 bits (superpalabras), lo que reducía la latencia promedio de la memoria.
Dado que se conoce la ubicación en memoria del siguiente operando, la CPU puede obtener los siguientes operandos mientras procesa los anteriores. Al igual que con las arquitecturas de procesamiento en paralelo en general, el tiempo necesario para completar cualquier instrucción no mejoró con respecto al anterior, pero como la CPU procesa varios puntos de datos simultáneamente, el rendimiento general mejora drásticamente.
Muchas de las instrucciones del STAR eran complejas, especialmente las macroinstrucciones vectoriales , que realizaban operaciones complejas que normalmente habrían requerido largas secuencias de instrucciones. Estas instrucciones, junto con la arquitectura generalmente compleja del STAR, se implementaron con microcódigo . [ 11 ]
La memoria principal tenía una capacidad de 65.536 palabras de 512 bits , llamadas superpalabras (SWORDs). [ 12 ] La memoria principal estaba intercalada en 32 vías para los accesos a memoria en pipeline. Estaba construida a partir de memoria de núcleo con un tiempo de acceso de 1,28 μs. Se accedía a la memoria principal a través de un bus de 512 bits, controlado por el controlador de acceso al almacenamiento (SAC), que gestionaba las solicitudes de la unidad de flujo . La unidad de flujo accede a la memoria principal a través del SAC mediante tres buses de datos de 128 bits, dos para lecturas y uno para escrituras. También hay un bus de datos de 128 bits para la búsqueda de instrucciones, E/S y acceso al vector de control. La unidad de flujo actúa como unidad de control, buscando y decodificando instrucciones, iniciando accesos a memoria en nombre de las unidades funcionales en pipeline y controlando la ejecución de instrucciones, entre otras tareas. También contiene dos búferes de lectura y un búfer de escritura para transmitir datos a las unidades de ejecución. [ 12 ]
El STAR-100 cuenta con dos tuberías aritméticas. La primera incluye un sumador y un multiplicador de punto flotante, mientras que la segunda puede ejecutar todas las instrucciones escalares. También contiene un sumador, un multiplicador y un divisor de punto flotante. Ambas tuberías son de 64 bits para operaciones de punto flotante y están controladas por microcódigo. El STAR-100 puede dividir sus tuberías de punto flotante en cuatro tuberías de 32 bits, duplicando el rendimiento máximo del sistema a 100 MFLOPS a costa de la mitad de la precisión. [ 12 ]
El STAR-100 utiliza procesadores de E/S para descargar las operaciones de entrada/salida de la CPU. Cada procesador de E/S es un miniordenador de 16 bits con su propia memoria principal de 65 536 palabras de 16 bits cada una, implementada con memoria de núcleo. Todos los procesadores de E/S comparten un bus de datos de 128 bits con el SAC.
Rendimiento en el mundo real, usuarios e impacto.
El rendimiento real del STAR-100 fue una fracción de su rendimiento teórico por varias razones. En primer lugar, las instrucciones vectoriales, al ser de "memoria a memoria", tenían un tiempo de inicio relativamente largo, ya que la tubería desde la memoria hasta las unidades funcionales era muy larga. A diferencia de las unidades funcionales segmentadas basadas en registros del 7600, las tuberías del STAR eran mucho más profundas. El problema se agravaba por el hecho de que el STAR tenía un tiempo de ciclo más lento que el 7600 (40 ns frente a 27,5 ns). Por lo tanto, la longitud vectorial necesaria para que el STAR funcionara más rápido que el 7600 se daba en torno a los 50 elementos; si los bucles trabajaban con conjuntos de datos con menos elementos, el coste de tiempo de configurar la tubería vectorial era mayor que el ahorro de tiempo proporcionado por las instrucciones vectoriales.
Cuando la máquina se lanzó en 1974, pronto se hizo evidente que su rendimiento general era decepcionante. Muy pocos programas podían vectorizarse eficazmente en una serie de instrucciones individuales; casi todos los cálculos dependían de los resultados de alguna instrucción anterior, pero estos resultados debían pasar por las tuberías antes de poder reintroducirse. Esto obligaba a la mayoría de los programas a asumir el alto coste de configuración de las unidades vectoriales, y, por lo general, los que sí funcionaban eran casos extremos. Peor aún, se sacrificó el rendimiento escalar básico para mejorar el rendimiento vectorial. Cada vez que el programa tenía que ejecutar instrucciones escalares, el rendimiento general de la máquina caía drásticamente. (Véase la Ley de Amdahl ).
Finalmente, se entregaron dos sistemas STAR-100 al Laboratorio Nacional Lawrence Livermore y uno al Centro de Investigación Langley de la NASA . [ 13 ] En preparación para las entregas de STAR, los programadores del LLNL desarrollaron una biblioteca de subrutinas , llamada STACKLIB , en el 7600 para emular las operaciones vectoriales de STAR. Durante el desarrollo de STACKLIB, descubrieron que los programas convertidos para usarla se ejecutaban más rápido que antes, incluso en el 7600. Esto ejerció mayor presión sobre el rendimiento de STAR.
El STAR-100 fue una decepción para todos los involucrados. Jim Thornton , antiguo asistente cercano de Seymour Cray en los proyectos CDC 1604 y 6600 y diseñador jefe del STAR, dejó CDC para fundar Network Systems Corporation . Una versión actualizada de la arquitectura básica se lanzó posteriormente en 1979 como el Cyber 203 , [ 13 ] seguido del Cyber 205 en 1980, pero para entonces ya existían en el mercado sistemas de Cray Research con un rendimiento considerablemente superior. El fracaso del STAR provocó que CDC perdiera su dominio en el mercado de las supercomputadoras, algo que intentaron remediar con la formación de ETA Systems en septiembre de 1983. [ 13 ]
Instalaciones
Se construyeron cinco CDC STAR-100. Las entregas comenzaron en 1974: [ 1 ]
- Control Data Corporation, Arden Hills, MN (2)
- Laboratorio Nacional Lawrence Livermore. (2)
- NASA Langley
Referencias
- 1 2 3 4 GRANDES SISTEMAS INFORMÁTICOS Y NUEVAS ARQUITECTURAS, T. Bloch, CERN, Ginebra, Suiza, noviembre de 1978
- 1 2 3 4 Propuesta al Laboratorio de Computación Atlas para un sistema informático STAR, Michael Baylis, Control Data, abril de 1972
- ↑ Manual de referencia de hardware Star-100
- ↑ Historial y resultados de la prueba de rendimiento de Whetstone
- 1 2 3 MacKenzie, Donald (1998). Conociendo las máquinas: Ensayos sobre el cambio técnico . MIT Press. ISBN 978-0-262-63188-4.
- ↑ CJ Purcell (1974). "The Control Data STAR-100 - Performance measurements". AFIPS 1974 International Workshop on Managing Requirements Knowledge . p. 385. doi : 10.1109/AFIPS.1974.113 . S2CID 43509695 .
- ↑ Hwang, Kai; Briggs, Fayé Alayé (1984). Arquitectura de computadoras y procesamiento paralelo . McGraw-Hill. págs. 234–249 .
- ↑ "CDC(R) Cyber 200 - Especificación de instrucciones independiente del modelo" (PDF) . Archivado del original (PDF) el 15 de agosto de 2025.
- ↑ Hockney, RW; Jesshope, CR (1981). Computadoras paralelas: arquitectura, programación y algoritmos . Adam Hilger. pág. 15.
- ↑ Ibbett, RN; Topham, NP (1989). Arquitectura de computadoras de alto rendimiento, volumen I: Uniprocesadores y procesadores vectoriales . Springer-Verlag . pág. 159.
- ^ Schneck, PB (1987). Arquitectura de supercomputadoras . Académico Kluwer. págs. 99-118 .
- 1 2 3 P.M. Kogge, La arquitectura de las computadoras segmentadas , Taylor & Francis, 1981, págs. 162 – 164.
- 1 2 3 R.W. Hockney y CR Jesshope, Computadoras paralelas 2: Arquitectura, programación y algoritmos , Adam Hilger, 1988, pág. 21.
Lecturas adicionales
- RG Hintz y DP Tate, "Diseño del procesador Control Data STAR-100", Proc. Compcon , 1972, págs . 1-4 .
Enlaces externos
- Neil R. Lincoln con 18 ingenieros de Control Data Corporation (CDC) sobre arquitectura y diseño de computadoras , Instituto Charles Babbage , Universidad de Minnesota. Los ingenieros son Robert Moe, Wayne Specker, Dennis Grinna, Tom Rowan, Maurice Hutson, Curt Alexander, Don Pagelkopf, Maris Bergmanis, Dolan Toth, Chuck Hawley, Larry Krueger, Mike Pavlov, Dave Resnick, Howard Krohn, Bill Bhend, Kent Steiner, Raymon Kort y Neil R. Lincoln. Los temas de discusión incluyen CDC 1604 , CDC 6600 , CDC 7600 , CDC 8600 , CDC STAR-100 y Seymour Cray .
- Hardware de Control Data Corporation
- supercomputadoras vectoriales
- Ordenadores centrales de Control Data Corporation
- computadoras de 64 bits
- Introducciones relacionadas con la informática en 1974