¿Qué es la supercomputadora? ¿Por qué se usa y cuál es su configuración?

Hay una serie de variaciones … pero la mayoría de las supercomputadoras actuales están basadas en multiprocesadores y varias formas de clústeres.

Las supercomputadoras anteriores pasaron de procesadores individuales que eran (por el momento) muy rápidos. Los más rápidos fueron los Cray, y alcanzaron su velocidad de cuatro maneras: bus de memoria múltiple (4 por procesador), un interruptor de bus masivo, una arquitectura de memoria que funcionaba a la velocidad de la memoria caché; y un proceso de E / S que operaba a la velocidad de la CPU. El propósito de los 4 buses de memoria era evitar conflictos. Un bus estaba reservado para instrucciones, un bus reservado para datos de salida y dos buses reservados para datos de entrada. La arquitectura de la memoria funcionó con eso permitiendo una operación superpuesta: para obtener datos de la memoria había 4 operaciones básicas: decodificación de dirección, transferencia de datos, recuperación y pausa (recarga para el próximo ciclo). La memoria física se organizó de tal manera que una dirección base provenía de un chip (o más para el paralelo), la siguiente dirección siempre vendría del siguiente bloque. Y había cuatro de esos bloques. Cada memoria tenía al menos 4 vías intercaladas. Esto permite que la decodificación de direcciones para la segunda unidad de datos se realice al mismo tiempo que los datos se transfirieron para los primeros datos. Y esto continuó mientras se consumían los datos. Lo mismo sucede con los datos de salida. La ventaja era que cada fase de transferencia de datos requería una marca de reloj. La PRIMERA transferencia tuvo que esperar las cuatro fases, pero solo hubo un tic en el reloj para cada dato subsiguiente. (Cray-1 – Wikipedia)

Finalmente (después de unos 20 años …) los microprocesadores alcanzaron la velocidad de las supercomputadoras más antiguas … pero la arquitectura de la memoria aún es lenta … La caché L1, L2, L3 y L4 del procesador tiene el mismo propósito que la arquitectura de bus múltiple de la primera supercomputadora. La diferencia es que el tamaño de la memoria caché solo ha alcanzado recientemente el tamaño de la memoria principal anterior (8–16 GB). Y tenga en cuenta que los cachés L4 se comparten con todos los núcleos en un chip, no con un núcleo. El conmutador de bus también está presente (entre el caché L2 / L3 y el caché L4). HOWERVER, E / S no se trata con la misma capacidad. El PCI-express habitual (que puede saturar la transferencia de memoria) es de aproximadamente 500 MB / seg. Rápido para la mayoría de los usos, pero no la velocidad de 1.2GB utilizada para la supercomputadora.

Las supercomputadoras basadas en clústeres actuales son combinaciones de computadoras multiprocesador (hasta aproximadamente 8–16 núcleos, pero pueden llegar hasta 32), pero las comunicaciones entre las computadoras usan un diseño personalizado (generalmente toro o hipercubo), con enrutadores especiales especiales . Estos son los mejores sistemas, y pueden usar millones de CPU (el Sunway TaihuLight chino, con sus 10,649,600 es el más rápido del mundo en este momento). Linux y China gobiernan el TOP500 de la supercomputación en 2016 | ZDNet

Los sistemas SMP grandes pueden tener hasta aproximadamente 512 – 4096 procesadores, pero su memoria se vuelve compleja (Acceso de memoria no uniforme – NUMA) intenta compensar manteniendo la memoria físicamente cerca de los procesadores (como 4 GB por procesador), pero accediendo a la memoria fuera de ese lleva más tiempo … y el sistema operativo tiene que hacer cosas para compensar, a veces haciendo que un proceso migre de una CPU a otra para mantener el procesamiento cerca de donde están los datos.

También se utilizan clústeres de bajo costo para aprender sobre el procesamiento en paralelo: por aproximadamente $ 5,000US es posible ensamblar un clúster Raspberry PI de 64 nodos con 256 procesadores. La red no es nada especial: solo un grupo de conmutadores Ethernet de 8 puertos interconectados para unir todos los nodos. 10 increíbles grupos de Raspberry Pi

[editar] – omitió el “por qué” …

Las supercomputadoras se usan para muchas cosas: como trabajan con datos en paralelo, son muy buenas para manejar tales problemas. Predicciones del tiempo, por ejemplo. Diseño de embarcaciones (casco y flujo de agua), diseño de aeronaves (flujo de aire). Astrofísica (simulación galáctica), Construcción de estructuras (análisis de estrés / terremoto), Farmacéutica (análisis de estructuras de proteínas …). Análisis de imágenes (datos satelitales …), incluso búsquedas de datos (adivina qué está usando Google …), AI, CGI para películas …

Hay un buen video