Pyramid Technology Corporation era una empresa de informática que producía una serie de minicomputadoras basadas en RISC en el extremo superior del rango de rendimiento. [1] Tenía su sede en el área de la Bahía de San Francisco en California.
También se convirtieron en la segunda empresa en enviar un sistema UNIX multiprocesador (denominado DC/OSx ), en 1985, que formó la base de su línea de productos hasta principios de los años 1990. El OSx de Pyramid era un UNIX de universo dual que admitía programas y llamadas al sistema tanto de 4.xBSD como de UNIX System V de AT&T . [2]
Pyramid Technology fue fundada en 1981 por varios ex empleados de Hewlett-Packard , que estaban interesados en construir minicomputadoras de primer nivel basadas en diseños RISC .
En 1993 , Pyramid licenció su tecnología de bus multiprocesador a Fujitsu / ICL y, además, firmó una asociación de comercialización en determinados mercados en la que ICL vendería productos de servidor de Pyramid y ofrecería servicios de integración con los productos mainframe existentes de ICL . Dichos acuerdos de venta continuarían hasta 1994, cuando ICL ya habría implementado la tecnología de Pyramid en sus propios productos SPARC , en contraste con la arquitectura MIPS de los sistemas Pyramid existentes. [3]
En marzo de 1995, Siemens AG compró Pyramid y la fusionó con su unidad Siemens Computer Systems US. [4] [5] [6] En 1998, esta unidad se dividió y el sector de servicios de la operación pasó a llamarse Wincor Nixdorf . En 1999, Siemens y Fujitsu fusionaron sus operaciones informáticas para formar Fujitsu Siemens Computers y, finalmente, Amdahl se sumó a la combinación en 2000.
La primera serie de minicomputadoras de Pyramid Technology se lanzó en agosto de 1983 [7] [8] como la superminicomputadora 90x, que utilizaba su procesador escalar de 32 bits personalizado que funcionaba a 8 MHz.
Aunque la arquitectura se comercializó como una máquina RISC , en realidad estaba microprogramada . Utilizaba un modelo de registro de "ventana deslizante" basado en el procesador RISC de Berkeley , pero las instrucciones de acceso a memoria tenían modos de operación complejos que podían requerir muchos ciclos para ejecutarse. Muchas instrucciones escalares de registro a registro se ejecutaban en un solo ciclo de máquina. Inicialmente, las instrucciones de punto flotante se ejecutaban totalmente en microcódigo, aunque más tarde se lanzó una unidad de punto flotante opcional en una placa de circuito separada. La microprogramación también permitió otros lujos no RISC, como las instrucciones de movimiento de bloques.
Los programas tenían acceso a 64 registros y muchas instrucciones eran triádicas. Dieciséis registros (registros 48 a 63) se denominaban "registros globales" y corresponden a los registros de una CPU típica, en el sentido de que son estáticos y siempre visibles. Los otros 48 registros eran en realidad la parte superior de la pila de subrutinas . Treinta y dos de ellos (0-31) eran registros locales para la subrutina actual, y los registros 32-47 se usaban para pasar hasta 16 parámetros a la siguiente subrutina llamada. Durante una llamada a una subrutina, la pila de registros se movía 32 palabras hacia arriba, por lo que los registros 32-47 del invocador se convertían en los registros 0-15 de la subrutina llamada. La instrucción de retorno reducía la pila en 32 palabras para que los parámetros de retorno fueran visibles para el invocador en los registros 32-47. La memoria caché de pila contenía 16 niveles en la CPU y el desbordamiento y subdesbordamiento de pila se gestionaba automáticamente mediante el microcódigo de la CPU. El modelo de programación tenía dos pilas, una para la pila de registros y otra para las variables locales de subrutina. Una crecía desde una dirección designada en el medio del espacio de direcciones y la otra crecía desde la parte superior del espacio de direcciones del modo de usuario.
El 90x podía alojar cuatro tarjetas de memoria, cada una con una capacidad inicial de 1 MB. En su momento, se consideró que era mucha memoria, pero la arquitectura similar a RISC dio lugar a programas más grandes que las arquitecturas anteriores, por lo que la mayoría de las máquinas se vendieron con las ranuras de memoria llenas. Afortunadamente, las tarjetas de memoria de 1 MB tenían RAM en los zócalos, por lo que se pudieron actualizar a unidades de 4 MB cuando aparecieron dispositivos de RAM dinámica más grandes poco después del lanzamiento inicial del 90x.
El 90x competía con el VAX 11/780 de Digital Equipment Corporation (DEC) , que era la plataforma preferida para ejecutar UNIX a principios de los años 80. El procesador 90x alcanzaba aproximadamente el doble de velocidad que el VAX y se vendía por aproximadamente la mitad del precio. Pyramid recibió ayuda indirecta de la renuencia de DEC a vender máquinas VAX sin el sistema operativo VMS , por el que cobraban una cantidad considerable de dinero. Muchas universidades querían ejecutar UNIX en lugar de VMS, por lo que el mayor rendimiento y el menor precio de Pyramid, junto con los retrasos artificiales en la entrega o los recargos de DEC, les ayudaron a tomar la arriesgada decisión de comprar a un nuevo fabricante.
Una de las mayores ventajas del 90x sobre la competencia era su controlador de puerto serie asíncrono (ITS o Intelligent Terminal Server) basado en un procesador de 16 bits . El ITS se conectaba a 16 puertos serie y podía ejecutarlos a velocidades muy altas, utilizando DMA para alimentarse de bloques de datos de salida encadenados . Una máquina podía tener muchos ITS instalados, cada uno con su propio procesador de E/S. Otras máquinas de la época (incluido el 11/780) requerían la intervención de la CPU cada pocos bytes para los usuarios interactivos, lo que aumentaba significativamente el componente de sistema de la carga de la CPU . Como resultado, el 90x obtuvo muy buenos resultados en las pruebas comparativas con una cantidad realista de E/S serie.
Los controladores de disco y cinta magnética eran en realidad controladores Multibus de terceros de 16 bits instalados en un zócalo en una placa adaptadora de bus en forma de U.
La mayoría de los primeros sistemas se entregaron con una unidad de disco Fujitsu Eagle de 470 MB y una unidad de cinta de transmisión de carrete a carrete con carga por ranura.
Al igual que el VAX 11/780, que tenía un PDP-11/03 con un disquete de 8 pulgadas (200 mm) como procesador de consola, el 90x tenía un "Procesador de Soporte del Sistema", basado en un Motorola 68000 , que cargaba el microcódigo desde un disquete de 5,25 pulgadas (133 mm) cuando se iniciaba el sistema. También era capaz de ejecutar un conjunto de diagnósticos sobre el sistema. Tenía un módem que permitía el análisis remoto por parte del fabricante. El software ejecutado por el procesador administrativo se llamó inicialmente Totally Unrealistic Remote Diagnostic. Este nombre se cambió algunos años después.
Se entregó un sistema mínimo en un solo bastidor de 19 pulgadas (480 mm) de aproximadamente 60 pulgadas (1500 mm) de alto con la caja de tarjetas en la parte inferior, la unidad de disco en el medio, la unidad de cinta encima y luego el panel de control de 2 pulgadas de alto con una unidad de disquete y llave de encendido en la parte superior. Esto se consideró muy compacto en ese momento. Al menos una máquina en Australia pasó seis meses instalada en un baño exterior retirado con un acondicionador de aire reemplazando la ventana con rejilla y la terminal de la consola del sistema colocada sobre el gabinete. Las tareas de administración se realizaban al aire libre. El único indicador en el panel de control era una pantalla LED de gráfico de barras de 8 segmentos que mostraba el uso promedio de la CPU cuando la máquina estaba en funcionamiento y un patrón de " ojo de Cylon " cuando la máquina se detenía inesperadamente. La máquina estaba lo suficientemente baja como para que la consola (una terminal asincrónica monocromática) pudiera reposar sobre ella.
El 90x fue seguido rápidamente por el 98x, que era idéntico excepto que la velocidad del reloj del procesador se incrementó a 10 MHz.
Inicialmente un sistema de un solo procesador como su predecesor, el 98x se convirtió en el primer SMP de Pyramid en 1986. Varias máquinas de la serie fueron lanzadas, desde el 9805 de 1 CPU hasta el 9845 de 4 CPU, durante un período de años de 1985 a 1987. El 9845 completamente cargado funcionaba a unos 25 MIPS , una cifra respetable para la época, aunque no competitiva con las supercomputadoras de alta gama .
Para responder al creciente pero sensible mercado de servidores y estaciones de trabajo , Pyramid presentó el WorkCenter en 1986, esencialmente una versión de media altura y menor costo del 98x con una unidad de cinta de 9 pistas montada horizontalmente y una o más unidades de disco de 8 pulgadas (200 mm). [9]
Todos los primeros sistemas Pyramid 9xxx (desde el 90x hasta el 9810) utilizaban el mismo bus físico y podían actualizarse en campo. [10]
Al igual que muchos de los primeros fabricantes de multiprocesadores, Pyramid recurrió a las CPU RISC "comerciales" cuando empezaron a resultar prácticas. Pyramid continuó utilizando su propio diseño RISC hasta el lanzamiento de la línea de productos MIServer S. Pyramid lanzó una serie de máquinas basadas en ventanas de registro como continuación de la línea 9000. Estas se conocieron como MIServer a partir de 1989. Admitían hasta diez CPU con un rendimiento de unos 12 MIPS cada una. El MIServer fue reemplazado en 1991/2 por el MIServerT y más tarde le siguieron el MIServer S y el ES, la primera máquina basada en R3000 de Pyramid . Las primeras máquinas de la serie se entregaban con entre 4 y 12 R3000 funcionando a 33 MHz, con un rendimiento máximo de unos 140 MIPS. Las máquinas MIServer ES de gama alta posteriores tenían hasta 24 CPU, también a 33 MHz. El sistema operativo para los sistemas basados en MIPS era DC/OSx , un puerto de AT&T System V Release 4 (SVR4).
El lanzamiento del R4400 de 64 bits y 150 MHz dio lugar a la serie Nile de 2 a 16 CPU a finales de 1993. Con cada CPU capaz de 92 MIPS, los sistemas Nile eran verdaderos superordenadores. Su último producto, el Reliant RM 1000, conocido internamente como Meshine, estaba a punto de salir al mercado cuando Siemens los compró. El RM1000 era un ordenador de procesamiento paralelo masivo (MPP). Cada nodo ejecutaba su propia instancia de Reliant UNIX DC/OSx. Este sistema tenía una arquitectura de malla de dos ejes. El RM1000 utilizaba un software llamado ICF para gestionar las interconexiones del clúster. ICF pasó a proporcionar la base del clúster en el software PrimeCluster HA que todavía está en desarrollo y disponible en Fujitsu Siemens.
Cada nodo de cómputo en la malla utilizaba una sola CPU MIPS R10000 , sin embargo, las mejoras en el RM1000 permitieron que las máquinas NILE SMP se incluyeran en la malla como nodos "gordos". Los nodos de cómputo se instalaron físicamente en los marcos HAAS-3 que se enviaron como matrices de unidades con el producto Nile anterior. Cada nodo de cómputo controlaba seis discos SCSI como controlador principal y otros seis discos como controlador secundario. El marco con hasta seis nodos de cómputo o cuatro nodos de cómputo y dos puertas de enlace de conexión Nile se conectaba a los marcos vecinos con cables de cinta cortos . Un marco HAAS-3 con nodos de cómputo instalados se denominaba celda. Las celdas se bloqueaban entre sí y se podían apilar de dos en dos y de extremo a extremo hasta donde lo permitiera el espacio. Cuatro celdas juntas se conocían como una tonelada y los sistemas se denominaban por la cantidad de toneladas que contenían. La malla más grande construida en Pyramid fue un sistema de prueba que contenía 214 CPU, incluidos cuatro nodos Nile SMP.
Aunque el RM1000 finalmente se discontinuó y no fue reemplazado por Siemens, los clientes que tenían instalaciones grandes, como una gran empresa de telecomunicaciones del Reino Unido , tardaron mucho tiempo en encontrar reemplazos adecuados para estos sistemas masivamente paralelos debido a sus enormes capacidades de E/S y computación.