¿Qué es una supercomputadora?
Una supercomputadora es en realidad un enorme sistema informático, que se utiliza principalmente para realizar importantes investigaciones científicas en el campo de la economía nacional, la tecnología de defensa nacional de vanguardia, proyectos informáticos a gran escala y tareas de procesamiento de datos. Por ejemplo, la predicción meteorológica a gran escala, la clasificación de fotografías satelitales, la exploración de materiales nucleares, la investigación de misiles y naves espaciales intercontinentales y la formulación de planes nacionales de desarrollo económico son tareas numerosas y que requieren mucho tiempo. Es necesario considerar varios factores de manera integral y completar con éxito confiando en supercomputadoras.
Algunos economistas estipulan los indicadores de las supercomputadoras: en primer lugar, la velocidad promedio de computación de la computadora es superior a 654,38+0 mil millones de veces por segundo; en segundo lugar, la capacidad de almacenamiento es superior a 654,38+00 millones de bits. Por ejemplo, la computadora "Galaxy" desarrollada con éxito por China es una supercomputadora. El desarrollo de supercomputadoras es una dirección importante del desarrollo de las computadoras electrónicas. Su nivel de desarrollo marca el grado de desarrollo tecnológico e industrial de un país y refleja la fuerza del desarrollo económico del país. Algunos países desarrollados están invirtiendo muchos recursos financieros, humanos y materiales para desarrollar computadoras supergrandes con velocidades operativas que alcanzan decenas de miles de millones.
El sistema informático con mayor velocidad, mayor rendimiento, mayor volumen y mayor precio en un determinado periodo de tiempo. Supercomputadora es un concepto relativo. Una supercomputadora en un período puede convertirse en una computadora de propósito general en el siguiente; una tecnología de supercomputadora en un período puede convertirse en una tecnología informática de propósito general en el siguiente. Las supercomputadoras modernas se utilizan en la investigación de física nuclear, diseño de armas nucleares, diseño de vehículos espaciales, pronóstico y toma de decisiones económicas nacionales, desarrollo energético, pronóstico meteorológico a mediano y largo plazo, procesamiento de imágenes satelitales, análisis de información y diversas investigaciones científicas. Es una poderosa herramienta de cálculo de simulación y es de gran valor para la economía nacional y la construcción de la defensa nacional.
Según las estadísticas, el rendimiento de un ordenador es proporcional al cuadrado de su valor de uso, lo que es la llamada ley del cuadrado. Según esta ley estadística, cuanto mayor sea el rendimiento de la computadora, más barato será el precio relativo. Por lo tanto, a medida que los proyectos científicos a gran escala requieran cada vez más el rendimiento de las computadoras, las supercomputadoras de rendimiento ultraalto obtendrán cada vez más beneficios económicos.
Primero, el desarrollo de las supercomputadoras
A mediados de la década de 1950, estaban la máquina LARC de UNIVAC y la máquina de tracción de IBM. Estas dos computadoras adoptaron tecnologías de procesamiento paralelo, como control de prioridad de instrucciones, unidades aritméticas múltiples, entrelazado de memoria, multiprogramación y sistemas de tiempo compartido. Las supercomputadoras de la década de 1960 incluían las CDC6600 y 7600, que estaban equipadas con múltiples procesadores periféricos, y el procesador central del host contenía múltiples unidades de procesamiento independientes y paralelas. Las supercomputadoras modernas aparecieron en la década de 1970 y su velocidad de ejecución de instrucciones alcanzó más de 50 millones de veces por segundo, o se pueden obtener más de 20 millones de resultados de punto flotante por segundo.
Los supercomputadores modernos han pasado por tres etapas de desarrollo. La primera fase incluyó las supercomputadoras estadounidenses ILIAC-IV (1973), STAR-100 (1974) y ASC (1972). La computadora illiac-ⅳ es una computadora de matriz controlada por 64 unidades de procesamiento, y las dos últimas son computadoras vectoriales con canalización vectorial. El CRAY-1, desarrollado con éxito en 1976, marcó la segunda etapa de las supercomputadoras modernas. Esta computadora está equipada con registros de uso general, como vectores, escalares y direcciones, y también tiene 12 componentes de canalización. La máquina tiene una frecuencia principal de 80 MHz y puede obtener 80 millones de resultados de operaciones de punto flotante por segundo; la capacidad de la memoria principal es de 1 a 4 millones de palabras (64 bits por palabra) y la capacidad de la memoria externa es de 109 a 101 palabras; El gabinete principal es cilíndrico y consume varias horas de energía. Utilice refrigeración por freón. La imagen muestra la estructura lógica de esta máquina. La supercomputadora de exaescala "Galaxy" de China (1983) es también una supercomputadora de registro multipropósito y totalmente canalizada. Hay un total de 65,438+08 componentes de tubería, utilizando una estructura de matriz vectorial bidireccional. La memoria principal tiene una capacidad de 2 a 4 millones de palabras (64 bits por palabra) y está equipada con una memoria en disco de gran capacidad. Todas las arquitecturas de estas supercomputadoras pertenecen a la estructura SIMD. Desde la década de 1980, se lanzó la tercera etapa de supercomputadoras de mayor rendimiento con estructuras multiprocesador (MIMD de flujo de instrucciones múltiples y flujo de datos múltiples) y estructuras de matriz de vectores múltiples.
Por ejemplo, el Cray-XMP estadounidense, el CDCCYBER205, los S810/10 y 20, VP/100 y 200, S×1 y S×2 de Japón utilizan microprocesadores que sinterizan chips de matriz de compuertas de velocidad ultraalta en chips cerámicos multicapa. Proceso de montaje, la frecuencia principal es tan alta como. La velocidad máxima puede alcanzar entre 50 y 1 mil millones de resultados de punto flotante por segundo, la capacidad de la memoria principal es de 4 a 32 millones de palabras (64 bits por palabra) y la capacidad de la memoria externa es superior a 10 12 palabras.
También existe una supercomputadora con una gran especificidad. Por ejemplo, el gigante procesador paralelo MPP de Godel Aerospace Company en Estados Unidos está compuesto por 16.384 procesadores y está dedicado al procesamiento de alta velocidad de información de imágenes satelitales. La suma de enteros de 8 bits se puede procesar hasta 6 mil millones de veces por segundo y la suma de punto flotante de 32 bits se puede procesar hasta 160 millones de veces por segundo. DAP es un sistema dedicado para procesadores de matriz distribuida desarrollado por la empresa británica ICL. Consta de 4096 microprocesadores de un bit y una computadora serie 2900 a gran escala. La velocidad máxima puede alcanzar 100 millones de resultados de punto flotante de 64 bits por segundo.
2. La composición de una supercomputadora
La computadora host está compuesta por componentes informáticos de alta velocidad y una memoria principal rápida de gran capacidad. Debido al gran rendimiento del procesamiento de datos gigante, la memoria principal por sí sola no es suficiente y generalmente está respaldada por memorias de expansión rápida de semiconductores y subsistemas de almacenamiento masivo. Para los usuarios de sistemas de procesamiento de datos a gran escala, a menudo se requieren subsistemas de cinta en línea a gran escala o subsistemas ópticos como medios para la entrada/salida de grandes cantidades de datos de información. Generalmente, el host no administra directamente los dispositivos de entrada/salida (E/S) lentos, sino que se conecta al procesador frontal a través del canal de interfaz de E/S. El procesador frontal realiza el trabajo de E/S, incluida la escritura. programas y datos de usuario, y el procesamiento de resultados de ejecución, impresión y salida de dibujos, etc. Las computadoras front-end generalmente usan computadoras pequeñas. Otra forma de entrada y salida es a través de la red. Los usuarios de la red utilizan supercomputadoras a través de la red con la ayuda de sus computadoras terminales (microcomputadoras, estaciones de trabajo, pequeñas computadoras centrales), y todas las E/S las completa la computadora cliente. El modo de red puede mejorar enormemente la utilización de la supercomputadora.
En tercer lugar, la tecnología de supercomputadoras
El procesamiento paralelo es la base de la tecnología de supercomputadoras. Para mejorar el rendimiento del sistema, las supercomputadoras modernas adoptan diversas tecnologías para admitir el procesamiento paralelo en la estructura, el hardware, el software, la tecnología y los circuitos del sistema.
Tipos de datos Para facilitar el procesamiento paralelo de alta velocidad, además de los escalares tradicionales, a los tipos de datos del procesador central se les han agregado tipos vectoriales o de matriz. La esencia de las operaciones vectoriales o de matriz es realizar un lote de las mismas operaciones de forma continua o simultánea, mientras que las operaciones escalares solo procesan uno o un par de operandos, por lo que las operaciones vectoriales son generalmente mucho más rápidas que las operaciones escalares.
Estructura del hardware El hardware de las supercomputadoras modernas utiliza principalmente diversas tecnologías, como tuberías, componentes multifunción, estructuras de matriz o multiprocesadores. Pipeline divide todo el componente en varios segmentos, de modo que se puede calcular una gran cantidad de datos en cada segmento superpuesto. Es especialmente adecuado para operaciones vectoriales, tiene un rendimiento de alto costo y se usa ampliamente. Los componentes multifuncionales pueden realizar diferentes operaciones al mismo tiempo. A menudo se utiliza tecnología de canalización dentro de cada componente, que es adecuada tanto para operaciones vectoriales como para operaciones escalares. La computadora "Galaxy" de China y las computadoras VP/200 y S810/20 de Japón duplicaron aún más cada componente de tubería vectorial o procesador de vectores para formar una matriz de vectores bidireccional, lo que duplicó la velocidad de las operaciones vectoriales. El procesador vectorial de la computadora estadounidense CYBER-205 puede formar uno, dos o cuatro canales de matriz según las necesidades del usuario, y la tecnología ha sido desarrollada. Los sistemas multiprocesador aumentan la potencia de procesamiento del sistema al trabajar con múltiples procesadores en paralelo. Cada procesador puede cooperar para completar un trabajo o completar su propio trabajo de forma independiente. Cada procesador también puede emplear una variedad de técnicas de procesamiento paralelo adecuadas. En los sistemas multiprocesador aún quedan muchas cuestiones por resolver en cuanto a la división y distribución de tareas, la sincronización y comunicación entre múltiples procesadores y los beneficios de las redes de interconexión. Las supercomputadoras modernas utilizan principalmente sistemas de doble procesador (como Cray-XMP) y sistemas de cuatro procesadores (como HEP).
Registros vectoriales Para reducir los requisitos de tráfico de almacenamiento y ancho de banda y resolver el problema de la baja velocidad de operación de vectores cortos, la supercomputadora de segundo nivel adopta tecnología de registros vectoriales. CRAY-1 tiene 8 registros vectoriales y todas las instrucciones de operación vectorial están orientadas a registros vectoriales y otros registros de uso general.
Para respaldar de manera más efectiva que cada canal ejecute sus respectivas operaciones vectoriales en paralelo, las supercomputadoras japonesas de tercer nivel, como VP/100 y S810, tienen enormes registros vectoriales con una capacidad total de 64k bytes.
Operación escalar La velocidad de operación escalar tiene una gran influencia en la velocidad integral del sistema de supercomputadora. Por lo tanto, además de agregar registros escalares, registros de respaldo escalares o memorias caché escalares y adoptar tecnología de control escalar avanzada (como el control anticipado), también puede utilizar componentes funcionales dedicados a operaciones escalares, procesadores escalares y otras tecnologías. Por ejemplo, entre los componentes multifuncionales de CRAY-1, 6 están dedicados a operaciones escalares y de direcciones, y 3 también se utilizan para operaciones escalares de punto flotante. La velocidad de operación escalar puede alcanzar más de 20 millones de veces por segundo; tiene un procesador escalar especialmente diseñado, que incluye cinco componentes informáticos, la velocidad de cálculo escalar puede alcanzar más de 50 millones de veces por segundo. Se ha convertido en un tema de investigación importante mejorar el rendimiento de los sistemas de supercomputadoras aumentando la velocidad de las operaciones vectoriales y aumentando aún más la velocidad de las operaciones escalares para reducir la brecha entre las dos tanto como sea posible.
Memoria principal Para hacer posible el procesamiento 3D de sistemas complejos, se requiere que la memoria principal pueda acomodar grandes cantidades de datos. La capacidad de las supercomputadoras en la década de 1980 alcanzó los 256 MB. Para igualar la velocidad de las unidades informáticas, la memoria principal debe aumentar considerablemente el flujo de información. Por lo tanto, las medidas principales son: ① Utilice tecnología madura de acceso cruzado de múltiples módulos, el número de módulos es generalmente 2n y algunas supercomputadoras utilizan nueva tecnología de módulo principal para evitar conflictos de acceso vectorial tanto como sea posible (2) Reducir continuamente el; ciclo de acceso de cada módulo. Por ejemplo, el ciclo de acceso de la máquina Cray-XMP es de 38 nanosegundos y la memoria MOS estática de la máquina S810 es de solo 40 nanosegundos, lo que equivale a la memoria bipolar ③ Aumente el puerto de acceso de la memoria principal; Por ejemplo, en comparación con CRAY-1, cada procesador de CRAY-XMP tiene cuatro puertos de acceso, lo que resuelve el problema del cuello de botella en el acceso al almacenamiento.
La supercomputadora de canales de E/S no solo está equipada con una gran cantidad de canales de E/S, como 16 ~ 32, sino que también tiene una alta velocidad de transmisión de canales. Por ejemplo, Cray-XMP tiene dos canales con una tasa de transferencia de 65.438+0.000 megabytes por segundo y un canal con una tasa de transferencia de 65.438+0.250 megabytes por segundo.
Almacenamiento masivo de estado sólido Para adaptarse a la programación frecuente de grandes cantidades de datos entre la memoria principal y la memoria externa, un nuevo tipo de supercomputadora utiliza el almacenamiento masivo de estado sólido como externo de ultra alta velocidad. memoria. La memoria de estado sólido de Cray-XMP utiliza tecnología MOS, con una capacidad de 64 a 256 MB y una velocidad de transferencia de 50 a 100 veces más rápida que un disco. La capacidad de memoria de estado sólido del S810 es de 256 ~ 1024 megabytes y la velocidad de transmisión alcanza los 1000 megabytes por segundo.
Todos los circuitos lógicos de las supercomputadoras de circuitos integrados a gran escala utilizan circuitos ECL de velocidad ultraalta, con retrasos de puerta de aproximadamente 0,25 a 0,5 nanosegundos y números de puerta de chip que van desde docenas hasta más de 1.000. En 1984, Japón desarrolló con éxito un chip de GaAs de temperatura ambiente con matriz de puertas 4K con un retardo de etapa de aproximadamente 50 picosegundos. El tiempo de acceso de la memoria de acceso aleatorio bipolar de ultra alta velocidad al registro vectorial es de 3,5 a 5,5 nanosegundos.
El proceso de montaje es la base para aumentar la velocidad de los superordenadores acortando la longitud del cableado dentro de la máquina y aumentando la frecuencia principal de la máquina. La frecuencia principal de las supercomputadoras modernas ha alcanzado más de 250 MHz. Por ello, además de mejorar la integración y velocidad de los chips, también se utilizan procesos de ensamblaje multicapa de alta densidad como el microensamblaje. El problema de disipación de calor resultante es muy importante y requiere medidas especiales de disipación de calor.
Algoritmos paralelos y tecnología de software Para aprovechar al máximo el rendimiento del sistema de las supercomputadoras, es necesario estudiar varios algoritmos paralelos y desarrollar sistemas de software paralelos. De acuerdo con las características de la informática científica ultragrande, las supercomputadoras suelen estar equipadas con el siguiente software: sistema operativo distribuido por lotes con múltiples capacidades de procesamiento, lenguaje ensamblador eficiente, vector FORTRAN o PASCAL, lenguaje ADA e identificador de vector, biblioteca de subrutinas estándar paralela, software científico. bibliotecas de subrutinas y aplicaciones, utilidades del sistema, programas de diagnóstico, etc.