Esta es una buena pregunta, porque las personas que no conocen la historia de las supercomputadoras están obligadas a responderla de una manera que excluye la mayoría de los espacios de problemas interesantes a los que se podría aplicar una verdadera supercomputadora.
También tienen la idea de que “una vez que tengamos Quantum Computing, podremos resolver todos los problemas difíciles de forma más o menos instantánea”.
Esto no es verdad.
En su mayoría, lo que hoy llamamos supercomputadoras no es lo que Seymour Cray o Gene Amdahl habrían llamado “supercomputadoras”.
- ¿Por qué las leyes físicas son como son?
- Dado que el recuento de documentos publicados y el recuento de citas es tan abierto a la distorsión y al abuso, ¿deberían reemplazarse las métricas basadas en estas cosas?
- ¿Por qué un piloto de avión apaga las luces de la cabina antes de despegar y aterrizar? ¿Por qué se siguen otras precauciones?
- ¿Qué sucede geológicamente para hacer que un volcán se vuelva activo o inactivo?
- ¿Por qué la mayoría de los jainistas prefieren el comercio en lugar de la ciencia como su tema de dominio durante sus cursos preuniversitarios?
Esto se debe a que hay diferentes tipos de problemas, y cada tipo diferente define subconjuntos del espacio del problema que contiene el conjunto de todos los problemas posibles.
Para entender esto, tienes que entender la Ley de Amdahl. Aquí está:
[math] S_ {latency} (s) = \ dfrac {1} {(1-p) + \ frac {p} {s}} [/ math]
[math] S_ {latency} [/ math] es la aceleración teórica para la tarea
[math] s [/ math] es la aceleración de la parte de la tarea que se beneficia de recursos mejorados
[math] p [/ math] es la proporción de tiempo de ejecución que la parte que se benefició de la aceleración originalmente ocupada.
Lo que efectivamente dice esto es que las tareas que pueden dividirse en partes que pueden ejecutarse en paralelo se benefician de la adición de procesadores separados adicionales, cuanto más cerca esté el valor de p -> 1.
Esto es cierto para problemas que son vergonzosamente paralelos .
Para problemas que no son vergonzosamente paralelos, tenemos:
[math] \ displaystyle \ lim {s \ to \ infty} S_latency (s) = \ dfrac {1} {1-p} [/ math]
En otras palabras, la aceleración teórica de la paralelización siempre está limitada por la parte que no se puede lograr en paralelo.
Nota: la Ley de Amdahl en realidad se aplica a todos los recursos del sistema, pero para el propósito de esta discusión, el recurso interesante es el número de procesadores.
El resultado de la discusión anterior es que, para problemas con un valor de p -> 0, lanzar más hardware al problema no resuelve el problema más rápido.
Un procesador n segundos
512 procesadores? n segundos
Estos son los tipos de problemas que los supercomputadores originales fueron diseñados para resolver: todos los supercomputadores originales tenían un solo procesador, y el objetivo era hacer que ese único procesador haga los cálculos más rápido .
Incluso si pudiera hacer algo en paralelo, fue solo en el nivel de la paralelización virtual, ya que todos los cálculos se realizaron de forma lineal, a través del programador, en ese único procesador .
Así que hicimos procesadores más rápidos.
Tenemos muy buenos en eso.
Luego comenzamos a agregar procesadores para tratar algunos aspectos de los problemas que eran paralelizables.
Algunos, al principio, porque estábamos interesados en la coherencia de la memoria MESI, y aún no habíamos inventado realmente el acceso no uniforme a la memoria (NUMA). Esto fue antes de que un amigo mío y un par de sus amigos fueran contratados por los fundadores de Thinking Machines, Inc ..
Principalmente, fue utilizado por la Administración Nacional Oceánica y Atmosférica para mejores modelos de Predicción Numérica del Clima.
Una de las primeras máquinas masivas paralelas realmente interesantes tenía procesadores de 32K y se usaba para modelar el flujo de aire laminar a través de los diseños del transbordador espacial. Fue un hardware especialmente diseñado para la NASA. Fue construido por la Goodyear Tire and Rubber Company. Solo Dios sabe por qué; Probablemente ellos fueron los postores más bajos.
Basados en los primeros éxitos, construimos computadoras paralelas más grandes …
Entonces realmente comenzamos a lanzar hardware al problema de obtener la mayoría de los ciclos de cómputo.
El precio / rendimiento se convirtió en un problema bastante grande, y comenzamos a usar hardware básico como componentes: Commodity Off The Shelf (COTS).
Argumentaría que ese es el punto en el que las supercomputadoras perdieron su alma, y perdimos nuestra capacidad de construir supercomputadoras reales y, en cambio, comenzamos a construir clusters HPC ( computación de alto rendimiento ).
Al menos las personas que lo hicieron tuvieron la decencia de cambiarles el nombre de supercomputadoras, incluso si Wikipedia redirige HPC a “supercomputadoras”, y no reconoce la diferencia.
En ese punto, para los problemas donde p -> 0, las supercomputadoras se volvieron masivamente más lentas .
Y para problemas donde p -> 1, los clusters de HPC se volvieron masivamente más rápidos .
Y la computación cuántica, a menos que alguien resuelva el problema P versus NP a favor de que la respuesta sea P = NP, que, por cierto, incluso si prueba lo contrario, ganará $ 1,000,000, porque es un Problema del Premio del Milenio: También debe restringirse en su capacidad para acelerar los problemas a aquellos problemas donde p -> 1.
Creo que esto limita enormemente nuestro pensamiento sobre el universo.
Pienso que hemos ratholed, con una visión de túnel extrema en p -> 1 problemas, por lo que (en su mayoría) ni siquiera consideramos los problemas p -> 0.
Hemos eliminado una gran cantidad del espacio total de problemas de nuestra consideración como “problemas que son válidos e interesantes para tratar de resolver utilizando computación basada en máquina”.
Dado nuestro enfoque en el hardware básico, en la mayoría de los casos ni siquiera somos capaces de resolver algunos de los problemas en p -> 0 que pudimos resolver en el hardware que solíamos tener disponible en el pasado. Porque no tiene sentido gastar en uniprocesadores más rápidos para resolver los problemas que ya no estamos enfocados en resolver.
Es una vergüenza para la humanidad. Uno tiene que preguntarse cuántas civilizaciones extraterrestres hay por ahí que atravesaron ese mismo rathole, algunas incluso antes que nosotros, y nunca se convirtieron en razas de estrellas por eso.
Entonces, para responder a la pregunta original, ahora que tiene el contexto histórico y que se le ha explicado la Ley de Amdahl en términos simples:
El tipo de computación que hacen las supercomputadoras hoy en día está bastante limitado a la pequeña parte del conjunto de todos los problemas en el universo donde p -> 1.
Cuanto más cerca que p se acerca a 1, se consideran los problemas más “interesantes”.
Esto se debe a que “la computación cuántica es genial” y porque no tenemos que pensar mucho más allá de “simplemente lanzar más hardware al problema”.
Sí. En el subconjunto del espacio del problema donde p -> 1. Ahí es donde “supercomputación” ocurre hoy.