Una supercomputadora es un tipo de computadora con un alto nivel de rendimiento en comparación con una computadora de propósito general. El rendimiento de una supercomputadora se mide comúnmente en operaciones de punto flotante por segundo ( FLOPS ) en lugar de millones de instrucciones por segundo (MIPS). Desde 2022, existen supercomputadoras que pueden realizar más de 10 18 FLOPS, las llamadas supercomputadoras de exaescala . [3] A modo de comparación, una computadora de escritorio tiene un rendimiento en el rango de cientos de gigaFLOPS (10 11 ) a decenas de teraFLOPS (10 13 ). [4] [5] Desde noviembre de 2017, todas las 500 supercomputadoras más rápidas del mundo funcionan con sistemas operativos basados en Linux . [6] Se están realizando investigaciones adicionales en los Estados Unidos, la Unión Europea, Taiwán, Japón y China para construir supercomputadoras de exaescala más rápidas, más potentes y tecnológicamente superiores. [7]
Las supercomputadoras desempeñan un papel importante en el campo de la ciencia computacional y se utilizan para una amplia gama de tareas computacionalmente intensivas en varios campos, incluyendo la mecánica cuántica , la predicción meteorológica , la investigación climática , la exploración de petróleo y gas , el modelado molecular (computación de las estructuras y propiedades de compuestos químicos, macromoléculas biológicas , polímeros y cristales) y simulaciones físicas (como simulaciones de los primeros momentos del universo, la aerodinámica de aviones y naves espaciales , la detonación de armas nucleares y la fusión nuclear ). Han sido esenciales en el campo del criptoanálisis . [8]
Las supercomputadoras se introdujeron en la década de 1960 y, durante varias décadas, la más rápida fue la fabricada por Seymour Cray en Control Data Corporation (CDC), Cray Research y las empresas posteriores que llevaban su nombre o monograma. Las primeras máquinas de este tipo eran diseños convencionales altamente optimizados que funcionaban más rápido que sus contemporáneas de propósito más general. A lo largo de la década, se añadieron cantidades cada vez mayores de paralelismo , siendo lo típico tener de uno a cuatro procesadores . En la década de 1970, los procesadores vectoriales que operaban con grandes conjuntos de datos llegaron a dominar. Un ejemplo notable es el exitoso Cray-1 de 1976. Las computadoras vectoriales siguieron siendo el diseño dominante hasta la década de 1990. Desde entonces hasta hoy, las supercomputadoras masivamente paralelas con decenas de miles de procesadores listos para usar se convirtieron en la norma. [9] [10]
Estados Unidos ha sido durante mucho tiempo el líder en el campo de las supercomputadoras, primero a través del dominio casi ininterrumpido de Cray en el campo, y luego a través de una variedad de empresas de tecnología. Japón hizo grandes avances en el campo en las décadas de 1980 y 1990, y China se volvió cada vez más activa en el campo. A partir de junio de 2024, la supercomputadora más rápida en la lista de supercomputadoras TOP500 es Frontier , en los EE. UU., con una puntuación de referencia LINPACK de 1,102 exaFLOPS , seguida de Aurora . Estados Unidos tiene cinco de las 10 mejores; Japón, Finlandia, Suiza, Italia y España tienen uno cada uno. [11] En junio de 2018, todas las supercomputadoras combinadas en la lista TOP500 rompieron la marca de 1 exaFLOPS. [12]
En 1960, UNIVAC construyó el Livermore Atomic Research Computer (LARC), considerado hoy entre los primeros superordenadores, para el Centro de Investigación y Desarrollo de la Armada de los EE. UU. Todavía utilizaba memoria de tambor de alta velocidad, en lugar de la tecnología de unidad de disco emergente . [13] Además, entre los primeros superordenadores estaba el IBM 7030 Stretch . El IBM 7030 fue construido por IBM para el Laboratorio Nacional de Los Álamos , que en 1955 había solicitado un ordenador 100 veces más rápido que cualquier ordenador existente. El IBM 7030 utilizaba transistores , memoria de núcleo magnético, instrucciones canalizadas , datos precargados a través de un controlador de memoria e incluía unidades de disco de acceso aleatorio pioneras. El IBM 7030 se completó en 1961 y, a pesar de no cumplir con el reto de un aumento de cien veces en el rendimiento, fue comprado por el Laboratorio Nacional de Los Álamos. Los clientes de Inglaterra y Francia también compraron el ordenador, y se convirtió en la base del IBM 7950 Harvest , un superordenador construido para el criptoanálisis . [14]
El tercer proyecto pionero de supercomputadoras a principios de los años 1960 fue el Atlas de la Universidad de Manchester , construido por un equipo dirigido por Tom Kilburn . Diseñó el Atlas para que tuviera espacio de memoria para hasta un millón de palabras de 48 bits, pero debido a que el almacenamiento magnético con tal capacidad era inasequible, la memoria central real del Atlas era de solo 16.000 palabras, con un tambor que proporcionaba memoria para otras 96.000 palabras. El Supervisor Atlas intercambiaba datos en forma de páginas entre el núcleo magnético y el tambor. El sistema operativo Atlas también introdujo el tiempo compartido en la supercomputación, de modo que se pudiera ejecutar más de un programa en la supercomputadora en cualquier momento. [15] Atlas fue una empresa conjunta entre Ferranti y la Universidad de Manchester y fue diseñado para operar a velocidades de procesamiento cercanas a un microsegundo por instrucción, aproximadamente un millón de instrucciones por segundo. [16]
El CDC 6600 , diseñado por Seymour Cray , se terminó en 1964 y marcó la transición de los transistores de germanio a los de silicio . Los transistores de silicio podían funcionar más rápido y el problema del sobrecalentamiento se resolvió introduciendo la refrigeración en el diseño de supercomputadoras. [17] De esta forma, el CDC6600 se convirtió en la computadora más rápida del mundo. Dado que el 6600 superó a todas las demás computadoras contemporáneas en aproximadamente 10 veces, se lo denominó supercomputadora y definió el mercado de la supercomputación, cuando se vendieron cien computadoras a 8 millones de dólares cada una. [18] [19] [20] [21]
Cray dejó CDC en 1972 para formar su propia empresa, Cray Research . [19] Cuatro años después de dejar CDC, Cray entregó el Cray-1 de 80 MHz en 1976, que se convirtió en uno de los superordenadores más exitosos de la historia. [22] [23] El Cray-2 fue lanzado en 1985. Tenía ocho unidades centrales de procesamiento (CPU), refrigeración líquida y el líquido refrigerante de la electrónica Fluorinert se bombeaba a través de la arquitectura del superordenador . Alcanzó 1,9 gigaFLOPS , lo que lo convirtió en el primer superordenador en romper la barrera del gigaflop. [24]
El único ordenador que desafió seriamente el rendimiento del Cray-1 en la década de 1970 fue el ILLIAC IV . Esta máquina fue el primer ejemplo real de un ordenador masivamente paralelo , en el que muchos procesadores trabajaban juntos para resolver diferentes partes de un único problema mayor. A diferencia de los sistemas vectoriales, que estaban diseñados para ejecutar un único flujo de datos lo más rápido posible, en este concepto, el ordenador alimenta partes separadas de los datos a procesadores completamente diferentes y luego recombina los resultados. El diseño del ILLIAC se finalizó en 1966 con 256 procesadores y ofrece una velocidad de hasta 1 GFLOPS, en comparación con el pico de 250 MFLOPS del Cray-1 de la década de 1970. Sin embargo, los problemas de desarrollo llevaron a que solo se construyeran 64 procesadores, y el sistema nunca pudo funcionar más rápido que unos 200 MFLOPS, a la vez que era mucho más grande y complejo que el Cray. Otro problema era que escribir software para el sistema era difícil, y obtener el máximo rendimiento de él era una cuestión de gran esfuerzo.
Pero el éxito parcial del ILLIAC IV fue visto ampliamente como un indicador del camino hacia el futuro de la supercomputación. Cray argumentó en contra de esto, bromeando con la famosa frase "Si estuvieras arando un campo, ¿qué preferirías usar? ¿Dos bueyes fuertes o 1024 pollos?" [25] Pero a principios de la década de 1980, varios equipos estaban trabajando en diseños paralelos con miles de procesadores, en particular la Connection Machine (CM) que se desarrolló a partir de la investigación en el MIT . El CM-1 utilizó nada menos que 65.536 microprocesadores personalizados simplificados conectados entre sí en una red para compartir datos. Le siguieron varias versiones actualizadas; el superordenador CM-5 es un ordenador de procesamiento paralelo masivo capaz de realizar muchos miles de millones de operaciones aritméticas por segundo. [26]
En 1982, el sistema de gráficos por computadora LINKS-1 de la Universidad de Osaka utilizó una arquitectura de procesamiento masivamente paralela , con 514 microprocesadores , incluidos 257 procesadores de control Zilog Z8001 y 257 procesadores de punto flotante iAPX 86/20 . Se utilizó principalmente para renderizar gráficos de computadora 3D realistas . [27] El VPP500 de Fujitsu de 1992 es inusual ya que, para lograr velocidades más altas, sus procesadores usaban GaAs , un material normalmente reservado para aplicaciones de microondas debido a su toxicidad. [28] La supercomputadora de túnel de viento numérico de Fujitsu usó 166 procesadores vectoriales para obtener el primer puesto en 1994 con una velocidad máxima de 1,7 gigaFLOPS (GFLOPS) por procesador. [29] [30] El Hitachi SR2201 obtuvo un rendimiento máximo de 600 GFLOPS en 1996 al utilizar 2048 procesadores conectados a través de una red de barras cruzadas tridimensional rápida . [31] [32] [33] El Intel Paragon podía tener de 1000 a 4000 procesadores Intel i860 en varias configuraciones y fue clasificado como el más rápido del mundo en 1993. El Paragon era una máquina MIMD que conectaba procesadores a través de una malla bidimensional de alta velocidad, lo que permitía que los procesos se ejecutaran en nodos separados, comunicándose a través de la interfaz de paso de mensajes . [34]
El desarrollo de software siguió siendo un problema, pero la serie CM desencadenó una considerable investigación sobre este tema. Muchas empresas realizaron diseños similares utilizando hardware personalizado, incluidas Evans & Sutherland ES-1 , MasPar , nCUBE , Intel iPSC y Goodyear MPP . Pero a mediados de la década de 1990, el rendimiento de las CPU de propósito general había mejorado tanto que se podía construir una supercomputadora utilizándolas como unidades de procesamiento individuales, en lugar de utilizar chips personalizados. A principios del siglo XXI, los diseños que presentaban decenas de miles de CPU de consumo eran la norma, y las máquinas posteriores agregaron unidades gráficas a la mezcla. [9] [10]
En 1998, David Bader desarrolló la primera supercomputadora Linux usando componentes de consumo. [35] Mientras estaba en la Universidad de Nuevo México, Bader buscó construir una supercomputadora que ejecutara Linux usando componentes de consumo listos para usar y una red de interconexión de baja latencia y alta velocidad. El prototipo utilizó un "AltaCluster" de Alta Technologies de ocho computadoras duales Intel Pentium II de 333 MHz que ejecutaban un núcleo Linux modificado. Bader adaptó una cantidad significativa de software para brindar soporte Linux para los componentes necesarios, así como código de miembros de la National Computational Science Alliance (NCSA) para garantizar la interoperabilidad, ya que ninguno de ellos se había ejecutado en Linux anteriormente. [36] Usando el exitoso diseño del prototipo, dirigió el desarrollo de "RoadRunner", la primera supercomputadora Linux para uso abierto por la comunidad científica y de ingeniería nacional a través de la National Technology Grid de la National Science Foundation. RoadRunner se puso en producción en abril de 1999. En el momento de su implementación, se consideró una de las 100 supercomputadoras más rápidas del mundo. [36] [37] Aunque los clústeres basados en Linux que usaban componentes de nivel de consumidor, como Beowulf , existían antes del desarrollo del prototipo de Bader y RoadRunner, carecían de la escalabilidad, el ancho de banda y las capacidades de computación paralela para ser considerados supercomputadoras "verdaderas". [36]
Los sistemas con una gran cantidad de procesadores generalmente toman uno de dos caminos. En el enfoque de computación en cuadrícula , la potencia de procesamiento de muchas computadoras, organizadas como dominios administrativos distribuidos y diversos, se utiliza de manera oportunista siempre que haya una computadora disponible. [38] En otro enfoque, se utilizan muchos procesadores cerca unos de otros, por ejemplo, en un clúster de computadoras . En un sistema masivamente paralelo tan centralizado, la velocidad y la flexibilidad de losLa interconexión se vuelve muy importante y las supercomputadoras modernas han utilizado varios enfoques que van desdeInfinibandinterconexiones de torotridimensionales.[39][40]El uso deprocesadores multinúcleocombinados con centralización es una dirección emergente, por ejemplo, como en elCyclops64.[41][42]
A medida que el precio, el rendimiento y la eficiencia energética de las unidades de procesamiento gráfico de propósito general (GPGPU) han mejorado, una serie de supercomputadoras de petaFLOPS como Tianhe-I y Nebulae han comenzado a depender de ellas. [43] Sin embargo, otros sistemas como la computadora K continúan utilizando procesadores convencionales como los diseños basados en SPARC y la aplicabilidad general de las GPGPU en aplicaciones informáticas de alto rendimiento de propósito general ha sido objeto de debate, en el sentido de que, si bien una GPGPU puede ajustarse para obtener buenos resultados en puntos de referencia específicos, su aplicabilidad general a algoritmos cotidianos puede ser limitada a menos que se dedique un esfuerzo significativo a ajustar la aplicación a ella. [44] Sin embargo, las GPU están ganando terreno y en 2012 la supercomputadora Jaguar se transformó en Titan al modernizar las CPU con GPU. [45] [46] [47]
Las computadoras de alto rendimiento tienen un ciclo de vida esperado de aproximadamente tres años antes de requerir una actualización. [48] La supercomputadora Gyoukou es única porque utiliza un diseño masivamente paralelo y enfriamiento por inmersión líquida .
Se han diseñado varios sistemas de propósito especial dedicados a un solo problema. Esto permite el uso de chips FPGA especialmente programados o incluso ASIC personalizados , lo que permite mejores relaciones precio/rendimiento al sacrificar la generalidad. Ejemplos de supercomputadoras de propósito especial incluyen Belle , [49] Deep Blue , [50] e Hydra [51] para jugar al ajedrez , Gravity Pipe para astrofísica, [52] MDGRAPE-3 para la predicción de la estructura de proteínas y la dinámica molecular, [53] y Deep Crack para descifrar el cifrado DES . [54]
A lo largo de las décadas, la gestión de la densidad de calor ha seguido siendo un tema clave para la mayoría de las supercomputadoras centralizadas. [57] [58] [59] La gran cantidad de calor generada por un sistema también puede tener otros efectos, por ejemplo, reducir la vida útil de otros componentes del sistema. [60] Ha habido diversos enfoques para la gestión del calor, desde bombear Fluorinert a través del sistema, hasta un sistema híbrido de enfriamiento líquido-aire o enfriamiento por aire con temperaturas de aire acondicionado normales . [61] [62] Una supercomputadora típica consume grandes cantidades de energía eléctrica, casi toda la cual se convierte en calor, lo que requiere enfriamiento. Por ejemplo, Tianhe-1A consume 4,04 megavatios (MW) de electricidad. [63] El costo de alimentar y enfriar el sistema puede ser significativo, por ejemplo, 4 MW a $ 0,10 / kWh son $ 400 por hora o aproximadamente $ 3,5 millones por año.
La gestión del calor es un problema importante en los dispositivos electrónicos complejos y afecta a los sistemas informáticos potentes de diversas maneras. [64] Los problemas de potencia de diseño térmico y disipación de potencia de la CPU en la supercomputación superan a los de las tecnologías de refrigeración informáticas tradicionales . Los premios de supercomputación para la computación ecológica reflejan esta cuestión. [65] [66] [67]
El hecho de juntar miles de procesadores genera inevitablemente una cantidad significativa de densidad térmica que es necesario controlar. El Cray-2 se enfriaba con líquido y utilizaba una "cascada de enfriamiento" Fluorinert que se impulsaba a través de los módulos bajo presión. [61] Sin embargo, el método de enfriamiento líquido sumergido no era práctico para los sistemas de múltiples gabinetes basados en procesadores estándar, y en el Sistema X se desarrolló un sistema de enfriamiento especial que combinaba aire acondicionado con enfriamiento líquido en conjunto con la empresa Liebert . [62]
En el sistema Blue Gene , IBM utilizó deliberadamente procesadores de bajo consumo para lidiar con la densidad de calor. [68] El IBM Power 775 , lanzado en 2011, tiene elementos muy juntos que requieren refrigeración por agua. [69] El sistema IBM Aquasar utiliza refrigeración por agua caliente para lograr eficiencia energética, y el agua también se utiliza para calentar edificios. [70] [71]
La eficiencia energética de los sistemas informáticos se mide generalmente en términos de " FLOPS por vatio ". En 2008, Roadrunner de IBM operaba a 376 MFLOPS/W . [72] [73] En noviembre de 2010, el Blue Gene/Q alcanzó 1.684 MFLOPS/W [74] [75] y en junio de 2011 los dos primeros puestos de la lista Green 500 estaban ocupados por máquinas Blue Gene en Nueva York (una alcanzó 2097 MFLOPS/W) con el clúster DEGIMA en Nagasaki en tercer lugar con 1375 MFLOPS/W. [76]
Debido a que los cables de cobre pueden transferir energía a una supercomputadora con densidades de potencia mucho más altas que el aire forzado o los refrigerantes circulantes pueden eliminar el calor residual , [77] la capacidad de los sistemas de enfriamiento para eliminar el calor residual es un factor limitante. [78] [79] A partir de 2015 [actualizar], muchas supercomputadoras existentes tienen más capacidad de infraestructura que la demanda máxima real de la máquina: los diseñadores generalmente diseñan de manera conservadora la infraestructura de energía y enfriamiento para manejar más que la potencia eléctrica máxima teórica consumida por la supercomputadora. Los diseños para futuras supercomputadoras están limitados en energía: la potencia de diseño térmico de la supercomputadora en su conjunto, la cantidad que la infraestructura de energía y enfriamiento puede manejar, es algo más que el consumo de energía normal esperado, pero menor que el consumo de energía pico teórico del hardware electrónico. [80]
Desde finales del siglo XX, los sistemas operativos de las supercomputadoras han sufrido importantes transformaciones, basadas en los cambios en la arquitectura de las supercomputadoras . [81] Si bien los primeros sistemas operativos se adaptaron a cada supercomputadora para ganar velocidad, la tendencia ha sido alejarse de los sistemas operativos internos hacia la adaptación de software genérico como Linux . [82]
Dado que las supercomputadoras modernas masivamente paralelas suelen separar los cálculos de otros servicios mediante el uso de múltiples tipos de nodos , normalmente ejecutan diferentes sistemas operativos en diferentes nodos, por ejemplo, utilizando un núcleo liviano pequeño y eficiente como CNK o CNL en los nodos de cómputo, pero un sistema más grande como un derivado de Linux en los nodos de servidor y de E/S . [83] [84] [85]
Mientras que en un sistema informático multiusuario tradicional la programación de tareas es, en efecto, un problema de asignación de tareas para recursos de procesamiento y periféricos, en un sistema masivamente paralelo, el sistema de gestión de tareas necesita gestionar la asignación de recursos computacionales y de comunicación, así como lidiar con elegancia con las inevitables fallas de hardware cuando hay decenas de miles de procesadores presentes. [86]
Aunque la mayoría de las supercomputadoras modernas utilizan sistemas operativos basados en Linux , cada fabricante tiene su propio derivado específico de Linux y no existe un estándar industrial, en parte debido al hecho de que las diferencias en las arquitecturas de hardware requieren cambios para optimizar el sistema operativo para cada diseño de hardware. [81] [87]
Las arquitecturas paralelas de las supercomputadoras a menudo exigen el uso de técnicas de programación especiales para aprovechar su velocidad. Las herramientas de software para el procesamiento distribuido incluyen API estándar como MPI [89] y PVM , VTL y software de código abierto como Beowulf .
En el escenario más común, se utilizan entornos como PVM y MPI para clústeres conectados de forma flexible y OpenMP para máquinas de memoria compartida estrechamente coordinadas. Se requiere un esfuerzo significativo para optimizar un algoritmo para las características de interconexión de la máquina en la que se ejecutará; el objetivo es evitar que alguna de las CPU pierda tiempo esperando datos de otros nodos. Las GPGPU tienen cientos de núcleos de procesador y se programan utilizando modelos de programación como CUDA u OpenCL .
Además, es bastante difícil depurar y probar programas paralelos. Es necesario utilizar técnicas especiales para probar y depurar dichas aplicaciones.
La supercomputación oportunista es una forma de computación en red en cuadrícula mediante la cual una "supercomputadora virtual" de muchas máquinas de computación voluntarias acopladas de forma flexible realiza tareas de computación muy grandes. La computación en cuadrícula se ha aplicado a una serie de problemas a gran escala vergonzosamente paralelos que requieren escalas de rendimiento de supercomputación. Sin embargo, los enfoques básicos de computación en cuadrícula y en la nube que dependen de la computación voluntaria no pueden manejar tareas de supercomputación tradicionales como las simulaciones de dinámica de fluidos. [90]
El sistema de computación en red más rápido es el proyecto de computación voluntaria Folding@home (F@h). En abril de 2020 [actualizar], F@h informó de 2,5 exaFLOPS de potencia de procesamiento x86 . De esta cantidad, más de 100 PFLOPS son aportados por clientes que se ejecutan en varias GPU y el resto por varios sistemas de CPU. [91]
La plataforma Berkeley Open Infrastructure for Network Computing (BOINC) alberga una serie de proyectos informáticos voluntarios. En febrero de 2017 [actualizar], BOINC registró una potencia de procesamiento de más de 166 petaFLOPS a través de más de 762 mil computadoras (hosts) activas en la red. [92]
En octubre de 2016 [actualizar], la búsqueda Mersenne Prime distribuida de Great Internet Mersenne Prime Search ( GIMPS) logró aproximadamente 0,313 PFLOPS a través de más de 1,3 millones de computadoras. [93] El servidor PrimeNet ha respaldado el enfoque de computación en cuadrícula de GIMPS, uno de los primeros proyectos de computación voluntaria, desde 1997.
La supercomputación cuasi-oportunista es una forma de computación distribuida en la que la "supercomputadora virtual" de muchas computadoras en red y geográficamente dispersas realiza tareas de computación que demandan una enorme potencia de procesamiento. [94] La supercomputación cuasi-oportunista tiene como objetivo proporcionar una mayor calidad de servicio que la computación en red oportunista logrando un mayor control sobre la asignación de tareas a recursos distribuidos y el uso de inteligencia sobre la disponibilidad y confiabilidad de sistemas individuales dentro de la red de supercomputación. Sin embargo, la ejecución distribuida cuasi-oportunista de software de computación paralela exigente en redes debe lograrse mediante la implementación de acuerdos de asignación a nivel de red, subsistemas de co-asignación, mecanismos de asignación que tengan en cuenta la topología de comunicación, bibliotecas de paso de mensajes tolerantes a fallas y preacondicionamiento de datos. [94]
La computación en la nube, con su reciente y rápida expansión y desarrollo, ha captado la atención de los usuarios y desarrolladores de computación de alto rendimiento (HPC) en los últimos años. La computación en la nube intenta proporcionar HPC como servicio exactamente como otras formas de servicios disponibles en la nube, como software como servicio , plataforma como servicio e infraestructura como servicio . Los usuarios de HPC pueden beneficiarse de la nube en diferentes ángulos, como la escalabilidad, los recursos a pedido, la rapidez y el bajo costo. Por otro lado, mover aplicaciones HPC también tiene un conjunto de desafíos. Buenos ejemplos de tales desafíos son la sobrecarga de virtualización en la nube, la multi-tenencia de recursos y los problemas de latencia de la red. Actualmente se están realizando muchas investigaciones para superar estos desafíos y hacer que la HPC en la nube sea una posibilidad más realista. [95] [96] [97] [98]
En 2016, Penguin Computing, Parallel Works, R-HPC, Amazon Web Services , Univa , Silicon Graphics International , Rescale , Sabalcore y Gomput comenzaron a ofrecer computación en la nube HPC . La nube Penguin On Demand (POD) es un modelo de computación de hardware para ejecutar código, pero a cada usuario se le proporciona un nodo de inicio de sesión virtualizado . Los nodos de computación POD están conectados a través de redes Ethernet de 10 Gbit/s no virtualizadas o InfiniBand QDR . La conectividad del usuario al centro de datos POD varía de 50 Mbit/s a 1 Gbit/s. [99] Citando EC2 Elastic Compute Cloud de Amazon, Penguin Computing argumenta que la virtualización de los nodos de computación no es adecuada para HPC. Penguin Computing también ha criticado que las nubes HPC pueden haber asignado nodos de computación a clientes que están muy separados, lo que provoca una latencia que perjudica el rendimiento de algunas aplicaciones HPC. [100]
Las supercomputadoras generalmente apuntan a la máxima capacidad de computación en lugar de a la computación por capacidad. La computación por capacidad se considera típicamente como el uso de la máxima potencia de computación para resolver un único gran problema en el menor tiempo posible. A menudo, un sistema de capacidad es capaz de resolver un problema de un tamaño o complejidad que ninguna otra computadora puede, por ejemplo, una aplicación de simulación meteorológica muy compleja . [101]
Por el contrario, la computación de capacidad se considera generalmente como el uso de potencia informática eficiente y rentable para resolver unos pocos problemas relativamente grandes o muchos problemas pequeños. [101] Las arquitecturas que se prestan a dar soporte a muchos usuarios para tareas cotidianas rutinarias pueden tener mucha capacidad, pero no suelen considerarse supercomputadoras, dado que no resuelven un solo problema muy complejo. [101]
En general, la velocidad de las supercomputadoras se mide y se evalúa en FLOPS (operaciones de punto flotante por segundo), y no en términos de MIPS (millones de instrucciones por segundo), como es el caso de las computadoras de propósito general. [102] Estas medidas se usan comúnmente con un prefijo SI como tera- , combinado en la abreviatura TFLOPS (10 12 FLOPS, pronunciado teraflops ), o peta- , combinado en la abreviatura PFLOPS (10 15 FLOPS, pronunciado petaflops ). Las supercomputadoras a petaescala pueden procesar un cuatrillón (10 15 ) (1000 billones) de FLOPS. La exaescala es el rendimiento computacional en el rango de exaFLOPS (EFLOPS). Un EFLOPS es un quintillón (10 18 ) de FLOPS (un millón de TFLOPS). Sin embargo, el rendimiento de una supercomputadora puede verse gravemente afectado por fluctuaciones provocadas por elementos como la carga del sistema, el tráfico de red y los procesos concurrentes, como lo mencionan Brehm y Bruhwiler (2015). [103]
Ningún número puede reflejar el rendimiento general de un sistema informático, pero el objetivo del benchmark Linpack es aproximarse a la velocidad con la que el ordenador resuelve problemas numéricos y se utiliza ampliamente en la industria. [104] La medición de FLOPS se cita en función del rendimiento teórico de punto flotante de un procesador (derivado de las especificaciones del procesador del fabricante y mostrado como "Rpeak" en las listas TOP500), que generalmente es inalcanzable cuando se ejecutan cargas de trabajo reales, o el rendimiento alcanzable, derivado de los benchmarks LINPACK y mostrado como "Rmax" en la lista TOP500. [105] El benchmark LINPACK normalmente realiza la descomposición LU de una matriz grande. [106] El rendimiento LINPACK da alguna indicación del rendimiento para algunos problemas del mundo real, pero no necesariamente coincide con los requisitos de procesamiento de muchas otras cargas de trabajo de supercomputadoras, que, por ejemplo, pueden requerir más ancho de banda de memoria, o pueden requerir un mejor rendimiento de computación de números enteros, o pueden necesitar un sistema de E/S de alto rendimiento para lograr altos niveles de rendimiento. [104]
Desde 1993, las supercomputadoras más rápidas se clasifican en la lista TOP500 según sus resultados en el análisis comparativo LINPACK . La lista no pretende ser imparcial ni definitiva, pero es una definición actual y ampliamente citada de la supercomputadora "más rápida" disponible en un momento dado.
Esta es una lista de las computadoras que aparecieron en la parte superior de la lista TOP500 desde junio de 1993, [107] y la "velocidad máxima" se da como la clasificación "Rmax". En 2018, Lenovo se convirtió en el proveedor más grande del mundo para las supercomputadoras TOP500 con 117 unidades producidas. [108]
Las etapas de la aplicación de una supercomputadora se pueden resumir en la siguiente tabla:
El ordenador IBM Blue Gene /P ha sido utilizado para simular un número de neuronas artificiales equivalente a aproximadamente el uno por ciento de la corteza cerebral humana, que contiene 1.600 millones de neuronas con aproximadamente 9 billones de conexiones. El mismo grupo de investigación también logró utilizar un superordenador para simular un número de neuronas artificiales equivalente a la totalidad del cerebro de una rata. [120]
Las predicciones meteorológicas modernas también dependen de supercomputadoras. La Administración Nacional Oceánica y Atmosférica utiliza supercomputadoras para procesar cientos de millones de observaciones que ayudan a hacer predicciones meteorológicas más precisas. [121]
En 2011, los desafíos y dificultades para ampliar los límites de la supercomputación quedaron subrayados por el abandono por parte de IBM del proyecto de petaescala Blue Waters . [122]
El Programa de Simulación y Computación Avanzada utiliza actualmente supercomputadoras para mantener y simular el arsenal nuclear de los Estados Unidos. [123]
A principios de 2020, la COVID-19 ocupaba un lugar central en el mundo. Las supercomputadoras utilizaban diferentes simulaciones para encontrar compuestos que pudieran detener la propagación. Estas computadoras funcionaban durante decenas de horas utilizando múltiples CPU que se ejecutaban en paralelo para modelar diferentes procesos. [124] [125] [126]
En la década de 2010, China, Estados Unidos, la Unión Europea y otros compitieron para ser los primeros en crear una supercomputadora de 1 exaFLOP (10 18 o un quintillón de FLOPS). [127] Erik P. DeBenedictis de Sandia National Laboratories ha teorizado que se requiere una computadora de zettaFLOPS (10 21 o un sextillón de FLOPS) para lograr un modelado meteorológico completo , que podría cubrir un lapso de tiempo de dos semanas con precisión. [128] [129] [130] Dichos sistemas podrían construirse alrededor de 2030. [131]
Muchas simulaciones de Monte Carlo utilizan el mismo algoritmo para procesar un conjunto de datos generados aleatoriamente; en particular, ecuaciones integro-diferenciales que describen procesos de transporte físico , trayectorias aleatorias , colisiones y depósitos de energía y momento de neutrones, fotones, iones, electrones, etc.El siguiente paso para los microprocesadores puede ser la tercera dimensión ; y especializándose en Monte Carlo, las muchas capas podrían ser idénticas, simplificando el proceso de diseño y fabricación. [132]
El costo de operar supercomputadoras de alto rendimiento ha aumentado, principalmente debido al creciente consumo de energía. A mediados de la década de 1990, una supercomputadora del top 10 requería en el rango de 100 kilovatios, en 2010 las 10 supercomputadoras más importantes requerían entre 1 y 2 megavatios. [133] Un estudio de 2010 encargado por DARPA identificó el consumo de energía como el desafío más generalizado para lograr la computación a exaescala . [134] En ese momento, un megavatio por año en consumo de energía costaba alrededor de 1 millón de dólares. Las instalaciones de supercomputación se construyeron para eliminar de manera eficiente la creciente cantidad de calor producida por las modernas unidades centrales de procesamiento de múltiples núcleos . Con base en el consumo de energía de la lista Green 500 de supercomputadoras entre 2007 y 2011, una supercomputadora con 1 exaFLOPS en 2011 habría requerido casi 500 megavatios. Se desarrollaron sistemas operativos para el hardware existente para conservar energía siempre que fuera posible. [135] Los núcleos de CPU que no se utilizaban durante la ejecución de una aplicación paralelizada se pusieron en estados de bajo consumo, lo que produjo ahorros de energía para algunas aplicaciones de supercomputación. [136]
El aumento del coste de funcionamiento de las supercomputadoras ha sido un factor impulsor de una tendencia hacia la agrupación de recursos a través de una infraestructura de supercomputadoras distribuida. Los centros nacionales de supercomputación surgieron primero en los EE. UU., seguidos por Alemania y Japón. La Unión Europea lanzó la Asociación para la Computación Avanzada en Europa (PRACE) con el objetivo de crear una infraestructura de supercomputadoras paneuropea persistente con servicios para apoyar a los científicos de toda la Unión Europea en la portabilidad, escalado y optimización de aplicaciones de supercomputación. [133] Islandia construyó la primera supercomputadora de cero emisiones del mundo. Ubicada en el Centro de Datos Thor en Reykjavík , Islandia, esta supercomputadora depende de fuentes completamente renovables para su energía en lugar de combustibles fósiles. El clima más frío también reduce la necesidad de enfriamiento activo, lo que la convierte en una de las instalaciones más ecológicas en el mundo de las computadoras. [137]
La financiación del hardware de los superordenadores también se hizo cada vez más difícil. A mediados de los años 1990, un superordenador de los 10 primeros puestos costaba unos 10 millones de euros, mientras que en 2010 los 10 primeros puestos requerían una inversión de entre 40 y 50 millones de euros. [133] En la década de 2000, los gobiernos nacionales pusieron en marcha diferentes estrategias para financiar los superordenadores. En el Reino Unido, el gobierno nacional financió los superordenadores en su totalidad y la informática de alto rendimiento quedó bajo el control de una agencia de financiación nacional. Alemania desarrolló un modelo de financiación mixto, que agrupaba la financiación estatal local y la financiación federal. [133]
Entre los ejemplos de supercomputadoras en la ficción se incluyen HAL 9000 , Multivac , The Machine Stops , GLaDOS , The Evitable Conflict , Vulcan's Hammer , Colossus , WOPR , AM y Deep Thought . Se mencionó una supercomputadora de Thinking Machines como la supercomputadora utilizada para secuenciar el ADN extraído de parásitos preservados en la serie Jurassic Park .
Realiza 376 millones de cálculos por cada vatio de electricidad utilizado.
IBM... sistema BlueGene/Q... estableciendo un récord en eficiencia energética con un valor de 1.680 MFLOPS/W, más del doble que el siguiente mejor sistema.
{{cite web}}
: Mantenimiento de CS1: postscript ( enlace )