Investigación de Kendall Square

ImprimirCitar
KSR1

Kendall Square Research (KSR) era una empresa de supercomputadoras con sede originalmente en Kendall Square en Cambridge, Massachusetts en 1986, cerca del Instituto de Tecnología de Massachusetts (MIT). Fue cofundado por Steven Frank y Henry Burkhardt III, quienes anteriormente ayudaron a fundar Data General y Encore Computer y formaron parte del equipo original que diseñó el PDP-8. KSR produjo dos modelos de supercomputadora, la KSR1 y la KSR2. Se declaró en quiebra en 1994.

Tecnología

Los sistemas KSR ejecutaron una versión especialmente personalizada del sistema operativo OSF/1, una variante de Unix, con programas compilados por un puerto específico de KSR de los compiladores Green Hills Software C y FORTRAN. La arquitectura fue una memoria compartida implementada como una arquitectura de memoria de solo caché o "COMA". Al ser todo caché, la memoria migró dinámicamente y se replicó de manera coherente en función del patrón de acceso de los procesadores individuales. Los procesadores se organizaron en una jerarquía de anillos y el sistema operativo mediaba en la migración de procesos y el acceso a los dispositivos. La decodificación de instrucciones estaba cableada y se utilizó canalización. Cada procesador KSR1 era una CPU de cálculo de conjunto de instrucciones reducido (RISC) personalizada de 64 bits con frecuencia de reloj de 20 MHz y capaz de una salida máxima de 20 millones de instrucciones por segundo (MIPS) y 40 millones de operaciones de coma flotante por segundo (MFLOPS). Se podrían organizar hasta 1088 de estos procesadores en un solo sistema, con un mínimo de ocho. El KSR2 duplicó la velocidad del reloj a 40 MHz y admitió más de 5000 procesadores. El conjunto de chips KSR-1 fue fabricado por Sharp Corporation, mientras que el conjunto de chips KSR-2 fue construido por Hewlett-Packard.

Software

Además de las aplicaciones científicas tradicionales, KSR con Oracle Corporation, abordó el mercado de bases de datos paralelas masivas para aplicaciones comerciales. El KSR-1 y -2 eran compatibles con los lenguajes de programación Micro Focus COBOL y C/C++, y la base de datos Oracle y MATISSE OODBMS de ADB, Inc. Su propio producto, KSR Query Decomposer, complementaba las funciones del producto Oracle para usos de SQL.. También se proporcionó el monitor de transacciones TUXEDO para OLTP. El programa KAP (Kuck & Associate Preprocessor) proporcionó preprocesamiento para el análisis y la paralelización del código fuente. El entorno de tiempo de ejecución se denominó PRESTO y era un administrador de subprocesos múltiples compatible con POSIX.

KSR2 ALLCACHE Procesador, Router y Directorio (APRD) junta con dos células APRD

Hardware

El procesador KSR-1 se implementó como un conjunto de cuatro chips en un semiconductor complementario de óxido de metal (CMOS) de 1,2 micrómetros. Estos chips eran: la unidad de ejecución de celda, la unidad de punto flotante, la unidad lógica aritmética y la unidad de E/S externa (XIO). La CEU manejó la búsqueda de instrucciones (dos por reloj) y todas las operaciones que involucran memoria, como cargas y almacenamiento. Se usaron direcciones de 40 bits, pasando a direcciones completas de 64 bits más tarde. La unidad entera tenía 32 registros de 64 bits de ancho. La unidad de coma flotante se analiza a continuación. El XIO tenía una capacidad de 30 MB/s de rendimiento para dispositivos de E/S. Incluía 64 registros de control y datos.

El procesador KSR era un VLIW de 2 anchos, con instrucciones de 6 tipos: referencia de memoria (carga y almacenamiento), ejecución, flujo de control, control de memoria, E/S e insertado. Ejecutar instrucciones incluidas aritmética, lógica y conversión de tipos. Por lo general, tenían un registro triádico en formato. El flujo de control se refiere a ramas y saltos. Las instrucciones de bifurcación eran de dos ciclos. El programador (o compilador) podría controlar implícitamente el comportamiento de anulación de las dos instrucciones subsiguientes que se iniciarían durante la bifurcación. Las opciones eran: retener siempre los resultados, retener los resultados si la prueba de rama es verdadera o retener los resultados si la prueba de rama es falsa. El control de la memoria proporcionó primitivas de sincronización. Se proporcionaron instrucciones de E/S. Las instrucciones insertadas fueron forzadas a fluir por un coprocesador. La carga y el almacenamiento insertados se utilizaron para las transferencias de acceso directo a memoria (DMA). Las instrucciones de memoria insertadas se utilizaron para mantener la coherencia de la memoria caché. Los nuevos coprocesadores podrían interconectarse con el mecanismo de instrucción insertado. Se admitió la aritmética de punto flotante estándar IEEE. Se incluyeron sesenta y cuatro registros de 64 bits de ancho.

El siguiente ejemplo de ensamblaje KSR realiza una llamada de procedimiento indirecto a una dirección contenida en el bloque constante del procedimiento, guardando la dirección de retorno en el registro c14. También guarda el puntero de cuadro, carga el registro entero cero con el valor 3 e incrementa el registro entero 31 sin cambiar los códigos de condición. La mayoría de las instrucciones tienen un intervalo de demora de 2 ciclos y los intervalos de demora no están entrelazados, por lo que deben programarse explícitamente, de lo contrario, el peligro resultante significa que a veces se cargan valores incorrectos.

finop; movb8_8 %i2,%c10
finop; cxnop
finop; cxnop
add8.ntr 75,%i31,%i31; ld8 8(%c10),%c4
finop; st8 %fp,504(%sp)
finop; cxnop
movi8 3, %i0; jsr %c14,16(%c4)

En el diseño de KSR, toda la memoria se trató como caché. El diseño no requería una ubicación de casa: para reducir los gastos generales de almacenamiento y para que el software migrara/replicara la memoria de manera transparente y dinámica en función de dónde se utilizara; Se utilizó una arquitectura Harvard, bus separado para instrucciones y memoria. Cada placa de nodo contenía 256 KB de I-cache y D-cache, esencialmente caché principal. En cada nodo había 32 MB de memoria para el caché principal. La arquitectura a nivel de sistema era memoria virtual compartida, que se distribuía físicamente en la máquina. El programador o la aplicación solo vieron un espacio de direcciones contiguas, que se extendía por una dirección de 40 bits. El tráfico entre nodos viajó hasta 4 gigabytes por segundo. Los 32 megabytes por nodo, en total, formaban la memoria física de la máquina.

Se podrían usar procesadores de entrada/salida especializados en el sistema, proporcionando E/S escalable. Un KSR1 de 1088 nodos podría tener 510 canales de E/S con un agregado superior a 15 GB/s. Se admitieron interfaces como Ethernet, FDDI e HIPPI.

Historia

A medida que la empresa creció rápidamente para entrar en producción, se mudaron a fines de la década de 1980 a 170 Tracer Lane, Waltham, Massachusetts.

KSR reenfocó sus esfuerzos del mercado científico al comercial, con énfasis en bases de datos relacionales paralelas y operaciones OLTP. Luego salió del negocio del hardware, pero continuó comercializando algunos de sus productos de software de análisis y almacenamiento de datos.

El primer sistema KSR1 se instaló en 1991. Con nuevo hardware de procesador, nuevo hardware de memoria y una nueva arquitectura de memoria, un nuevo puerto de compilación, un nuevo puerto de un sistema operativo relativamente nuevo y riesgos de memoria expuestos, los primeros sistemas se observaron para fallas frecuentes del sistema. KSR llamó a su arquitectura de memoria de solo caché (COMA) por el nombre comercial Allcache; los problemas de confiabilidad de los primeros sistemas le valieron el apodo de Allcrash, aunque la memoria no era necesariamente la causa raíz de los bloqueos. Se vendieron algunos modelos KSR1 y, mientras se implementaba el KSR2, la empresa quebró en medio de irregularidades contables relacionadas con la sobreestimación de los ingresos.

KSR usó un procesador patentado porque los procesadores de 64 bits no estaban disponibles comercialmente. Sin embargo, esto puso a la pequeña empresa en la difícil posición de realizar tanto el diseño del procesador como el diseño del sistema. Los procesadores KSR se introdujeron en 1991 a 20 MHz y 40 MFlops. En ese momento, el Intel 80486 de 32 bits funcionaba a 50 MHz y 50 MFlops. Cuando se introdujo el DEC Alpha de 64 bits en 1992, funcionaba a 192 MHz y 192 MFlops, mientras que el KSR2 de 1992 funcionaba a 40 MHz y 80 MFlops.

Un cliente del KSR2, el Laboratorio Nacional del Noroeste del Pacífico, una instalación del Departamento de Energía de los Estados Unidos, compró una enorme cantidad de piezas de repuesto y mantuvo sus máquinas en funcionamiento durante años después de la desaparición de KSR.

KSR, junto con muchos de sus competidores (ver a continuación), quebró durante el colapso del mercado de las supercomputadoras a principios de la década de 1990. KSR cerró en febrero de 1994, cuando sus acciones se retiraron de la bolsa de valores.

Competencia

Los competidores de KSR incluían a MasPar Computer Corporation, Thinking Machines, Meiko Scientific y varias empresas antiguas (y que aún sobreviven) como IBM e Intel.

Contenido relacionado

Misil

Sistema de señalización de red privada digital

Transporte en Burundi

Más resultados...
Tamaño del texto:
Copiar